This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software:
Hello team,
I am working with the TMS320F28375S microcontroller and have developed a custom CAN-based bootloader. Both the bootloader and the application are using FreeRTOS, and I am encountering an issue with the CAN communication after jumping from the bootloader to the application.
After flashing the application through the bootloader, when I jump to the application, the CAN messages are being received at the correct time, which means the messages are arriving as expected. However, the data within these messages appears stuck or is not updating. The CAN data in the messages does not change, even though the application is actively sending new data. This issue persists until I power cycle the microcontroller, after which the CAN data starts updating as expected, and everything works fine.
I suspect that the issue may be related to the proper re-initialization of the CAN peripheral when transitioning from the bootloader to the application. Specifically, I am concerned that there might be lingering old data in the CAN buffers or that the message object or interrupt configuration may not be properly reset when control is handed over to the application.
on a related note, I have found a temporary solution. Since my problem is resolved by turning off the controller and then turning it back on, I added a device reset using the "SysCtl_resetDevice();" instruction before jumping to the application when the firmware is flashed. While this approach has worked, I still feel that it is not an ideal or proper solution. Do you think this solution is acceptable?
I have started a thread with this issue earlier and received a responses also, but the issue has not been resolved yet and I am not getting responses now.
Looking forward to your guidance.
Thanks and Regards
Muzammil Qureshi