Hi Allison, Thanks for your reply! I'm sorry to make the mistake. Actually,case ② is "Upgrating my app project through Uart fails to make my BOOT project run" . As regard to the failure of the device initialization, the details will be described below: When all the initalizations are executed and the chip has run into main loop, I designed different blink ways of my 2 LEDs. In my bootloader project, GPIO 25 toggles the state of a LED per second; and in my application project ,GPIO 25,26 toggle states of 2 LEDs ,and the LEDs blink in different frequencies. Besides, if the update is through Uart, when upgrate succeeds, CRC value of whole upgrate file will be written to a specific address. Once I power up the chip, it will caculate the CRC value of application's flash data and compare it with the CRC value in the specific address. If they're the same, bootloader would jump into application, otherwise ,it will always stay in the bootloader. Thus, when I see all the LEDs are off, I know that the CRC check is passed, and the chip is stuck somewhere in the process of bootloader jump to app. And the following is concerning the "CPU Reset". Recently, I upgrade through Uart in DEBUG mode. After the upgrade is successful, I cannot jump to the app immediately. In this case, if I click "CPU Reset", boot and app can run normally. After the power failure and restart, there is no way to run the program again until I load bootloader.out once more. I'm confused that since all the data(through onboard debug and through Uart) is the same, why the jump alwas fail? Best Regards, Xu
↧