我正在研究 ECM(使用gcc
编译器,我们生成 hex 文件并将其闪存到控制器上)
有一个代码x=(a+b)/2
,无论 and 的值是多少a
,b
但 in 的值x
始终为零。
我有一个循环条件x
,这导致我ECM
重置。
知道出了什么问题吗?
我尝试过的事情:
- 在其上方添加了一些冗余代码->不值得,编译器对其进行了优化
- 我怀疑编译器的优化->因此查看了汇编代码,但这也无济于事
- 使变量成为全局变量(在私有之前)-> 输出是相同的
你能说明一下我还能尝试什么吗?
这也是一个自动编码(使用MATLAB
建模)。