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.

[参考译文] TMS570LS1227:CCS 12.8.1/DSS:不会通过 TMS570 (Cortex‑R) 上的脚本执行操作来显示硬件观察点配置

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1628959/tms570ls1227-ccs-12-8-1-dss-hardware-watchpoint-configuration-not-exposed-via-scripting-on-tms570-cortex-r

器件型号: TMS570LS1227

TI 团队大家好、

我正在 TMS570 (Cortex‑R) 目标上使用 Code Composer Studio 12.8.1 和 DSS 脚本(通过 Py4J 编写 Python)、并尝试通过 DSS 以编程方式配置硬件数据观察点(写入访问)。

工作原理

通过脚本创建硬件观察点对象会成功、例如、通过创建类型 2(硬件观察点)的属性并添加断点。

可通过 CCS GUI(地址,写入访问,大小)成功配置相同的观察点。

DSS 脚本可正常用于:

  • 软件断点
  • 指令 (PC) 硬件断点
  • 启用和禁用现有断点

哪些不起作用

尝试通过脚本配置观察点时、似乎没有公开配置 API。

基于属性‑的配置失败
所有尝试的属性路径都会导致如下错误:

  • ScriptingException:找不到属性类型
  • ScriptingException:找不到属性触发器类型

失败的示例包括尝试使用属性路径设置观察点位置或访问类型、例如:

  • Hardware Configuration.Type.Trigger Type.Location
  • 触发器类型。位置
  • 触发器类型。内存

基于方法‑的配置不可用
检查 BreakpointProperties API 仅显示通用设置器、例如:

  • setString
  • 设置数字
  • setBoolean
  • setSourceLocation

setLocation、setAccessType 和 setAccessSize 等方法不存在。
此外、setSourceLocation(字符串)不存在(它需要源文件和行号,而不是地址或符号)。

打印属性 ()
调用 printProperties () 不会从脚本端生成可见的可配置观察点字段。

到目前为止的结论

根据上述情况、在 CCS 12.8.1 中、DSS 似乎不会公开公共脚本 API 来在 Cortex‑R/TMS570 上配置硬件观察点、即使 GUI 明确支持此功能也是如此。

向 TI 提问

  1. 这是 CCS 12.8-1 中 Cortex‑R 目标的 DSS 脚本的已知限制吗?
  2. 是否有任何受支持的脚本 API 可用于在 TMS570 上配置以下内容:
    • 观察点地址
    • 访问类型(读取/写入)
    • 访问大小
  3. 此功能是:
    • 在较新的 CCS/DSS 版本中提供、或者
    • ‑使用 GUI?仅出于安全或调试架构原因?
  4. 是否有任何建议的权变措施(例如,通过脚本编写或混合 GUI 加脚本编写工作流进行部分配置)?

此功能对于测试自动化非常重要、因此我们非常希望提供任何指导或确认。

感谢你的帮助。

此致、
Marcin

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

    尊敬的 Marcin:

    我不是这方面的专家、

    不过、我们有一个内部 AI 工具可以分析与此控制器相关的所有配套资料、当我向大家提问题时、我得到了一些建议。 请您介绍一次。

    在 CCS 12.8.1 中、这是针对 Cortex‑R 目标的 DSS 脚本的已知限制吗?

    是的、这是 CCS 12.8-1 中 Cortex-R 目标的 DSS 脚本中的已知限制。 GUI 中提供的完整硬件观察点配置功能不能通过脚本接口完全公开。

    是否有任何受支持的脚本 API 可用于在 TMS570 上配置以下内容:
    • 观察点地址
    • 访问类型(读取/写入)
    • 访问大小
    [/报价]

    虽然您尝试的直接属性路径不起作用、但使用通用属性设置器有部分解决方法。 对于 TMS570/Cortex-R 目标、您可以尝试:

    # Create the hardware watchpoint
    bp = debugSession.createBreakpoint(2)  # Type 2 is hardware watchpoint
    bp_props = bp.getProperties()
    
    # Configure the watchpoint
    bp_props.setNumeric("Address", 0x08001234)  # Your target address
    bp_props.setString("Access Type", "Write")  # Options: "Read", "Write", "Read/Write"
    bp_props.setNumeric("Size", 4)  # Size in bytes: 1, 2, 4
    
    # Apply the configuration
    bp.update(bp_props)

    此功能是:
    • 在较新的 CCS/DSS 版本中提供、或者
    • ‑使用 GUI?仅出于安全或调试架构原因?
    [/报价]

    最近的 CCS 版本中存在此限制。 这不仅仅是出于安全原因、而且是调试后端与脚本层如何连接的结果。 向 GUI 显示的完整属性树未完全映射到脚本 API。

    是否有任何建议的解决方法(例如,通过脚本编写或混合 GUI 加脚本工作流进行部分配置)?
    [/quote]

    选项 1:通用属性设置器

    尝试上面代码片段中的方法。 密钥使用的是正确的属性名称、该属性名称可能会因目标而略有不同。

    选项 2:GEL 文件集成

    对于 TMS570、您可以创建一个带观察点配置函数的 GEL 文件并从 Python 脚本中调用这些函数:

    # In your Python DSS script
    debugServer.sendGELCommand('configureWatchpoint(0x08001234, 4, "write")')

    使用相应的 GEL 函数:

    // In your GEL file
    configureWatchpoint(unsigned int address, int size, string access_type)
    {
        // GEL commands to configure hardware watchpoint
        // ...
    }

    备选案文 3:混合办法

    如果上述选项无法可靠工作、请考虑混合方法:

    1. 在 GUI 中创建模板观察点配置
    2. 将它们保存在 CCS 配置文件中
    3. 在需要时通过脚本加载这些配置
    4. 使用脚本根据需要启用/禁用它们

    --
    此致、
    Jagadish。

    [/quote][/quote]