如何将变量存储在指定内存地址(基于Keil MDK-ARM)
💡
原文中文,约1500字,阅读约需4分钟。
📝
内容提要
本文介绍了将变量存储在特定内存地址的方法。对于AC5编译器,可以使用__attribute__((at(0x20008000)))来定义变量的地址;对于AC6编译器,可以使用__attribute__((section(".ARM.__at_0x20008000")))来定义变量的地址。通过这种方式,可以使用STMStudio查看指定地址的变量。
🎯
关键要点
- 将特定变量分配到确定的内存地址有多种原因。
- 校验和可能需要出现在特定地址,函数也可能需要定位到特定内存区块。
- 可以通过C语言代码在特定内存地址中定位变量。
- STM Studio支持四种类型的变量管理:相对变量、统计变量、表达式变量和插件变量。
- 局部变量不支持在STM Studio中管理。
- AC5编译器使用__attribute__((at(0x20008000)))定义变量地址。
- AC6编译器使用__attribute__((section( '.ARM.__at_0x20008000' )))定义变量地址。
- 通过指定内存地址,可以使用STMStudio查看该地址的变量。
🏷️
标签
➡️