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.

[参考译文] MSP430FR5994:针对- printf、浮点和代码中循环的通用代码优化

Guru**** 2390755 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1061700/msp430fr5994-generic-code-optimization-for---printf-floating-point-and-for-loops-in-the-code

器件型号:MSP430FR5994

大家好、

我正在执行一个相当密集的代码来在 MSP430上执行神经网络。 虽然代码构建正确并且调试也会给出一些结果、但我在代码中确实会收到许多警告、即对于 printf 命令(建议在运行时将它们移动到 RAM)、浮点运算(建议在运行时将它们移动到 RAM) 和用于循环(向上计数并将其移动到 RAM)。 当我的代码正确执行时、我暂时忽略了它们。 但是、执行速度相当慢、我想办法来处理这三个在代码的许多实例中出现的警告问题。 为了支持我的执行、我更改了一些设置、如下所示:

printf 支持-完整;优化级别- 0 (寄存器优化);用于动态分配的堆大小- 400。  

RAM 使用情况如下: MSP430: 闪存/FRAM 使用情况为188266字节。 RAM 使用情况为4398字节。

此外、我将通过以下设置更改链接器文件、以确保为数据模型提供足够的空间:

#ifndef __large_data_model__
.const:{}> FRAM /*常量数据*/
其他
.const:{}>> FRAM2 /*常量数据*/
#endif

在所有这些更改都已实现并且代码几乎正确执行功能的情况下、我可以在设置或内存分配中进行哪些可能的更改来处理我上面提到的警告? 如果我能够了解 MSP430如何响应我所做的更改、这将非常有帮助、因为我还可以检查我是否可以对代码进行一些更改。   

此致、

Siddhant

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Siddhant、

    您收到的警告是否显示在"advice (建议)"选项卡中或以此链接[link]中所示的"(ULP X.Y)"开头?

    这些警告应由 ULP Advisor 生成、ULP Advisor 是一种静态分析工具、可通过一组低功耗编码规则扫描您的代码。 MSP430项目默认启用此功能。

    如果您在建议选项卡中单击警告、则应打开有关规则含义/如何纠正警告的详细信息。

    谢谢、

    王国新