我有一个似乎是一个简单的问题,而且我确信我之前已经解决了这个问题,但我很难再找到答案,所以希望有人可以指出我正确的方向
我有一个内存区域,我想为我的代码中的特定变量“保留”。
我知道我可以通过编辑链接器脚本并从rom部分删除我的数据块来确保程序代码没有写入特定地址 - 而不是编辑脚本我记得在c中执行此操作很久以前的代码。我是用pragma或类似的东西做的,从内存看起来像这样(代码不对,但这是我记得的模糊的东西!)
“#pragma _address @ 0x00040000 char mydata [1024]; “
这将在地址0x00040000处保留1024字节的数据。
有没有人知道上述代码的正确格式?
对于上下文 - 我正在使用基于闪存的微处理器编写嵌入式C应用程序。该区域是闪存,我想存储闪存配置数据(由我的程序生成)。要使用闪存我需要在正确的块中对齐我的数据,所以我需要指定地址。我想要做的是保留一个不会用我的程序代码填充的闪存区域,这样我就可以用我的配置数据来填充它。
感谢您的帮助!
斯特沃
答案 0 :(得分:2)
#pragma
指令具有实现定义的关键字,因此您的答案取决于您的编译器。建议咨询编译器手册。