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/TM4C123GH6PM:SYSTEM_FLUSH而不禁用中断

Guru**** 2611705 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/641257/ccs-tm4c123gh6pm-system_flush-without-disabling-interrupts

部件号:TM4C123GH6PM

工具/软件:Code Composer Studio

您好,

我正在使用TM4C123GXL启动板及其电路内调试器,使用CCS 7.3 和TI-RTOS来处理一个项目。

我发现System_printf()函数对于调试非常方便,尽管我发现调用system_flush()会长时间禁用中断(大约70毫秒)。

是否有方法在不禁用中断的情况下使用system_printf工具?

(system_printf对我来说很神奇,我不知道它是如何与调试器通信的)。

如果在不禁用中断的情况下无法使用它,我将切换到使用UART输出诊断数据。

谢谢!

Nathan

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

    当您调用System_flush (我假设您在.cfg文件中的系统代理上使用SYSMIN)时,内部缓冲区将刷新到CIO。 这会导致出现中断点,以便CCS读取缓冲区。 注:printf有同样的问题。 以下是更多详情: processors.wiki.ti.com/.../Tips_for_using_printf

    当您使用System_printf (我再次假设您在.cfg文件中的系统代理上使用SYSMIN)时,生成的字符串将保留在内部缓冲区中(大小由.cfg中的SYSMIN.bufSize指定)。 您可以在“工具”->“ROV”->“SYSMIN->OutputBuffer”中查看该字符串,或者像以前一样,调用System_flush将数据发送到CCS控制台。

    您可以插入UART将数据发送到UART。 请看UARTConsole示例。 当将字符从UART发送出去时,.cfg插入UARTUtils_systemPutch中用于putch函数注意:putch函数在System_printf函数中调用。 对于SYSMIN,putch函数会将字符放入内部缓冲区。

    托德