Hi Team,
We were working with S32G-VNP-RDB2. And we wanted to get hands-on on the UART example given in S32 Design Studio(Uart_Example_S32G274A_M7 or Linflexd_Uart_Ip_Example_S32G274A_M7).
As shown in the "S32G-VNP-RDB2 Reference Design – RTD Example Guide.pdf", to debug the example, the S32 Debug Probe is used. But we don't have the S32 Debug Probe available. So, we tried flashing the binary using the SD card.
What we are observing over here is that on the serial screen, only the first character is getting printed, i.e, "T". And after that, there is no input or output activity.
What can be the possible reason? What are we missing here? Please suggest.
Hi Dhruvit,
Apologies for the delay, but I can step in to try to help. One of the first things to consider with both examples projects is that they both use the following serial connection settings:
Based upon your explanation, this could be an issue with the baudrate. If this is not the case, you can test if data is successfully being sent or received over UART1 by referring to the LED next to the UART1 microUSB port on the RDB2. If it blinks whenever you enter data within the serial console, then that data is being received by the board. If it is not blinking, then you may have a connection issue.
Let's first focus on the LINFlexD UART sample project. The welcome message is being sent asynchronously in this application, as highlighted below. To test whether this may be an issue with asynchronous send and/or with the use of interrupts, you can convert this send to a synchronous send such that the welcome message should finish printing before user input is accepted by the application.
To change to a synchronous send, you only need to change the highlighted function call with the following:
/* Send the greeting message to console */
Linflexd_Uart_Ip_SyncSend(LINFLEXD_INSTANCE, (uint8*)WELCOME_MSG, strlen(WELCOME_MSG));
If the issue continues to persist, you can also experiment with the priority of the LINFlexD_1 interrupt, especially if you have other applications concurrently running on the other cores. To change the priority of the interrupt, access the interrupt driver configuration through the Peripherals ConfigTool, as highlighted below. Under the tab "Interrupt Controller", change the priority listed next to "LINFLEXD1_IRQn".
Please let us know if any of these steps help or if you are still facing problems with the project.
Thanks,
Tristan
Hi Team,
A gentle reminder for the same!!
Thank you.