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.

TMS320F28388D: CAN initialization stuck in API "CAN_initRAM"

Part Number: TMS320F28388D
Other Parts Discussed in Thread: C2000WARE

I am working on the CM.  The Clock to the CANA is enabled and the DCAN is allocated to the CM in the PALLOCATE0 register.

Using C2000Ware_3_04_00_00_Software.

I have seen that many others have had this problem but have never seen a real solution.  Has this been solved in a later C2000Ware version?

  • Hey John,

    Can you provide some more information so that we can help you better?

    Are you working on some provided example? If yes, which one? If no, have you tried the example and is it not working fine?

    Please also go through the app note  www.ti.com/lit/sprace5.

  • Hey Sahil,

    I was using can_ex1_loopback.c from the app note and that worked fine for CPU1.  My problem started when I tried to run the example code on the CM core and needed to transfer control of the CAN to CM.

    I have this working now. I believe the problem was that I was not re-enabling the CAN clock from the CM core after allocating the CAN to the CM. I was re-enabling the clock from code running on the CPU1 core. Apparently, when the CAN_initRAM function runs on a core when the CAN clock was not enabled from that core, the CAN_initRAM function will be stuck in a while loop.

    The solution seems obvious now but could be made more clear in the literature, if my assessment is correct.