I have created a MQX KSDK plus Processor Expert project using MXQ_KSDK_1.0.0 for the FRDM-K64F board following the tutorial MQX with KSDK and Processor Expert. If I add a fsl_uart component it has the "Auto Initialization" checked by default:
This causes a call to UART_DRV_Init() from inside Components_Init() which is called from PE_low_level_init() which is called from main(). This is all done before the call to PEX_RTOS_START() in main(). The problem is that UART_DRV_Init() includes calls to OSA_SemaCreate() before the kernel data structures are initialized and the code crashes. If you uncheck the "Auto Initialization" box then this code sequence is avoided and the remaining code will run. Is there a recommended way of using the fsl_uart component with MQX so that the initialization occurs after MQX is up and running? How then is fsl_uart coupled in to the MQX IO layer?