执行错误:已编译部分C代码但未在ECM中正确执行

时间:2013-05-09 06:31:04

标签: c matlab gcc embedded compiler-optimization

我正在研究ECM(使用gcc编译器,我们生成hex文件并在控制器上闪存)

代码x=(a+b)/2ab的价值,但x中的值始终为零。

我在x上有一个循环条件,导致ECM重置。

知道出了什么问题吗?

我尝试过的事情:

  1. 在上面添加了一些冗余代码 - >不值得,编译器优化了
  2. 我怀疑编译器的优化 - >因此看看汇编代码,但这无济于事
  3. 使变量成为全局变量(在变为私有之前) - > out put是一样的
  4. 你能否说明我还能尝试什么?

    这也是一种自动编码(使用MATLAB建模)。

1 个答案:

答案 0 :(得分:0)

volatile限定符添加到ab的声明中。