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.
CGT C2000支持团队您好、
我注意到编译器在编译时未优化以下内容:
sqrt(2)
相反、生成的汇编代码显示对 sqrt 进行了实际运行时调用。
我想这种行为从根本上说是合理的,因为 sqrt ()只是一个函数调用,不能指望编译器知道函数将返回什么。
但是、编译器识别某些标准数学函数并评估常量表达式似乎是合理的。
毕竟、它在使用 TMU 的上下文中识别 sqrt、sin、cos、atan 和 atan2。
是否可以进行任何配置来使编译器也能够使用这些函数优化常量表达式?
提前感谢您、
心搏
Beat、F28069没有 TMU、该 TMU 本来可以帮助在 fp_mode=relaxed 中进行 sqrt 计算、因此在这里不适用。 因此、我将把您的问题转交给编译器专家、看看他们是否有任何意见。
谢谢、
Sira
您好、Sira -我知道 F28069没有 TMU。
这个问题与 C2000 CGT 有关、而不是特定的 C2000器件。
是的。 如果使用类似的选项进行构建...
--fp_mode=relaxed --tmu_support=tmu0 --opt_level=2
(笑声) 然后将 sqrt (2)替换为常数。 要了解这些选项、请在 C28x 编译器手册中搜索它们。
请注意、如果 C28x 器件的数据表未指定 TMU 可用、则无法使用选项--TMU_support。
谢谢、此致、
乔治