I've been trying to do software upgrade without a bootloader. I enabled the dual bank mode in BSP and successfully programmed the upper bank with the same application code. I then exported both banks' memory and made sure that the content of the lower bank and upper bank is identical. Then I did bank swap and upon successful bank swap, rebooted the board by calling:
But after reboot, the code is always stuck somewhere in SystemInit(). Here is the screen capture for the issue I have.
Do you use a RTOS in your project ?
Please make sure that no interrupts occur during the bank swap operation.
If an interrupt occurs during the code flash operation, then code flash will be accessed…