在我的 stm32f407板子上,有一个boot分区,如果不需要更新程序,它可以很顺利启动应用程序。在我将 cubeMX 更新到新版本之后,重新生成 IAP 的代码,当程序从boot跳转到应用程序时,遇到了硬故障。 boot程序位于0x8000000 应用程序位于0x8008000 ,在 STM32f4xx_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}
|