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.

TMS570LS1225: Problem with the CAN Bootloader app startup

Part Number: TMS570LS1225

Hello

We are working in a power converter based on the TMS570LS1225.

We have the application already working and now we are starting to work in the industrialization process.

We need to be able to program the equipment through the CAN interface.

We developed a CAN boot loader based on the SPNA186 Application report.

At the same time we developed an PC programing tool.

With this boot loader we are right now able to program the APP on the APP flash, but the problem came when we intent to jump to it. As we have read from different posts on the forum, in order to jump to the application, we force a SW reset and at the startup, detect that we are coming out from a software reset in order to jump to the app _c_int00 routine.

In this routine we have been removing different calls to core initialization routines because on them we get stuck (an abort interrupt is raised on them). We understand the this could be due to the fact that these routines have been already performed on the boot loader. We have remove the following routines:

                _coreInitRegisters_

                _coreInitStackPointer_

                _coreEnableEventBusExport_

                _errata_CORTEXR4_66_

                _errata_CORTEXR4_57_

checkRAMECC

We don’t understand the problem with the last one but in order to progress we also remove this one.

In any case right now the app gets stuck when the __TI_auto_init routine is called (The whole program is reinitialized). As far as we understand in this routine the cinit (Initialized variables) are initialized and we can’t skip it.

Can you please give us some clue on what are we doing wrong?

Thanks you in advance

  • Hello Alfredo,

    It is difficult to say which initialization routine step is being skipped (removed) and which step is executed. A software reset will reset most of the part except for the debug logic. This means that everything part of the device needs to be initialized again, including the CPU registers (ARM does not guarantee that register contents will be held through a CPU reset).

    Is it possible for you to upload your initialization routine for me to understand it better and identify the cause of the issue?

    Regards,
    Sunil
  • Thank you for you reply and my apologies for my late replay.

    Afther your mail, we re-check our code, and found that there was a Mistake in our PC download program. In some way we were corrupting the binary file that send to the board.

    After we solved this problem, we were able to bootload our code with out any problem,

    By your suggestion we reexecute all the microcontroler initialization after the BootLoader (In the application program) with out any problem.

    Thanks again,