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/66AK2H12:当为任何内核启动跟踪时、ARM 似乎工作异常。

Guru**** 2606725 points
Other Parts Discussed in Thread: SYSBIOS, 66AK2H12, 66AK2H14, BEAGLEBOARD-X15, AM5728

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/609173/ccs-66ak2h12-arm-seems-to-be-working-abnormally-when-trace-is-started-for-any-core

器件型号:66AK2H12
Thread 中讨论的其他部件:SYSBIOS66AK2H14BeagleBoard-X15AM5728

工具/软件:Code Composer Studio

我正在使用 Blackhawk USB560v2 System Trace 仿真器。

当我开始跟踪任何内核(ARM 或 DSP)时、ARM 似乎无法正常工作。

(我使用的是 TI-RTOS、SMP.in ARM)

当我在 Debug 窗口中选择 Group of ARM Cores 并使用传输类型 ETB 启动跟踪(Tools->Hardware Trace Analyzer ->PC Trace)时、

CCS 将在没有任何错误或警告消息的情况下终止。

当我选择一个内核(例如 A15_0内核或 C66xx_0)并启动传输类型为 ETB 的跟踪时、一旦我恢复 ARM 内核、所有 ARM 内核就会暂停。

(位于 ti_sysbios_famiry_arm_a15_smp 核心_resetKeystone2__i ()。)

 此时、跟踪查看器窗口不显示任何内容。

2.当我选择 ETB 作为传输类型时、它可用于 ARM 和 C66内核?

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

    我正在尝试获取 K2H 板来测试这种情况。

    同时、我怀疑您正在耗尽资源-如果我正确地回忆起 ETB 只能从有限数量的内核中捕获。 但是、CCS 绝不能崩溃。

    当我能够测试这个时、我将返回给您。

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

    您好!

    您使用的是哪个版本的 CCS?  

    我能够使用 Blackhawk BH560v2 STM 同时在66AK2H12 EVM 板上为四个 A15内核正确设置 ETB 跟踪作业-不会崩溃。

    但是、在启用了 ETB 的所有内核上运行代码时、我仍在尝试解决一些问题。 我将回到这个线程。

    这些器件上的 ETB 可用于 ARM 和 C66x 内核。  

    此致、

    拉斐尔

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

    您好、感谢您的回复。

    我正在使用各种 CCS 版本。

    6.2.0.00050、

    7.1.0.00014、

    7.1.0.00016、

    7.2.0.00013

    当我选择 ARM 内核的同步组并开始跟踪时、CCSv 6.x 不会终止、而 CCSv 7.x 会终止。

    在所有 CCS 版本中、当我选择一个内核并开始跟踪时、ARM 内核会在我恢复后立即暂停、跟踪查看器窗口不显示任何内容。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    正如我在上面的注释中所说、即使在 CCSv6.x 中、ARM 内核跟踪(使用 ETB)也不起作用。 武器一旦恢复,即被暂停。
    您是否获得了相同的结果? 如果是、您是否有解决此问题的解决方案?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 USER="Jiyoon OH]在所有 CCS 版本中、当我选择内核并开始跟踪时、 一旦我恢复 ARM 内核、跟踪查看器窗口就会暂停。我之前报告 过无法使用 CCS 6.1.3和 XDS200 USB 板载调试探针为66AK2H14中的 ARM A15内核收集 PC 跟踪、 问题是器件 XML 文件中缺少一些条目。 引用的线程包含一些变通办法。

    我将尝试使用 CCS 7重复崩溃。

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

    谢谢、Chester。
    但不幸的是、您的解决方案无法解决我的问题。

    去苏扎。
    是否可以重现问题? 或者、您可以解决这个问题吗?

    当我运行未分组的 ARM 内核时、PC 跟踪没有问题。

    但是、当我对 ARM 内核进行分组并启动 PC 跟踪时、它们会在启动后立即暂停。

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

    [引用 user="desouza">我 可以使用 Blackhawk BH560v2 STM 同时为66AK2H12 EVM 板上的四个 A15内核正确设置 ETB 跟踪作业-不会崩溃。 Rafael、您的示例程序似乎不是 SYS/BIOS SMP 程序。 而 当 Jiyoon 在 ARM 内核上运行 SYS/BIOS SMP 程序时。

    随附的是在 EVMK2H 的所有四个 A15内核上运行的 SYS/BIOS SMP 程序示例、其中显示了尝试在全部四个 A15内核上启动 PC 跟踪时 CCS 7.2中的问题。  e2e.ti.com/.../66AK2H14_5F00_SMP_5F00_dhrystone_5F00_CortexA15.zip

    [在目标配置中、器件已设置为 TCI6638K2K 而不是 66AK2H12 、因为 66AK2H12 器件文件缺少一些用于跟踪的条目-请参阅 https://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/511744]

    它在 EVMK2H 上运行、引导模式设置为"DSP no boot"、并在 UART 上显示结果(以下示例中的串行 COM12)。 未尝试启动 PC 跟踪时成功运行的示例:

    调试属性的设置方法如下:

    a)删除.launches 目录。

    b)从工程属性中选择 Debug 并选择一个同步组:

    c)对于 Debug Project 属性中的每个 A15内核:

    -取消勾选 Misc/Other Options (其他/其他选项)下的 Allow Software Breakpoints to be used (允许使用软件断点)。 即 使用 SMP Debug 建议的硬件断点

    -取消勾选自动运行和启动选项下的运行到 main 的选项。 如果不这样做、则会出现错误、例如"Could not run analyzer on CortexA15_2 (无法在 CortexA15_2上运行分析器)"。 原因:无法获取控制寄存器值"。

    在上述调试属性设置的情况下、启动调试会话时会创建"Group 1 (Synchronous、Autoload)"、并且所有四个 A15内核都将在 SYS/BIOS SMP 入口点停止。 此时可以选择组并在所有四个 A15内核上启动 PC Trace:

    但是、当尝试恢复组时、所有四个 A15内核都将变为(正在运行)几秒钟、然后返回(已暂停)。 A15内核上的程序计数器均未执行、PC 跟踪查看器均为空。 多次尝试恢复组失败、程序计数器均未更改。 程序实际上卡在入口点。

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

    Chester Gillon 说:
    -在自动运行和启动选项下取消勾选运行到 main 的选项。 如果不这样做、则会出现错误、例如"Could not run analyzer on CortexA15_2 (无法在 CortexA15_2上运行分析器)"。 原因:无法获取控制寄存器值"尝试在组上启动 PC 跟踪。[/QUESP]以下序列介绍了如何使用与上述帖子相同的示例程序在 Cortex-A15内核上运行硬件分析器时遇到错误:

    a)删除.launches 子目录。

    b)启动调试会话、并为 Cortex-A15内核选择一个同步组:

    c)内核0运行到 main、而其他内核暂停(在 SYS/BIOS SMP 启动代码中、等待由内核0唤醒):

    d)尝试在所有 Cortex-A15内核组上使用 ETB 传输启动 PC 跟踪硬件分析器:

    e)获取以下错误:

    并且跟踪查看器窗口只出现在 CortexA15_0内核上。

    f)在"Debug"窗口中选择了"Group"(组)后、尝试恢复执行。 但是、每次尝试恢复执行时、CortexA15_0的程序计数器只前进一条指令(显示在跟踪查看器中):

    g)尝试终止调试会话。 但是、调试会话未成功终止、将显示以下内容:

    此时、Windows 任务管理器显示 CCS 具有两个连续 CPU 线程。 在此状态下、CCS 无法启动另一调试会话、因此必须退出并重新启动 CCS。

    最初使用在  Windows 10下运行的 CCS 7.2.0.00013和 TI 仿真器7.0.48.0发现此和上一帖子中的故障。

    在   Ubuntu 16.04下运行 CCS 7.2.0.00013和 TI 仿真器7.0.48.0会显示与在 Windows 10下相同的故障。

    尝试在 Windows 10下使用 CCS 6.2.0.00050和 TI 仿真器6.0.628.1进行测试、并且尝试在一组四个 CortexA15内核上启动 PC 跟踪硬件分析器时 CCS 6.2崩溃。

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

    [引用 user="Chester Gillon">但是,当尝试恢复组时,所有四个 A15内核都将变为(正在运行)几秒钟,但随后返回(已暂停)。 A15内核上的程序计数器均未执行、PC 跟踪查看器均为空。 多次尝试恢复组失败、程序计数器均未更改。 该程序实际上停留在入口点。[/quot]该问题使用了:

    - CCS 7.2.0.00013,在 Windows 10下使用 TI 仿真器7.0.48.0。

    -在66AK2H14的四个 Cortex-A15内核上运行的 SYS/BIOS SMP 程序。

    -一个带有 XDS200板载调试探针的 EVMK2H。

    SYS/BIOS SMP 程序被移植到 AM5728的两个 Cortex-A15内核上、在一个与 Blackhawk USB560-M 20引脚 JTAG 电缆调试探针连接的 BeagleBoard-X15中运行。 AM5728项目附后。  e2e.ti.com/.../AM5728_5F00_SMP_5F00_dhrystone_5F00_CortexA15.zip

    尝试在 AM5728的两个 Cortex-A15内核中的一组上使用 PC 跟踪硬件分析器也会遇到程序卡在入口点的问题。 为两个 Cortex-A15内核创建了一个同步组、禁用了软件断点并禁用了运行到主系统的操作。

    启动调试会话时、内核在 ti_sysbios_family_arm_a15_smt_Core_resetOMAP5xxx__i 入口点处暂停。 已在 组上启动 PC 跟踪硬件分析器、但未报告错误。  但是、当尝试恢复组时、两个 Cortex-A15内核都将更改为(正在运行)几秒钟、但随后返回(暂停)。 A15内核上的程序计数器均未执行、PC 跟踪查看器均为空。 多次尝试恢复组失败、程序计数器均未更改。 程序实际上卡在入口点。 当尝试运行一个或两个 Cortex-A15内核时、可报告"准备同步执行时遇到问题:同步运行或停止所需的通道不可用"错误:

    因此、在一组 Cortex-A15内核上尝试启动 PC 跟踪硬件分析器时出现的问题出现在两个不同的器件和两个不同的调试探针上。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否有人帮助我解决 ARM PC 跟踪问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、

    对于延迟、请深表歉意;我花了一些时间再次借用另一个66AK2H EVM 板来测试所有这一切。

    我能够重现此问题、但很遗憾、此时我无法解决通过 ETB 同时进行 PC 跟踪会话的问题。 但是、我正在使用 CCSv7.3.0、无法在 Chester 报告的调试会话结束时重现崩溃。

    我提交了错误编号 CCBT-2155来解决此问题。

    给您带来的不便、我深表歉意、
    拉斐尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、

    我想提一下、即将发布的 TI 仿真器组件(版本7.0.89.0)的即将发行版中修复了此错误。 操作成功、如下面的视频所示。

    e2e.ti.com/.../2017_2D00_10_2D00_18_5F00_13h32_5F00_05.mp4

    对于此问题、请道歉、

    拉斐尔