我正在使用两个函数实现来计算神经网络的 Mel 频率系数。 我的代码正在完全执行,没有任何问题。 但是,在使用“能量追踪”技术估计所需的平均能量后,我发现所需的时间大多是计算这些系数,因为它们使用浮点运算。 编译器发出的警告是标题中提到的 ULP 5.2。 虽然我发现了一些类似的警告问题,但我没有找到一个解决运行时将操作移至 RAM 的可能解决方案或方法的答案。 我不能改变或放弃浮点,因为浮点是计算正确性的组成部分。 我如何针对 MSP 发布的建议/警告实施解决方案。 我尝试对链接器文件进行一些更改,即在 FRAM 上移动我的变量和 pragma 声明,并在文件的以下部分中将“.run”指定为“FRAM2”:
#ifdef __TI_Compiler_version__
#if __TI_Compiler_version__>=15009000
#ifndef __lar_code_model__
.TI.ramfunc:{} load=FRAM, run=FRAM2, table(BINIT)
#else
.TI.ramfunc:{} load=FRAM | FRAM2,run=FRAM2,表(BINIT)
#endif
#endif
#endif
但是,我仍然不能确定在 MSP430中使用浮点运算时,可以在何处以及在哪些方面对代码进行精确更改以提高功耗。 如果需要其他信息,请告诉我。 谢谢你。