我有一个由Keil生成的链接器散布文件,如下所示:
LR_IROM1 0x08020000 0x001E0000 {
ER_IROM1 0x08020000 0x001E0000 {
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+XO)
}
RW_IRAM1 0x20020000 0x00060000 {
.ANY (+RW +ZI)
}
RW_IRAM2 0x20000000 0x00020000 {
.ANY (+RW +ZI)
}
}理想情况下,出于各种原因,我希望继续使用IDE配置的散点文件。但是,我没有看到任何让Keil添加额外的链接器部分的方法。
我天真地认为我可以使用如下命令在RW_IRAM2区域中放置一个变量:
uint32_t in_ram2 __attribute__((section("RW_IRAM2")));我也尝试过像".RW_IRAM2“和"".RW_IRAM2.bss”这样的东西,但是变量总是在IRAM1区域结束。看完文档后,我发现没有任何方法可以做到这一点,除非丢弃由Keil配置/创建的散布文件。
发布于 2021-10-08 14:39:32
您可以将其放在显式地址中,如下所示:
uint32_t in_ram2 __attribute__((section(".ARM.__at_0x20000000")));https://stackoverflow.com/questions/69351029
复制相似问题