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.

[参考译文] MSP430F5342:检测到浮点操作。 建议在运行时或不使用时将它们移至 RAM、因为它们处于处理/功耗密集型警告!!!!

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1226033/msp430f5342-detected-floating-point-operation-recommend-moving-them-to-ram-during-run-time-or-not-using-as-these-are-processing-power-intensive-warning

器件型号:MSP430F5342

大家好,我使用 MSP430读取来自传感器的温度。   使用进行一些浮点计算的函数将从传感器读取的数字温度值转换为模拟值。 执行控制不会进入浮点计算函数,我看到了上述警告。 我浏览并按照下面的链接找到了一些链接、我尝试将该函数放入 RAM 中、如下所示、 但它对我没有帮助。

有什么我在这里遗漏的,建议将是有帮助的。

#pragma code_section (tempDigitalToAnalogConversion、".ramfunc")

浮点 tempDigitalToAnalogConversion (int digitalTemp)  

}

在 lnk_msp430f5342.cmd 文件中,如下所示:

部分

…μ A。

.ramfunc:{}load=flash、run=RAM //这意味着将函数从 闪存加载到 RAM 中并在 RAM 中运行、

 

…μ A……

}

谢谢  

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

    你有速度或动力瓶颈? 如果没有、请不要担心。 这只是建议。

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

    否,但问题是执行控制不在浮点函数内部。  

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

    除非您只想了解如何将函数放入 RAM 中、否则只需删除 pragma 和命令文件调整并从闪存中运行即可。

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

    如果浮点可以让您足够快地完成任务、请忽略该警告。

    将这些运算移动到 RAM 并非易事、因为所有工作都是在由链接器拉入的库代码中完成的。

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

    尊敬的 David、Keith

    我试图将此浮点运算函数移动 到 RAM 的原因是,此函数在正常情况下没有被调用,就像所有其他函数被调用一样。 我可能会看到如下所示的屏幕截图所示的警告消息。 要求将数字温度值转换为模拟值、为此必须执行浮点函数"tempDigitalToAnalogConversion"。 有任何方式,没有把这个函数到 RAM 我可以执行它.

      

    谢谢。此致、

    Soumya

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

    正如 Keith 提到的、这是建议、不是警告。 你可以无视它,没有内疚。 可以使用"Build Settings->Build->Settings->Compiler->ULP Advisor"禁用检查。 (我很确定 ULP Advisor 不能判断您的函数是否在 RAM 中、因为链接器是用于将其放置在 RAM 中的。)

    建议消息对执行没有影响。 如何判断未调用该函数?

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

    我认为您需要共享您的代码、一个显示问题的下载版本会很有用-并且通常在对其进行比较时、您会发现问题。

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

    尊敬的 Keith、Bruce

    问题已解决。  由于  编译器优化、该函数被删除。

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

    如果您调用它、它不应该被删除。 跳至 CCS 电路板并将其解释为编译器错误。

    https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum