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/MSP430F2619:printf full / nofloat / minimal,每个full / nofloat / minimal有多少堆/堆栈设置,如何调整?

Guru**** 2584465 points
Other Parts Discussed in Thread: MSP430FR5969, MSP430F2619

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/616738/ccs-msp430f2619-printf-full-nofloat-minimal-how-much-heap-stack-setting-for-each-full-nofloat-minimal-how-to-tweak-this

部件号:MSP430F2619
主题中讨论的其他部件:MSP430FR5969

工具/软件:Code Composer Studio

我是MSP430的新用户(Cortex和其他产品的经验),我想就 堆栈和堆栈建立打印指南。

printf full / nofloat / minimal,每个full / nofloat / minimal有多少堆/堆栈设置,如何调整?

当我研究 MSP430X_MSP430FR5969_LaunchPad_IAR_CCS时,它被设置为最小,堆= 0x160,堆栈= 0x160,但是您的文档推荐的是堆= 0x300和堆栈= 0x400,不知道为什么。

我正在将 打印重新定向到UART,并且不需要CCS控制台,因此我应该取消选中属性中的“启用C I/O功能”以节省内存,对吗?

祝你一切顺利

最后,对于minimal和nofloat printf,应该为MSP430F2619设备设置多少栈和堆I。

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

    一个很好的经验法则是,不要在嵌入式应用(如MSP430)中使用printf,因为它会消耗大量内存。 因此,我建议改用MSP430的UART功能。

    请查看 processors.wiki.ti.com/.../Printf_support_for_MSP430_CCSTUDIO_compiler ,了解您的问题是否已得到解答。 如果没有,请告诉我,我很乐意为您提供帮助。

    此致,
    Caleb Overbay
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已经阅读了几篇有关MSP430 printf的TI文档,没有详细说明在FULL,NOFLOAT和MINIMUM下闪存/堆栈/堆栈消耗的差异。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Richard:

    我们使用各种printf支持级别获得的有关必要堆大小的信息非常有限,因为printf不常用,在使用MSP430时甚至不鼓励使用。 要确定所需的堆大小,您需要在系统中试验性地确定该堆大小。 再次,我需要建议您使用UART通信,而不是使用printf。

    此致,
    Caleb Overbay
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Tine-printf (第三方)是否会比printf的stdio版本小得多?
    我很乐意使用这一款,甚至可能会将其进一步减至最低功能。 它说,它在闪存中占用640字节空间,与MSP430F2619器件的120K闪存相比,这是一个小问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Richard:

    不幸的是,我不熟悉Tine-printf,与stdio相比,我无法评论它的性能。 总的来说,我认为最简单的解决方案是使用UART接口与您的PC进行交互。

    此致,
    Caleb Overbay