Tool/software: TI C/C++ Compiler
Hi,
I have few questions regarding c6713 bootloader.
1. From file spra999a.pdf, Table 3. Copy Table format:
=> So from above table the first .word of copy table should be the size of first section. But in the same file, the given boot loader code says:
;****************************************************************************
mvkl COPY_TABLE, a3 ; load table pointer
mvkh COPY_TABLE, a3
ldw *a3++, b1 ; Load entry point
Question: how the last instruction loads the entry point??? Shouldñ't it be the size of first instruction as per copy table format??
2. Let say i have a linker file:
Memory {
BootRam: org=0, len=400
IRam: org=400, len=xyz
}
Section{
.bootloader > BootRam
.text > IRam
}
From generated map file, the .text will be placed at 0x400.... if we want to generate copy table via hex conversion utility spru186p.pdf Example 11.3, then shouldn't the Copy table and .text section overlap in address?? My hex6x generated MAP file looks like:
copy table settings: −bootorg 0x90000400
90000400..90000b0b BOOT TABLE
.text : btad=90000400 dest=400 size=6a0
I mean what will exist at 0x400, copy table or .text?? Or .text will be pushed down by hex6x??
3. Well actually i HAD these issues... so i dig into HEX 0s and 1s and found that this bootloader works fine when the copy table is created by Hex conversion utility... BUT if these the copy table is created manually or through linker script (Figure A−2 , spra999) in accordance to the given copy table format (table-3), then the bootloader shouldn't work or atleast this bootloader is not meant to be for the given copy table format.. am i right?
Kind Regards,
