2020-03-13 06:27 AM
Hi, on our card with stm32L496 we have a boot partition that launch the principal application if an update is not required. All work find until i update cubeMX to version 5.6.0 ! Now when i regenerate the code (not changed between the 2 versions) of IAP i have a hard fault when i want to jump to the principal application.
The boot (IAP) is located at 0x8000000
The application at 0x8008000 --> defined in STM32L496ZGTX_FLASH.ld
/* Highest address of the user mode stack */
_estack = ORIGIN(RAM) + LENGTH(RAM); /* end of "RAM" Ram type memory */
_Min_Heap_Size = 0x200 ; /* required amount of heap */
_Min_Stack_Size = 0x400 ; /* required amount of stack */
/* Memories definition */
MEMORY
{
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 320K
FLASH (rx) : ORIGIN = 0x8008000, LENGTH = 992K
}
the result in debug mode :
The code i use in boot (take in the stm32 example IAP) :
/* execute the new program */
JumpAddress = *(__IO uint32_t*) (APPLICATION_ADDRESS + 4);
/* Jump to user application */
JumpToApplication = (pFunction) JumpAddress;
/* Initialize user application's Stack Pointer */
__set_MSP(*(__IO uint32_t*) APPLICATION_ADDRESS);
JumpToApplication();
I use STM32CubeIDE.
I i use an older binaries (same code but generated with older version of cubeMX 5.5 or 5.4), it works fine !
Can you help please ?
Solved! Go to Solution.
2020-03-16 06:21 AM
Issue solved --> remove older stm32 ide settings / cube mx settings
2020-03-16 02:09 AM
Hi, i have rebuild the boot application from a blank folder with cubeMX. I already have an error when i jump to application but the address is different now :
2020-03-16 05:23 AM
Build the same project with IAR work fine ! Probably an issue with stm32 cube IDE ?
2020-03-16 06:21 AM
Issue solved --> remove older stm32 ide settings / cube mx settings