Hi,
I wrote a secondary bootloader that will upgrade the FW via BLE communication (FOTA).
I'm trying to update the serial number in the last sector which is located address 0x18000.
I checked and see that I got the correct buffer of data (the serial number) exact 6 bytes. I clear all the 24th sector, and write the buffer to the 0x18000 address, however when I checked the memory I see that the serial number was written in the address 0x18030 and have no idea why.
I'm using the same function that I use for the FOTA and they work.
Please someone can explain me why, the serial was written in the same sector but with an offset, and how to make it to be written to the correct address which is 0x18000.
Thanks in advance.
Hi Guy_mego,
The problem is that, when you programmed data to 0x18000 address,the data were acctually written in the address 0x18030.
If so, I couldn't reproduce the issue for the moment. Could you please test how the programming works if you bypass BLE boot ?
Did you check the destination pointer value when programming with step over the code?
There is secondary bootloader demo code. We can refer it as design reference
https://www.nxp.com/docs/en/application-note/AN12037_LPC11U6x.zip
https://www.nxp.com/docs/en/application-note/AN11732.zip
Have a nice day,
Jun Zhang
Hi Guy_mego
Good to know. Thanks.
Have a nice day,
Jun Zhang