Hello again,
Recently i have used the ethernet bootloader for my project which i have modified for the needs of my project (the bootloader is based on the example provided in the TivaWare library). It has been found to be working absolutely fine after many days of testing.
Although, now i need to add the CRC32 check within the bootloader, but i have a question regarding the binpack tool. After building the project, i take the output .bin file and process it with the binpack tool using the following command:
binpack -i initial.bin -o initial_crc.bin -a 0x00004000 -d
On the output binary (the one include the CRC32) i can see the following hex values
0000-0010: 01 00 10 00-bc 53 00 00-48 a3 00 20-01 42 00 00 .....S.. H....B..
where the first two bytes contain the marker pattern (0x01, 0x00) added by binpack tool, then next two bytes contain the image start address divided by 1024 (0x10, 0x00) and the next 4 bytes contain the binary size (0xbc, 0x53, 0x00, 0x00). All these bytes added by using the above command in binpack tool.
If i don't process the initial bin file by specifying the flash address, i will get the following output
0000-0010: 48 a3 00 20-01 42 00 00-15 42 00 00-17 42 00 00 H....B.. .B...B..
Both outputs make sense based on the documentation of the binpack tool. Although, if i want to load the binary that includes the CRC32 on my TM4C1294NCPDT, will the application be loaded correctly? I can see that the application entry point has been shifted right and placed after the header that has been added by the binpack tool. But will the bootloader be able to the application entry point?
The APP_START_ADDRESS has been defined within the bootloader at 0x4000, but after the processing with binpack tool i can see that the application starts at 0x4004. Do i need to change the APP_START_ADDRESS within the bootloader?
Thank you in advance for your help!