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.

CCS/TM4C129ENCPDT: Offset table of interrupts with bootloader troubles

Part Number: TM4C129ENCPDT

Tool/software: Code Composer Studio

Hello! I'm new in TI MCU.
I have a project with bootloader.
When bootloader disabled, program works fine. All interrupts work well.
With bootloader I need relocate table of interrupts. But still I dont know how

In *.cmd file I have:

#define APP_BASE 0x00000000  //bootloader off
#define RAM_BASE 0x20000000

I change it to:

#define APP_BASE 0x00004000  //bootloader on
#define RAM_BASE 0x20000000

And:

SECTIONS
{
.intvecs: > APP_BASE
.text : > FLASH
.const : > FLASH
.cinit : > FLASH
.pinit : > FLASH
.init_array : > FLASH
.board_id : > (0x00004000 + 0x500)

.vtable : > 0x20000000
.data : > SRAM
.bss : > SRAM
.sysmem : > SRAM
.stack : > SRAM
}

__STACK_TOP = __stack + 512;

And this causes troubles (no working interrupts)
What I need do some else??

Thanks.

  • Hi,

      I don't spot anything wrong with your linker command file if this is for your application firmware. I assume you still have the bootloader programmed at the 0x0 location, correct? Normally you will have the bootloader programmed at 0x0 via the JTAG interface and you application starting at a different address (i..e 0x4000) . The application firmware is programmed by the bootloader to the flash through a communication interface such as the UART. Did you have a chance to look at the TivaWare bootloader example? I will suggest you start with the boot_serial (this is a the bootloader firmware) example and the boot_demo1 (this is an application firmware) example.  If you can get this working then you can gradually modify the application to add the interrupt capability per your application requirements.