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.

[参考译文] TMS320C5517:在 Load &Run 下进行 printf

Guru**** 2431000 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1541452/tms320c5517-printf-under-load-run

部件号:TMS320C5517


工具/软件:

你好,我尝试使用 printf() 在控制台窗口上显示文本消息;在运行时通过“选择要加载的程序“,但不像在调试模式下工作。printf () 在加载到运行模式下是否可以在控制台上使用?

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

    尊敬的 Takahiro-san:

    printf() 函数只能将输出打印到 CCS 控制台。 只要您使用 CCS 通过 JTAG 加载程序、printf 就会在 CCS 控制台上打印输出。 如果您尝试使用无头方法(例如 loadti)加载和运行程序、则没有 CCS 控制台窗口、因此没有 printf 输出。

    在这种情况下,您可能需要使用 UART 输出函数:uart_fputs ()。

    此致、

    Ming

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

    你好,明山.感谢你的回答。  在我们的环境中、我们通过将使用 C5517 的定制电路板连接到 CCS v12 和 XDS100v2 (JTAG-Emulator) 来开发、调试和运行程序。 在此程序中、使用 printf 将预期文本显示在 conbsole 上、但当使用 Select program to load(*。out 文件)进行加载并运行时、不是在调试模式下、printf 仅在第一次显示、并且不会执行应在下一个事件中显示的 printf。 我想知道这种情况的原因,以及如何解决。(请指出任何问题)谨致问候, 奥古津高弘。

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

    尊敬的 Takahiro-san:

    我不确定是否会得到“通过 XDS100v2 加载和运行程序“与“当使用 Select program to load(而不是在调试模式下)加载并运行此程序(*。out 文件)时“之间的区别。 只要使用 CCS 和 JTAG 加载和运行程序(*。out 文件)、CCS 控制台就存在、因此 printf 应显示在 CCS 控制台中。

    另外、我对“ printf 仅在第一次显示“感到困惑。 di 您是指 printf 仅在 CCS 控制台上输出一次、然后停止工作? 如果是这种情况、程序会出现问题、即下一个 printf 未执行。  

    此致、

    Ming

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

    您好、Ming-San.感谢您的回答。确实、我的理解与“在 CCS 上通过单击调试按钮进行调试“和“通过选择 Run->load->Select program to load->*.out file selection“进行程序执行(运行)之间的理解相同。但在我的实验中、格式化程序按预期工作、 而在后者,只有 printfs(除了 1 ' t printf 和其他编程的事项<正确的工作连续)不工作。然后我会看 intterupt 等的时间.如果你猜或指出相同的事情在我的理解或等.请教我。祝好,奥古津隆广。

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

    尊敬的 Takahiro-san:

    如果是这种情况、则程序中会出现问题或者您使用 printf 的方式不正确。

    printf 函数会非常具侵入性。 它会在执行时禁用所有中断、并且速度也很慢。  

    如果您在 ISR 或时间关键型任务中使用 printf、肯定会有问题。

    你可能想使用  uart_fputs() 函数。

    此致、

    Ming