主题中讨论的其他部件:MATHLIB
工具/软件:TI C/C++编译器
大家好,
我有一个相当复杂的信号处理项目。 到目前为止,我使用的是编译器版本7.4 .x (最新版本是7.4 .23)。 我开发了代码,但没有优化编译器来跟踪功能。 然后,我激活了编译器优化,同样的功能可以在较低的测量负载下工作-一切都正常。
最近,我不得不从编译器版本7切换到版本8。 现在,在没有使用优化时,代码就可以工作。 但是,在打开优化时,代码不再按预期工作(o2级-全局优化)。 我已经更改了一些代码片段,并取消激活了某个特定文件的优化,使代码再次正常运行,但我认为这不是一个真正可取的解决方案。
代码是中断服务例程中的连续操作流程-不涉及对多线程的依赖。 此外,不使用restrict关键字。 我使用TI mathlib和DSPLIB。 另外,如果使用8.1 4或8.2 1版本的编译器,则会有不同:显示的不需要的行为不同。 我还尝试激活各种编译器选项,例如,保持浮点运算顺序的选项。 这些都没有真正解决问题。
其他用户是否知道这类问题? 如何跟踪故障原因? 也许,编译器版本8所做的优化被破坏了?
此致
Hauke