cancel
Showing results for 
Search instead for 
Did you mean: 

app cannot execute after bootloader startup and jump to app address.

ray
Associate II
Posted on April 25, 2016 at 15:21

STM32f103 uses internal clock and run bootloader correctly. Bootloader can jump to 0x8008000 where app is in.  In keil debug, I can see the break point is in main() entrance . But it can not execute continuously. So I want to know it is clock not run correctly? 

I used stm303/207 and they can run well. The only difference is that they use external oscillator. 

Thanks.  
1 REPLY 1
Posted on April 25, 2016 at 18:45

Make sure you have code in, and called by, SystemInit() that correctly sets up the Vector Table (SCB->VTOR), and is coded sufficiently robustly that it is immune to entry conditions, than just reset conditions.

If the boot loader has external clock and PLL functioning, why tear that down, to waste time bringing it up again, etc.

The code in system_stm32fxxx.c is simple and general purpose, you will need to clean and tailor it to meet your own needs.

Use the debugger to understand where it is stuck, and that you have a functional Hard Fault handler in both bootloader and app, so when it dumps out there, you have some diagnostic output to work with.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..