I am developing a GUI to transfer code via CAN as a bootloader.
Attached is an example of a hex file produced using RIDE7. The .xlsx attached is just the hex file split in a readable order, splitting the memory address (shown as decimal), data length (in bytes), record type, and data.
There are 92KB of pages I am transmitting with the bootloader. Starting at memory address 0x08008000 and ending 92 pages later, with 1024 bytes per page, so with an ending address of 0x0801F000.
Looking at line 18 of the hex file or 19 of the xlsx, why is the jumps in memory only 12 bytes? The firmware is expecting my GUI to send data in 1024 chucks, the 12 throws it off so that the first 64 columns (1024 bytes / 16 bytes per line) is not even with 64?
Also, why is the data 0 for line 18 & 20?
I expected to simply check the memory address as I sent data and fill any unfilled pages with 0xFF.
I might not be understand hex files properly! Or the STM32. Any thoughts and advise will be appreciated.
Thanks for your support, please let me know if anything is not clear.