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:UART通信

Guru**** 2529560 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/566884/ccs-uart-communication

工具/软件:Code Composer Studio

德拉斯,

我发现在 http://processors.wiki.ti.com/index.php/ProgramModelUart_GuiComposer上有一个Wiki页面介绍了如何使用UART监视器进行调试 

我的代码,在launchpadXL-F2.8069万M EVM上运行,可从上面的链接下载。 但使用此解决方案后,我无法获得预期的调试结果,请您对此提供帮助吗?

下面是我所做的工作:

1.我确信 我的launchpadxL-F2.8069万M是好的,因为我可以在运行lauchpad演示代码后从UART端口获取数据。

2.将c28_UART_MONITOR代码下载到此EVM。

3.我在CCXML文件中添加了UART接口,端口:COM4,波特率:9600,这是因为我看到固件中的波特率设置为9600。

4.单击'Test connection'(测试连接)按钮,我收到消息“[Start: UARTConnection_0] Execute the command: The Diagnostic Command is not defined in the connection properties"([开始:UARTConnection_0]执行命令:连接属性中未定义诊断命令)”

我认为在这一步中我无法获得正确的消息。

5.启动以上CCXML文件,我无法通过UART端口看到变量"error_counter"。 请参见下图。

6.我使用的是6.1 的版本

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

    您可以告诉我最新消息吗? 提前感谢。

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

    是否有任何有关此问题的更新? 我正在等待您的反馈。

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

    我对回复缓慢表示歉意。 您找到的UART监视器是用于GUI Composer的。 GUI Composer是一种工具,您可以在其中创建与目标应用程序交互的客户用户界面。 这些接口可以使用UART监视器读取内存,在某些情况下还可以写入内存。

    因此,您可以创建一个GUI,在屏幕捕获中显示这两个变量的值。 这是您想要做的,还是您希望通过UART而不是JTAG进行调试,因为您担心会停止目标读取内存?

    UART监视器不是调试接口。 但是,28x设备支持实时访问。 您可以在CCS中刷新表达式视图,它可以读取这些值,而不会停止目标应用程序。 因此,如果您担心停止目标

    此处提供了一些更多信息:
    www.youtube.com/watch
    processors.wiki.ti.com/.../CCS_Modules_Library

    此致,
    John
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    另一条评论。 从技术上讲,您设置的内容将使您能够查看全局变量。例如,如果ErrorCount和LoopCount是可以工作的全局变量。 它不适用于局部变量。 全局变量解析为监视器可以读取的内存中的固定地址。

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

    感谢您的回复。

    问:您是因为担心停止目标读取内存而希望通过UART而不是JTAG进行调试,还是希望通过UART而不是JTAG进行调试?

    答:是的,这就是我选择使用UART监控的原因。 此外,如果使用JTAG调试,则将实施隔离器,UART接口中已有一个隔离器。 我只是想实施一些变量,比如循环系数,输出电压,来查看和修改,所以我选择使用GUI编辑器。

    从我在前几个帖子中的问题来看,我想您已经知道ErrorCount和loopcount是全局变量,但在我的案例中,无法查看和修改它。 请您分享一些有关此问题的意见吗? 由于成本和安全性,我真的想使用UART进行调试。

    似乎不建议用户使用TI的UART监视器工具,您可以告诉我您有何顾虑吗?

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

    千斤顶,

    感谢您提供信息。  使用UART监视器对于GUI Composer来说是合适的。  我只是不确定您是否发现了这种情况,是否希望将其用作JTAG的调试替代方案,或者您是否希望在GUI Composer中执行某些操作。  许多年前,通过串行接口进行调试非常常见。  您所描述的用例非常适合GUI Composer。  我们只需要弄清楚为什么它不起作用。

    我将在使用示例项目进行IT设置时获取F2.8069万M LaunchPad。

    此致,

    John

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

    千斤顶,

    不要担心没有定义诊断命令的消息。  这是预料之中的。  此时,测试连接功能仅用于JTAG连接。

    启动调试会话后,您是否在调试视图中选择了UART连接,然后从示例项目中加载符号?

    如果不这样做,我将收到您在将ErrorCount添加到表达式视图时收到的相同"错误:找不到标识符:ErrorCount"消息。  基本上,UART连接也需要有与其关联的符号。  它不会自动查看28x内核的符号。  这是因为当有多个内核时,它不知道要获取哪些内核。

    希望这就是您所看到的问题。  

    完成此操作后,我可以将变量添加到表达式视图,并启用持续刷新以查看更新

    此致,

    John

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

    加载符号是否能为您解决问题?

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

    感谢您的大力支持。 是的,此问题已通过加载符号得到解决。

    再次感谢..

    此致,
    千斤顶