工具/软件:Code Composer Studio
大家好,
我的客户报告了编译器的问题:
1)不同的优化级别导致不同的代码执行,这使得DCDC控制算法不稳定。
2)不同的编译器版本导致相同源代码的结果不同。
能否通过e2e.ti.com/.../6646.Issues-with-compiler.docxkindly就项目1)和项目2)发表意见? 是否有优化级别配置指南? 详细说明可在以下附加文件中找到。
此致
本杰明
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
大家好,
我的客户报告了编译器的问题:
1)不同的优化级别导致不同的代码执行,这使得DCDC控制算法不稳定。
2)不同的编译器版本导致相同源代码的结果不同。
能否通过e2e.ti.com/.../6646.Issues-with-compiler.docxkindly就项目1)和项目2)发表意见? 是否有优化级别配置指南? 详细说明可在以下附加文件中找到。
此致
本杰明
1)不同的优化级别导致不同的代码执行,这使得DCDC控制算法不稳定。[/QUOT]
我不确定是什么原因导致了这个问题。 请确保所有由中断修改的变量都标记 为volatile。 这通常是造成这种情况的原因。
Benjamin Zhou 说:2)不同的编译器版本导致相同源代码的结果不同。[/QUOT]
在详细说明这个问题的文档中,它指出这个问题在某种程度上与memcpy有关。 修复方法是从使用编译器RTS库中提供的memcpy例程更改为使用memcpy的自定义实现。 我的总结是否正确? 我怀疑这一变化是否能直接解决问题。 这种更改很可能只是掩盖了问题。 虽然我不能肯定,但这似乎是一个时间问题。 而计时问题通常是由于未能在需要的地方使用volatile关键字而引起的。
谢谢,此致,
-George