在读取内存时避免编译器优化

时间:2017-04-12 13:20:26

标签: c

我想检查RAM内存单元格中的ECC错误。

为了检查ECC错误,我必须读取或写入此内存。所以我选择了读取内存的值,但编译器清理了这一行,因为我没有在其余的代码中使用它。

有没有办法在不修改编译器选项的情况下避免优化。

在下面找到序列:

 1. Clear flags
 2. Read memory <==> Rt_value = (unsigned short *) Address
 3. Check flags

注意:我使用GHS编译器。

1 个答案:

答案 0 :(得分:0)

使用volatile关键字可能有帮助。

http://www.keil.com/support/man/docs/armcc/armcc_chr1359124222941.htm

上面的文章将帮助您了解volatile的使用。