Tool/software: TI-RTOS
Hello, I'm relatively new to ARM, TI-RTOS and boot loader. But, I have these things all working on another TM4C123 board I designed. I'm now trying to get the flash based bootloader working on the TM4C1294 but stumped. It seems to be downloading my code okay, but after the download completes my bootloader has been erased at the start of flash. I've been trying to sort through this all week but no luck yet. My application is TI-RTOS based and I've adjusted it's build to locate at 0x1000 and it loads and runs at this location from the debugger. But, as noted, it always erases the bootloader when doing this regardless of the erase options set for the debugger. So, I'm attempting to load my app via the bootloader for now after flashing the bootloader code. My application's cmd file is as follows:
#define APP_LENG 0x000FF000
#define RAM_LENG 0x00040000
{
FLASH (RX) : origin = APP_BASE, length = APP_LENG
SRAM (RWX) : origin = RAM_BASE, length = RAM_LENG
}
{
.text : > FLASH
#ifdef __TI_COMPILER_VERSION
#if __TI_COMPILER_VERSION >= 15009000
.TI.ramfunc : {} load=FLASH, run=SRAM, table(BINIT)
#endif
#endif
.const : > FLASH
.cinit : > FLASH
.pinit : > FLASH
.init_array : > FLASH
.bss : > SRAM
.sysmem : > SRAM
.stack : > SRAM
}
{
FLASH (RX) : origin = 0x00000000, length = 0x00001000
SRAM (RWX) : origin = 0x20000000, length = 0x00040000
}
{
GROUP
{
.intvecs
.text
.const
.data
} load = FLASH, run = 0x20000000, LOAD_START(init_load), RUN_START(init_run), SIZE(init_size)
{
.bss
.stack
} run = SRAM, RUN_START(bss_run), RUN_END(bss_end), SIZE(bss_size), RUN_END(__STACK_TOP)
Program.sectMap[".resetVecs"].loadAddress = 0x00001000;