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.

[参考译文] CCS/MSP430G2553:RAM使用问题

Guru**** 2540720 points
Other Parts Discussed in Thread: MSP430G2553

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/572221/ccs-msp430g2553-problem-with-ram-usage

部件号:MSP430G2553

工具/软件:Code Composer Studio

大家好,

我正在为我的一个项目使用msp430g2553。 其中的RAM空间为512字节,可用闪存为16 KB。 写完程序后,当我尝试编译它时,它给我一个错误,说1.0099万-D程序不适合可用内存。

然后,我浏览了内存分配视图,我可以注意到RAM已溢出,并且使用了闪存88 %。 因此,我确认(如果不是错的话),程序的大小 更大 , RAM空间不足以处理我的应用程序中发生的所有操作。

我开始检查可能导致此问题的原因。 我正在使用Powf()函数计算 数字的十进制数。 当我注释掉这一行(包含powf())时,我发现使用的RAM空间仅为54 %。 看到这个powf()函数在整个应用程序中使用的RAM超过50 % ,我感到震惊。

因此,我的问题是,是否有任何其他方法来计算数字的十进制数(例如:1.2 ^ 3.22),以便我可以减少RAM空间。 或者采取任何其他可能的措施,使我的程序完全适合可用内存。

谢谢,此致,

Subash D.

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

    Subash Deva 说:
    我震惊地看到这个powf()函数在整个应用程序中使用的RAM比50 % 要多。

    此函数将整个浮点"基础设施"(如支持和类型转换函数)拉入项目中。 如果您使用了另一个(如sinfo()),您将看到预期的小幅增长。

    最好为代码查找整数算法,并避免将浮点放在一起。 或使用具有更多RAM的其他MCU。