我已经将一个STM32F4项目从Keil uVision5移植到Eclipse(GNU MCU插件)。
在我的Keil uVision5项目中,我使用第7块(0x080E0000)作为启动代码(我验证了使用
STM32 ST-LINK实用程序
工具,我的启动代码真的是在第7块),我用它来配置非常容易使用Keil uVision5接口,如下所示:
我的问题是我的Eclipse项目。如您所知,我们使用名为mem.ld的链接器脚本文件配置内存映射。我试着用mem.ld模仿同样的行为,但我想我失败了。每当我刷新Eclipse生成的可执行文件时,我的代码就不会运行。此外,我找不到在mem.ld文件中指明启动区域的方法。以下是mem.ld文件中的内存配置:
MEMORY
{
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
CCMRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 64K
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 16K
FLASHB1 (rx) : ORIGIN = 0x080E0000, LENGTH = 640K
EXTMEMB0 (rx) : ORIGIN = 0x00000000, LENGTH = 0
EXTMEMB1 (rx) : ORIGIN = 0x00000000, LENGTH = 0
EXTMEMB2 (rx) : ORIGIN = 0x00000000, LENGTH = 0
EXTMEMB3 (rx) : ORIGIN = 0x00000000, LENGTH = 0
MEMORY_ARRAY (xrw) : ORIGIN = 0x20002000, LENGTH = 32
}
提前多谢了。