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.

[参考译文] TMS320F28335:集线站-是否可以通过串行端口从计算机实时修改变量

Guru**** 2569105 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1367371/tms320f28335-docking-station---is-it-possible-to-modify-a-variable-in-real-time-from-the-computer-through-serial-port

器件型号:TMS320F28335

工具与软件:

您好!

我将集线站与 F28335评估板配合使用。  

我想实时更改变量的值。 实时而言、我的意思是不必暂停执行。

实际上、在调试过程中、我需要按暂停键来更改变量。

是否可以通过串行端口,通过使用一些第三方应用程序,如 Putty 来实现它?

感谢您的回答。

马特奥

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

    您好!

    Unknown 说:
    是否可以通过串行端口,通过使用 Putty 之类的第三方应用程序来实现?

    只有当您在控制卡上配置 SCI 模块并使用串行 DB9电缆时、此方法才可行。 您不必使用 Putty、也可以使用 CCS 写入串行端口。

    Unknown 说:
    实际上,在调试过程中,我需要按下暂停键来更改变量。

    您确定这是对吗? 至少在较新的 C2000器件上、情况并非如此。 您是否已将表达式设置为持续刷新?  

    此致、

    本·科利尔

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

    本杰明、您好!

    非常感谢您的回答。

    您确定这是对吗? 至少在较新的 C2000器件上、情况并非如此。 您是否已将表达式设置为持续刷新?  [/报价]

    运行时、即使启用了持续刷新、我也得到了以下结果:

    我尝试在调试会话中启用实时模式:

    如您所见、启用硅实时模式已按下、也是连续刷新、但我的观察表达式中仍然没有更新值(当我暂停时、我有这些值、可以编辑)

    我通过项目属性进行相同的编辑

    但在尝试启动调试时、出现以下错误:   

    连接到目标时出错:
    (错误-1133 @ 0x0)
    器件阻止了调试访问、因为其当前正在执行不可调试的代码。 您可以在器件有时间输入可调试代码后重试、也可以取消选择、禁用实时模式、然后尝试连接。
    (仿真软件包9.11.0.00128)

    取消选中"Enable polite Mode"后、但保持启用实时模式、出现以下错误:

    连接到目标时出错:
    (错误-1133 @ 0x0)
    器件阻止了调试访问、因为其当前正在执行不可调试的代码。 您可以在器件有时间输入可调试代码后重试、也可以取消选择、禁用实时模式、然后尝试连接。
    (仿真软件包9.11.0.00128)

    谢谢!

    此致

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

    您好!

    即使在运行 LED 示例等基本示例时、您也会遇到此问题吗?  

    此致、

    本·科利尔

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

    您好!

    它也不起作用。

    我找到了一个使其正常工作的解决方案:我将变量声明为 静态。

    您知道它为什么可以工作吗?

    此致、

    Matt é o

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

    Matteo、

    如果将您的变量声明为静态可以解决您的问题、那么我想这意味着这些都是局部变量? 如果在循环中声明了闪存、则存储它们的地址可能会不断变化、因此调试探针不知道读取/写入的位置。  

    将变量更改为静态会使其成为一个条件、这样在每次声明期间、地址不会改变、并且每次声明时、变量的值可能保持不变。

    我想您也不会遇到全局变量的这个问题。 如果您想详细了解这些内容、有很多地方可以阅读、因为这是一个与我们的 MCU 无关的常规 C 功能。  

    此致、

    本·科利尔