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: ESC_HW_INIT_FAIL when jumping from APP to bootloader

Part Number: TMS320F28388D

Hi Experts,

My customer is using EtherCAT in both app and bootloader.

When they debug the APP and bootloader alone, the EtherCAT function works normally.

However, when they jump from app to bootloader, the EtherCAT in boot loader does not work. The below function would be blocked until timeout.

8f914887c402cdbdfe43243adf12bcc8.png

Since both APP and bootloader would initialize the ESC, when jumping from APP to boorlader, they would be initializing the ESC for the second time,.

How to make sure the ESC inialization works in bootloader? Should they reset the ESC by some methods?

Regards,

Hang

  • Hi Hang,

    Sorry for the late response. Let me check and get back to you.

    Thanks,

    Ira

  • Hi Hang,

    Yes — resetting the ESC is mandatory. The ESC must be explicitly reset via the system control register as part of the bootloader initialization sequence. Skipping or misordering this reset is the most common cause of ESC initialization failures.

    The Required Reset Sequence

    The documented initialization flow differs slightly depending on which core owns the ESC, but the core pattern is consistent:

    For CPU1-owned ESC:

    Step
    Action
    1
    Bring ESC out of reset using system control register
    2
    Perform EtherCAT memory initialization
    3
    Wait for memory initialization to complete
    4
    (Recommended) Verify EEPROM loaded successfully
    For CPU2/CPU3-owned ESC (CPU1 must perform this on their behalf):
    Step
    Action
    1
    Reset ESC using system control register
    2
    Bring ESC out of reset
    3
    Configure EtherCAT EEPROM size
    4
    Reset ESC again
    5
    Allocate ESC to CPU2/CPU3