Hello Gordy Carlson,
Thank you for your updated information.
1.) There's no function in our application code to erase the flash address. Itt is still a mystery why it does, perhaps implementing the flash protection will help.
== Maybe the poor working condition may caused this problem, for example, the EMI is very larger.
Actually, in the application, customer normally will protect the bootloader area, just to make sure the bootloader code won't be erased or wrote.
So, still as what I am recommend you, to protect the flash bootloader area.
2.) Do you have a recommendation on how to read the bootloader flash area?
== Read? Just read the flash address is OK, very simple! Use code, or JLINK command, take an example: mem 0x40c,0x10
0X40C is the flash address you want to read, 0X10 is the length you want to get from 0X40C.
3.) In the example bootloader code that I used I commented out all the jump to application code so it should stick in bootloader. But, it still goes to the application. Still trying to figure out why this happens, doesn't follow generation common sense for how the bootloader should work.
== It may check the application code area, if the application code area, which you want to jump is not null(0xff),it will do the jumping.
So, you can try to erase all the chip, then download the flashloader, and try again, whether it can jump to the application area again?
Any question, just let me know!
Have a great day,
Kerry
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------