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.

[参考译文] 编译器/TM4C1237H6PZ:调试模式下的标准IO函数

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/626299/compiler-tm4c1237h6pz-standard-io-functions-in-debug-mode

零件号:TM4C1237H6PZ

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

大家好,支持!

我需要帮助以使标准I/O功能在调试模式下工作。
我能够做的诊断是:__CIOBUF_未被清除(调试器是否读取?) 在调用__TI_writemsghas之后,以便__TI_readmsgre翻转 值499,该值显然会使系统跳进缓冲区的无效部分。
不显示CIO控制台,发出故障条件并调用FaultISR。

printf支持设置为“已满”。堆大小设置为2kBytes,启用CIO函数使用。 我缺少什么?

而Project 455.529万则正在进行开发,打开CIO控制台并显示精彩的"Hello World"! 字符串。
我尝试检查项目属性中的差异,但未能找到(对我而言)任何有意义的差异。

请帮帮我。

谢谢,此致,

Alberto

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    CIOBUF确实不会在CIO调用之间清除;这本身并不表示存在问题。
    请确保您已阅读 processors.wiki.ti.com/.../Tips_for_using_printf
    确保CIOBUF位于读写存储器中,而不是闪存中
    可能是2k堆不够。 尝试增加堆的大小。
    尝试使用setvbuf为stdio提供自己的非动态缓冲区
    您致电哪个职能部门来执行CIO? 我认为它是printf? 尝试使用"置换"
    您是否以任何方式更改了RTS库?