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.

[参考译文] Compiler/MSP430F5529:How to enable full printf float support for GNU 6.4 v.0.32 SOMNIUM on CCS v 7.3 .0

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/656522/compiler-msp430f5529-how-to-enable-full-printf-float-support-for-gnu-v6-4-0-32-somnium-on-ccs-v7-3-0

部件号:MSP430F5529

工具/软件:TI C/C++编译器

从CCS v 6.1 1升级到CCS v.7.3 0。 这还需要将MSP430编译器从GNU 4.9 v.1 (Red Hat)更改为GNU v.6.4 .0.32 (SOMNIUM技术有限公司)。 因此,以前使用printf打印的代码不再打印浮动。 与TI编译器不同,GNU编译器似乎没有选择printf float支持级别的选项。 从GNU编译器更改为TI编译器时还会出现其他复杂情况,因此请不要建议这样做。 我正在寻找一种使用GNU编译器启用完全printf float支持的方法。 如果有人知道如何操作,请提供帮助。 谢谢。  

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

    说你可以打印字符串和字符串,但不能打印浮点,这是否准确?  请检查以确保堆栈或堆栈没有溢出。

    谢谢,此致,

    -George

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

    感谢您提供链接,但是我已经找到了,这对我没有帮助。 我确实确认,如果我切换到TI编译器,可以选择printf支持的级别(nofloat,minimal或full),如屏幕截图所示。 但是,从GNU编译器切换到TI编译器会导致许多其他兼容性问题,我不想将1个问题换为10个其他问题。

    我正在寻找有关选择GNU编译器printf支持的帮助。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的,printf打印字符串,ints等,只是不打印浮点。 堆栈/堆没有问题。 缺省printf支持级别的问题并不是新问题。 我花了几个小时的时间在谷歌上搜索它,但由于多年来人们对这个问题的抱怨,以及过去编译器的变化,我无法找到最近的信息。

    部分问题似乎是,在编译器上工作的软件工程师不坚持对此问题的一致决定,并不断根据个人喜好更改默认的支持级别。 这很烦人,但如果有一种简单的方法来修改支持级别,我可以接受。

    在这种情况下,GNU 6.4 v.0.32 SOMNIUM编译器会出现这种情况,他们决定将默认值更改为“完全”支持,并忘记在设置菜单中添加调整方法。 可能有一种编译器标志方法来手动设置此项,如“--printf_support=full”,如果有人知道这是什么,我会很高兴。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    此处的关键是取消定义链接器选项上的符号_printf_float。 请查看下面我展示的短片:

    e2e.ti.com/.../2018_2D00_01_2D00_17_5F00_15h56_5F00_26.mp4

    希望这能有所帮助,

    拉斐尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢! 解决方案有效! GNU链接器->符号,将"_printf_float"添加到--undefined部分。