首页 > 解决方案 > 强制常量数据保存在 RAM 而不是 ROM

问题描述

是否可以强制将 const 值保存在 RAM 而不是嵌入式设备上的 ROM 中,而不是作为对编译器的建议。我想保持从 RAM 读取的速度,但要确保值在代码中的某些地方没有改变?

标签: c++carduinoarmembedded

解决方案


您可以强制将变量放在数据部分(或任何地方)并告诉编译器它不会被修改:

const int variable __attribute__((section(".data")));

指示节的方式取决于编译器,但通常__attribute__是有效的方法。

要知道您想要的部分,请检查您的启动代码,在那里您将看到它们的地址和大小(或检查链接器)。


推荐阅读