执行错误:部分C代码已编译,但在ECM中未正确执行
我正在处理ECM(使用执行错误:部分C代码已编译,但在ECM中未正确执行,c,matlab,gcc,embedded,compiler-optimization,C,Matlab,Gcc,Embedded,Compiler Optimization,我正在处理ECM(使用gcc编译器生成十六进制文件并在控制器上闪存) 有一个代码x=(a+b)/2,a和b的值是多少,但是x中的值始终为零 我在x上有一个循环条件,这导致我的ECM复位 知道出了什么问题吗 我尝试过的事情: 在-->的正上方添加了一些冗余代码不值得,编译器对此进行了优化 我怀疑编译器-->的优化会因此查看汇编代码,但这也没有帮助 使变量成为全局变量(在私有之前)-->out是相同的 你能告诉我我还能试什么吗 这也是一个自动编码(使用MATLAB建模)。在a和b的声明中添加vola
gcc
编译器生成十六进制文件并在控制器上闪存)
有一个代码x=(a+b)/2
,a
和b
的值是多少,但是x
中的值始终为零
我在x
上有一个循环条件,这导致我的ECM
复位
知道出了什么问题吗
我尝试过的事情:
这也是一个自动编码(使用
MATLAB
建模)。在a
和b
的声明中添加volatile
限定符,什么是“ECM”?你的密码是什么?a
和b
的值是什么?a
、b
和x
的类型是什么?需要更多的上下文@DKrueger的答案很可能是正确的,但这仍然是一个猜测(除非他对MATLAB的代码生成有所了解)。当未对编译器进行优化时,代码是否工作?在这方面,德克鲁格很可能是有钱人。