打印
[应用相关]

stm32 指定变量存储地址

[复制链接]
171|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tpgf|  楼主 | 2024-11-28 15:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
uint8_t array[10] attribute((at(0x20000000)))

当你使用 attribute((at(地址))) 强制将变量放置在特定地址时,编译器和链接器通常不会自动调整其他变量的地址以避免冲突。这意味着,如果指定的地址已经被其他变量占用,就会发生冲突。

如果如果有冲突,keil会提示
Error: L6971E: metering_module.o(.data) type RW incompatible with main.o(.ARM.__AT_0x20000000) type ZI in er RW_IRAM1.

可以在xxx.map中看RAM用到多少,哪里有空间



在最后地址0x20005f38后面再指定。
例如:uint8_t array[10] attribute((at(0x20006000)))

这下就OK了
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_27741499/article/details/143981725

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2028

主题

15904

帖子

14

粉丝