Because of the Thanksgiving holiday in the U.S., TI E2E™ design support forum responses may be delayed from November 25 through December 2. Thank you for your patience.

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.

TMS570LC4357: CAN Bus Transmit Error with FREERTOS

Part Number: TMS570LC4357

Dear all,

I am opening this topic following an error I encountered in my project using a TMS570LC43x microcontroller in a Texas Instrument development kit. I am using different peripherals for communication, including SPI and CAN. For the later one, I want to perform a cyclic transmission of data through CAN1 Broacast, without needing of an interruption (as no request of information is expected to be received on the CAN Channel). Initially, I was sucessful on this transmittion, being able to transmit the data and read it on the output side.

I then introduced the FREERTOS task management, in order to be able to introduce the UDP Communication through an ETHERNET Port. Since then, I was no longer able to make the CAN to work, as I always encounter an error in the CAN Registers (either ACK or Form error usually in the LEC Register). I have tried to create a single task for the CAN Transmission with the highest priority, to have the CAN Transmit even before the start of the task scheduler or even to create a CRITICAL Section when performing the transmission, in case an unwanted interruption was damaging the task. However, I was not sucessful. I believe it may be related to the linker file, memory management or the initialization routine of the different microcontroller peripherals and functionalities, when comparing to the one of the code for the CAN only without FREERTOS.

I am open to any suggestions you may have that may help me solve the problem.

Thank you for your attention and help