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.

Compiler/TMS570LC4357: Boot loader LC43x

Part Number: TMS570LC4357
Other Parts Discussed in Thread: LAUNCHXL2-570LC43

Tool/software: TI C/C++ Compiler

question:my device is LAUNCHXL2-570LC43,and I use the BootLoader in the following example  /cfs-file/__key/communityserver-discussions-components-files/908/5460.TMS570LC4357_5F00_UART_5F00_Boot.7z ,if an interrupt occurs to the application which programed in the back1 ,the cpu load the address of ISR from interrupt vector table which defined by the BootLoader program instead of application program ,how does application program relocate the interrupt vector table?

The above example has only BootLoader project and no application project,Is there any example of application project which use BootLoader to update ?

  • Hello,

    The Hercules device doesn't have the feature to relocate the interrupt vector table. The address of the exception vector is at 0x00000000.
    When the processor takes the interrupt, it will do the following things:
    1. preserve the address of the next instruction in the appropriate LR register
    2. copy CPSR into the appropriate SPSR register
    3. set or modify several bits in CPSR
    4. fetch the next instruction from the bootloader exception vector. The processor also set the interrupt disable flags to prevent otherwise unmanageable nesting of exceptions.

    For example, if the exception vector of your application is at 0x20000, when the CPU takes the data abort exception, it will fetch the address at 0x10 (0x20010), then jump to 0x20010 to get the address of the dabort handler in the application code.