Hello everybody,
I have to program a bootloader for TMS320f28335. I want to reserve the A sector of FLASH to allocate the bootloader, and the other sectors for application. I have 2 diferent projects, one for bootloader and one for application. I have 2 linker files, is right?, in both i have defined the same memory pages:
PAGE 0: /* Program Memory */ FLASHA : origin = 0x338000, length = 0x007F80 /* Internal flash A */ FLASH : origin = 0x300000, length = 0x37FFF /* Internal flash (B-H) */ L03SARAM : origin = 0x008000, length = 0x004000 /* Internal RAM */ JUMPCINT00 : origin = 0x33FFF6, length = 0x000002 /* Reset vector */ IQTABLES (R): origin = 0x3FE000, length = 0x000B50 /* In Rom IQ math tables */ FPUTABLES : origin = 0x3FEBDC, length = 0x0006A0 /* Floating poit unit ROM tables */ PAGE 1: /* Data Memory */ L47SARAM : origin = 0x00C000, length = 0x3C00 /* Internal RAM */ HEAP : origin = 0x00FC00, length = 0x0400 /* Internal RAM Reserved for Heap Memory */ MSARAM : origin = 0x000040, length = 0x07C0 /* Internal RAM */ PIEVECT : origin = 0x000D00, length = 0x0100 /* PIE table */ SRAM : origin = 0x200000, length = 0x010000 /* External RAM in Zone 7: CAUTION SELECT THE PROPER SIZE AND NEXT COMPILE */
but the sectors of each file are different, in the bootloader I have this:
.text: > FLASHA, PAGE= 0 .switch: > FLASHA, PAGE= 0 .cinit: > FLASHA, PAGE= 0 .pinit: > FLASHA, PAGE= 0 .econst: > FLASHA, PAGE= 0 .reset: > FLASHA, PAGE= 0 .jumpint00: > JUMPCINT00, PAGE= 0
and in the application file, I have this:
.text: > FLASH, PAGE= 0 .switch: > FLASH, PAGE= 0 .cinit: > FLASH, PAGE= 0 .pinit: > FLASH, PAGE= 0 .econst: > FLASH, PAGE= 0 .reset: > FLASH, PAGE= 0 .jumpint00: > JUMPCINT00, PAGE= 0
Doing this, I have an error, first, in bootloader project, the compiler try to search the _main function, but I don't have a main function in bootloader. I try to change the entry point to my bootloader functions, but not work