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.

[参考译文] TMS320F280049C:浮点值的 printf 问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1066344/tms320f280049c-problem-with-printf-for-floating-point-values

部件号:TMS320F280049C
“线程”中讨论的其它部件:C2000WARECCStudioENERGY-TRACE

我有一个运行在 TMS32F80049C 上的简单“Hello World”应用程序 ,我可以用“%d”打印 f()文字文本和整数。  输出显示在 Code Composer Studio 的控制台窗口中。

但是,当我尝试 printf("value =%f",1.23)时,  没有显示任何内容,处理器似乎通常会在 l_div28.asm 中被捕获(当我暂停执行时),代码部分被注释为“执行除法”。

我已尝试将堆增加到0x800,堆栈增加到0x1000。

我正在使用链接器命令文件280049C_FLASH_lnk.cmd (进行轻微修改以适应增加的堆栈和.CIO 部分)

在项目创建时,运行时支持库已设置为<auto>。

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

    埃里克,您好!  

    感谢您的帮助。  请告诉我们您使用的工具的版本(C2000Ware,CCS,Compiler ...)?

    此致,

    克利须那  

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

    克利须那,你好!

    感谢你的回复。  我正在粘贴下面的“配置内容”:

       分析套件   4.1.0.202106281057
       Apache Jakarta log4j 插件   1.2.15.v201012070815
       ARM Clang 编译器工具   1.3.0.LTS
       ARM 编译器帮助   18.1.0.20181119225258
       ARM 编译器工具   20.2.5.LTS
       C/C++开发工具   10.2.0.202103011047
       C/C++ GCC 交叉编译器支持   10.2.0.202102261947
       C/C++内存视图增强   10.2.0.202012191711
       C/C++远程启动   10.2.0.202012191711
       C2000编译器帮助   18.1.0.20180221222139
       C2000器件支持   6.3.0.0
       C2000仿真闪存   1.0.0.5
       C2800编译器工具   21.6.LTS
       CCS 和 SAT 通用组件具有   11.0.0.202109080900
       CCS 文档   11.0.0.00012
       CCS Launcher   11.0.0.20210910
       CCS 实用程序   9.1.0.20190321
       CCStudio P2工具功能   7.0.0.202001271514
       铬浏览器功能   11.0.0.202109080900
       Code Composer Studio 基本组件   11.0.02507
       Code Composer Studio IDE ARM 组件   11.0.0.202109080900
       Code Composer Studio IDE C2000组件   11.0.0.202109080900
       Code Composer Studio IDE C5500组件   11.0.0.202109080900
       Code Composer Studio IDE C6000组件   11.0.0.202109080900
       Code Composer Studio IDE C7000组件   11.0.0.202109080900
       Code Composer Studio IDE 主要特性   11.0.0.202109080900
       Code Composer Studio IDE MSP430组件   11.0.0.202109080900
       Code Composer Studio IDE 工作流程   8.2.0.202109080900
       Code Composer Studio 用户指南   11.0.0.202109231134
       编译器工具联机文档   1.1.6.
       调试服务器   11.0.0.2507
       调试服务器闪存   11.0.0.2507
       DVT -能量追踪   4.1.0.202106281057
       DVT -图形可视   化4.1.0.202106281057
       DVT - Profiler 分析管理器   4.1.0.202106281057
       DVT -资源管理器   4.1.0.202106281057
       DVT -系统分析仪   4.1.0.202106281057
       DVT -包络控制   4.1.0.202106281057
       Eclipse 帮助系统   2.3.500.v20210303-1800
       Eclipse 平台   4.19.0.I20210303-1800
       Equinox P2,Discovery UI 支持   1.2.800.v20200916-1234
       Equinox P2,IDE 配置。    2.4.111.v20210227-0235
       全环基金   (MVC) 3.11.0.2016061308
       Eclipse   5.11.0.202103091610-r 的 Git 集成
       图形建模框架(GMF)运行时第三方组件   1.13.0.202004160913
       GUI Composer 底板功能   9.0.0.202109080900
       GUI Composer 程序模型功能   8.2.0.202109080900
       IDE -调试服务器集成功能   11.0.0.202109080900
       图像分析器   4.1.0.202106281057
       LWInstaller   11.0.0.00012
       Marketplace Client   1.9.1.v20210204-1408
       node.js   14.16.0
       p2appf   10.1.0.202109080900
       远程系统资源管理器最终用户运行时   4.5.300.202101081641
       ROV   4.1.0.202106281057
       RTSC/XDCtools (IDE 客户端)   3.62.1.16
       RTSC/XDCtools (目标运行时支持)   3.62.1.16
       RxTx 最终用户运行时   2.1.8.0_201606281300
       系统配置   1.10.0.2163
       TargetDB 默认 Props   11.0.0.N202109080900
       TI Cloud Agent   0.5.3466
       TI 仿真器   9.5.0.00143
       TI 仿真器插件   1.1.0.202005140757
       TI 目标内容   1.0.202108240846
       TIREX 台式   机3.8.0.201911142334
       TIREX4台式   机4.8.0.202106161344
       TM 终端   10.2.0.202012191711
       TM 终端串行连接器扩展   10.2.0.202012191711
       痕量分析仪   4.1.0.202106281057

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

    埃里克,您好!  

    谢谢...这是很多信息。  更具体地说, 以下各项的版本是什么:  

    CCS,

    C2000Ware,

    最后,编译器...

    此致,

    克利须那

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

    抱歉!  

    CCS 版本为11.0.0.00012

    C2000Ware 版本为4.00.00.00

    C 编译器是 TI-CGT-C2000_21.6.0.LTS

    感谢你的帮助!

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

    更多信息:

    1.堆大小设置为0x1000,堆大小设置为0x2000

    2.我也尝试使用 sprintf (strbuff,"%f",flatValue),然后使用 printf ("%s",strbuff); 后者也以同样的方式失败。

    3.当代码崩溃时,它似乎滞留在例程__TI_lttoa (长值,字符*buffer)中。  它永远不会退出。

    4.在项目设置中,“printf/scanf 支持级别”设置为“完整”

    如果能提供任何帮助,我们将不胜感激。

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

    回答我自己的问题(再次):-)

    我发现了这个线索:

    CCS/TMS320F28069M:如何使 printf 与浮点一起使用?”

    请参阅螺纹底部。  这正是我遇到的问题。  我增加了项目属性中的堆栈和堆大小。  当链接器抱怨堆栈对于 RAMM1太大时,我只是增加了 RAMM1的大小以适应较大的大小,但是,正如上面提到的线程所说,RAMM1的大小不能超过0x400的大小。  有趣的是,链接器没有对此抱怨。  无论如何,将堆栈重新分配给 RAMGS1就是一个诀窍!