【GCC】因存在BootLoader,设置启动地址偏移
因为加入BootLoader的缘故,我们的用户代码启动位置需要进行一个偏移。
在Keil中我们能很方便的设置,只需要修改IROM1 处 start 地址就可以了
在GCC中我们需要在两处进行修改:
- .ld 文件内 Line64 在flash处做一个偏移地址
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 192K
CCMRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 64K
FLASH (rx) : ORIGIN = 0x80000000, LENGTH = 512K
我们就可以修改FLASH的地址
eg:
FLASH (rx) : ORIGIN = 0x80008000, LENGTH = 480K
此处为启动地址偏移 - system_stm32f4xx.c 文件下 VECT_TAB_OFFSET 也需要做一个偏移
Line 364:
#define VECT_TAB_OFFSET 0x8000
此处就为中断向量表的偏移