cancel
Showing results for 
Search instead for 
Did you mean: 

Hard fault, vector table | jump from boot to app

Vmere.1
Senior

I'm using Keil (Scatter file, not lnker) and I have a bootloader and a place for two images (one active and other is for the over the air update).

i use Cortex M0 processor where there is no Vector Table Offset Register and i used to copy the vector table from flash to sram.

The problem here:

1. I do the ota update using the application and not using the bootloader.

2. I build the firmware for a specific location and when the ota update is happening the active application (which is in slot A) is downloading the new image in Slot B (but the image is built using the linker script for slot A).

3. When I jump from bootloader to app using the function pointer (I see the function ptr is holding the right address.)

4. But when jumping it is creating a hard fault. 

5. So the image built for a specific place should only be used there? Can't I use it for other slots (I also look for page alignment)? if not what can be the possible reason for hard fault?

10 REPLIES 10