AnsweredAssumed Answered

Hardware Fault Interrupt when starting Application with Bootloader

Question asked by Ivo Senn on Nov 21, 2017
Latest reply on Dec 25, 2017 by Jay Heng

Hello I'm using fragments of the kboot for my own Bootloader. I'm using the jump_to_application(applicationAddress, stackPointer) function in the same way as you do. I get some strange behaviour now. If I start my application from the Bootloader the application is started correctly. If I just increase the size of a global Array of chars by one the application is not started anymore and it is stopped in an Hardware fault.

works with:

uint8_t wert[5];

does not work with:

uint8_t wert[4];

 

The problem seems to be in the zero initialize. The crash happens before reaching the main routine, in the Reset_Handler of the application. The System_init is called and executed correctly. The difference in the *.map file from the working version on the right of the picture and the non working on the left:

If I put the section to noInit in the target dialog it also works with the array of 4 Bytes. Might there be a problem with the aligning and how can I manage that?

Outcomes