将常量数据固定在Flash中的固定地址
关于STM32F103数据定位的问题,将数据固定在Flash中。我想将一些主应用程序参数放置在Flash的固定位置,以便我的引导程序能够了解已安装的应用程序。目前取得了一些进展。
在STM32CubeIDE中,我在主应用程序代码(main.c)中添加了以下内容:
uint32_t const Version __attribute__((section(".AppInfo"))) = 0x12345678UL;
uint32_t const Features __attribute__((section(".AppInfo"))) = 0xDEADC0DEUL;
在链接脚本(.ld文件)中,我在.isr_vector (0x08002000)和.text之间添加了以下内容:
.AppInfo 0X08003000 :
{
. = ALIGN(4);
KEEP(*(.AppInfo))
. = ALIGN(4);
} >FLASH
检查了.map文件确认这种方式是有效的,但在向量表和AppInfo之间会出现一个巨大的Flash空间空洞,然后.text段才开始。
有没有办法让链接器将这个数据混合到.text区域中?我希望能够控制AppInfo的位置,或者我是否应该直接选择ISR向量表之后的下一个边界
|
|