Hello,
I have two applications bootloader and UserApp. In bootloader, I am using UART to print my trace logs using LPUART_DRV_SendDataBlocking API. Before jumping to UserApp, I am doing all deinit calls
ex.
LPUART_DRV_AbortSendingData(INST_LPUART1);
LPUART_DRV_Deinit(INST_LPUART1);
INT_SYS_DisableIRQGlobal();
EDMA_DRV_Deinit();
RTC_DRV_Deinit(RTCTIMER1);
JumpToUserApplication(<given address>);
But after that , I do not get any print from UserApp (it appears as if UserApp is not running at all from serial terminal, but I suspect UART is not working.)
To have an experiment, I changed a UART call from LPUART_DRV_SendDataBlocking to LPUART_DRV_SendData (no blocking) then with above deinitializations, I can see proper debug logs getting printed from application.
Can you please help me on, how I can still use LPUART_DRV_SendDataBlocking and can get proper logs from application as well ?
I feel, I am missing something in the process of deinitiazation in bootloader before jumping to UserApp.
More details about the setup :
-Board S32K148 EVB
-Flashing a binary (having bootloader as well as UserApp) in one go with JLink.exe
- For UART logs , I am using Teraterm and OpenSDA micro USB