I have some problem while understanding the boot loader operation in TMS320C6713 DSP in DSK6713 dsp card. This card has flash mapped at 0x90000000 address. The program boots correctly from flash with following parameters
1- In "Linker command file" all sections have same load and run address of IRAM. for example
SECTIONS
{
.vecs > IRAM
.cinit > IRAM
}
2- In hex command file, start address is 0x00 while Flash is mapped at 0x90000000
ROMS
{
Flash: org=0x00, len=0xFFFF
}
3- Secondary Boot loader routine included in project, placed at 0x00 addresse copies the code from 0x90000000 (Flash is mapped at this address) to IRAM
I have question that in hex command file start address must be specified as 0x90000000 rather than 0x00, But it does not work?.
Also in Linker command file if i specify some sections to have load address of Flash and run address of IRAM. In my opinion it should work because boot loader routine is copying data from load address to run address. But it does not work?. I have observed that code is copied from correctly from flash to IRAM but code does not work
Also, i have observed that if load address specified in linker command file is not same as the address specifieed in hex command file. It gives warning. i could not understand the reason.