Tool/software:
Hello, i have enabled crc32 check in bootloader and after that i have noticed my problems.
I have added the 16 byte header and added the marker word,computed the crc32 value binpack executable.
The first problem i noticed was this
pui32App = (uint32_t *)APP_START_ADDRESS;
if((pui32App[0] == 0xffffffff) ||
((pui32App[0] & 0xfff00000) != 0x20000000) ||
(pui32App[1] == 0xffffffff) ||
((pui32App[1] & 0xfff00001) != 0x00000001))
{
return(1);
}because the header was on top of the binary this code will always return 1 (marker words : 0xFF01FF02 and 0xFF03FF04 ).
after i changed this code
pui32App = (uint32_t *)APP_START_ADDRESS;
if((pui32App[4] == 0xffffffff) ||
((pui32App[4] & 0xfff00000) != 0x20000000) ||
(pui32App[5] == 0xffffffff) ||
((pui32App[5] & 0xfff00001) != 0x00000001))
{
return(1);
}it has passed crc32 check but my code did not start.
Are there more modifications i need to do ?