我有一个似乎很简单的问题,我确信我之前已经解决了它,但是我无法再次找到答案,所以希望有人可以为我指明正确的方向

我有一个内存区域,我想为代码中的特定变量“保留”。

我知道我可以通过编辑链接器脚本来做到这一点,并从 rom 部分删除我的数据块,以确保程序代码没有写入特定地址 - 但我记得我记得在 c 代码中这样做了很长时间,而不是编辑脚本过去。我使用 pragma 或类似的东西做了它,从内存中它看起来像这样(代码不正确,但我记得这是模糊的!)

"#pragma _address @0x00040000
字符我的数据[1024]; ”

这将在地址 0x00040000 保留 1024 字节的数据。

有谁知道上述代码的正确格式?

对于上下文 - 我正在编写嵌入式 C 应用程序,使用基于闪存的微处理器。该区域是闪存,我想在那里存储闪存配置数据(由我的程序生成)。要使用闪存,我需要将数据对齐到正确的块中,因此我需要指定地址。我想做的是保留一个不会被我的程序代码填充的闪存区域,以便我可以用我的配置数据填充它。

谢谢你的帮助!

斯蒂沃

最佳答案

#pragma 指令具有实现定义的关键字,因此您的答案取决于您的编译器。建议查阅您的编译器手册。

关于c - 在c中保留变量数组的地址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13851388/

10-13 08:07