my bootloader program jump twice time,then it can jump to app,but i do not know where the problem. and my bootloader program size is about 0xf000, in my bootload i use flash address:0x16000-0x16008 8bytes to store a flag,but when i write flag in this address, bootload cannot jump into app.please help me to solve my question, thank you advance.
解決済! 解決策の投稿を見る。
thanks for your answer. the start address of the bootloader is 0,application is 0x18000,i have disabled interrupts before the jump.
yesterday i found that when i write 8 bytes the flash in 0x16000, the application can not run. I think bootloader has already jump into application,but application didn't run.when 0x16000 data is 0xFF,the application run ok. i donot know whethe the flag can stop the APP startup progress.
Hello,
What is the start address of the bootloader and application?
Have you disabled interrupts before the jump?
Thank you.
Best regards,
Diana
i found the reason :read flash make the problem, i use ((*(__IO uint32_t*)(0x16000))) to read flash, but it can cause a
DefaultISR:
b DefaultISR
thanks for your answer. the start address of the bootloader is 0,application is 0x18000,i have disabled interrupts before the jump.
yesterday i found that when i write 8 bytes the flash in 0x16000, the application can not run. I think bootloader has already jump into application,but application didn't run.when 0x16000 data is 0xFF,the application run ok. i donot know whethe the flag can stop the APP startup progress.