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
|