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.

[参考译文] TM4C1294KCPDT:调试菊花链双 TM4C1294 -仿真包错误?

Guru**** 2527310 points
Other Parts Discussed in Thread: EK-TM4C1294XL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1003595/tm4c1294kcpdt-debugging-daisy-chained-dual-tm4c1294---emulation-pack-bug

器件型号:TM4C1294KCPDT
Thread 中讨论的其他器件:EK-TM4C1294XL

最近、我在 其他 MCU 论坛上发布了此主题 -但活动现已完成、我需要尽快解决问题。

双菊花链 TM4C1294 MCU 的问题:

第二个内核(CPU 1)在调试期间无法设置任何断点、并显示错误消息:

CORTEX_M4_0: GEL Output: 
Memory Map Initialization Complete
CORTEX_M4_1: GEL Output: 
Memory Map Initialization Complete
CORTEX_M4_1: Trouble Setting Breakpoint with the Action "Terminate Program Execution" at 0x244: (Error -1066 @ 0x244) Unable to set/clear requested breakpoint. Verify that the breakpoint address is in valid memory. (Emulation package 9.3.0.00042) 
CORTEX_M4_1: Trouble Setting Breakpoint with the Action "Finish Auto Run" at 0x248: (Error -1066 @ 0x248) Unable to set/clear requested breakpoint. Verify that the breakpoint address is in valid memory. (Emulation package 9.3.0.00042) 
CORTEX_M4_1: Trouble Removing Breakpoint with the Action "Finish Auto Run" at 0x248: (Error -2044 @ 0x248) Internal error: Requested breakpoint does not exist. Restart the application. If error persists, please report the error. (Emulation package 9.3.0.00042) 

任何其他操作正常:代码已加载并正确运行、我可以暂停代码并查看两个内核中的寄存器和变量以及程序用户寄存器。 但是、任何基于断点的功能(即单步执行、CIO 等)在第二个内核上都不起作用。

目标配置简单而直接:

如果加载了任何代码,即 simpe main(),且只有"return 0;"行,则存在问题。

此问题在 CCS v6中重现到 CCS v10.3、XDS100v2、XDS100v3和 XDS200调试探针。

搜索准确的错误消息我在 e2e 论坛中找到了2个非常相似的主题: 主题1 和 主题2、很遗憾、没有建议任何解决方案。

可使用安装了 R40跳线的双 TM4C1294XL LaunchPad 来设置测试用例。 将 XDS 的 GND、TMS、TCK、RESET 和 Vtarget 连接到两个板、将 XDS 的 TDI 连接到第一个板的 TDI、将第一个板的 TDO 连接到第二个板的 TDI、将 TDO 连接到 XDS 的 TDO。

请帮助! 谢谢!

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

    您好!

     我会将您的问题转交给我们的 CCS 专家。 同时、请再次上传您的目标配置文件。 不可见。  

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

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <configurations XML_version="1.2" id="configurations_0">
    <configuration XML_version="1.2" id="Texas Instruments XDS100v2 USB Debug Probe_0">
            <instance XML_version="1.2" desc="Texas Instruments XDS100v2 USB Debug Probe_0" href="connections/TIXDS100v2_Connection.xml" id="Texas Instruments XDS100v2 USB Debug Probe_0" xml="TIXDS100v2_Connection.xml" xmlpath="connections"/>
            <connection XML_version="1.2" id="Texas Instruments XDS100v2 USB Debug Probe_0">
                <instance XML_version="1.2" href="drivers/tixds100v2cs_dap.xml" id="drivers" xml="tixds100v2cs_dap.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds100v2cortexM.xml" id="drivers" xml="tixds100v2cortexM.xml" xmlpath="drivers"/>
                <property Type="choicelist" Value="0" id="The JTAG TCLK Frequency (MHz)"/>
                <platform XML_version="1.2" id="platform_0">
    	            <instance XML_version="1.2" desc="Tiva TM4C1294KCPDT_0" href="devices/tm4c1294kcpdt.xml" id="Tiva TM4C1294KCPDT_0" xml="tm4c1294kcpdt.xml" xmlpath="devices"/>
                    <instance XML_version="1.2" desc="Tiva TM4C1294KCPDT_1" href="devices/tm4c1294kcpdt.xml" id="Tiva TM4C1294KCPDT_1" xml="tm4c1294kcpdt.xml" xmlpath="devices"/>
                    <device HW_revision="1" XML_version="1.2" description="" id="Tiva TM4C1294KCPDT_1" partnum="TM4C1294KCPDT" simulation="no">
                        <router HW_revision="1.0" XML_version="1.2" desc="CS_DAP_1" description="CS_DAP Router" id="CS_DAP_0" isa="CS_DAP">
                            <subpath desc="subpath_1" id="subpath_0">
                                <cpu HW_revision="1.0" XML_version="1.2" desc="CORTEX_M4_1" description="Cortex M4 CPU" deviceSim="false" id="CORTEX_M4_0" isa="CORTEX_M4">
                                    <property Type="numericfield" Value="0x02000000" id="Access Port Designator"/>
                                </cpu>
                            </subpath>
                        </router>
                    </device>
                </platform>
            </connection>
        </configuration>
    </configurations>
    

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

    你(们)好

    [引用 userid="140078" URL"~/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/1003595/tm4c1294kcpdt-debugging-daisy-chained-dual-tm4c1294---emulation-pack-bug ]可以使用安装了 R40跳线的双 TM4C1294XL Launchpad 来设置测试用例。 将 XDS 的 GND、TMS、TCK、RESET 和 Vtarget 连接到两个板、将 XDS 的 TDI 连接到第一个板的 TDI、将第一个板的 TDO 连接到第二个板的 TDI、将 TDO 连接到 XDS 的 TDO。[/引用]

    感谢您的观看。 我还从器件专家处获得了有关如何以菊花链方式连接 LaunchPad 的说明。 正如我们在私人 e2e 讨论中提到的、我需要一些额外的设备。 我会随时向您发布。

    谢谢

    Ki

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

    您好 Oleg、

    感谢您的耐心等待。 最后、我能够设置所需的环境并成功将两个 EK-TM4C1294XL LaunchPad 以菊花链形式连接在一起。 我可以重现此问题。 问题是硬件断点不适用于链上的第二个 CPU。 只有软件断点可用。 因此、如果您的代码位于闪存中、您将无法为代码设置断点。 这解释了加载/刷写程序时看到的各种"设置断点"错误。 刷写程序后、调试器将尝试在代码的退出点设置断点、并在 main 处设置断点、以便能够自动运行程序。 当代码位于闪存中时、这些都将失败。 可以在调试器选项中禁用这些选项。 但是、如您所知、您将无法在代码中设置任何断点、单步执行也不起作用(因为这也会使用断点)。

    这显然是调试器的一些错误。 由于某种原因、它认为第二个 CPU 上不提供硬件断点(或观察点、事件计数器等)。 我为此提交了一个错误。 跟踪 ID: https://sir.ext.ti.com/jira/browse/EXT_EP-10378

    再次感谢您的耐心、并通知我们此问题。

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="140078" URL"~/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/1003595/tm4c1294kcpdt-debugging-daisy-chained-dual-tm4c1294---emulation-pack-bug 中的问题在 CCS v6中重现到 CCS v10.3、XDS100v2、XDS100v3和 XDS200调试探针。

    对于较旧的 CCS 版本、它曾经工作过、但在您更新 EMU 包版本时损坏了吗?

    使用 CCS 7.4.0和 CCS 8.3.1时没有问题。 但我对 CCS 9.3.0确实有问题。 这一问题可能是在较新的 EMU 包版本中引入的

    我的 CCS 8.3.1具有 EMU Pack 版本8.4.0.00006 (工作)

    我的 CCS 9.3.0具有 EMU Pack 版本9.1.0.00001 (已损坏)  

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

    实际上、我没有在较旧版本的 CCS 中尝试过这种方法、我只是从另一个主题复制了信息。

    是否可以通过将旧 emupack 与现代 CCS 版本配合使用?

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

    更新了:解决方法导致 CCSv9.2在调试会话初始化期间挂起。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="140078" URL"~/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/1003595/tm4c1294kcpdt-debugging-daisy-chained-dual-tm4c1294---emulation-pack-bug/3721903 #3721903"]是否可以通过将旧版 emupack 与现代 CCS 版本配合使用?[/quot]

    我不建议安装 emu 包版本早于 CCS 最初随附的版本。 emu 软件包和调试器版本之间可能存在依赖关系。 升级通常很好、但不会后退。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="140078" URL"~/support/microcontrollers/other-microcontrollers-group/other/f/other-microcontrollers-forum/1003595/tm4c1294kcpdt-debugging-daisy-chained-dual-tm4c1294---emulation-pack-bug/3722154 #3722154"]更新:解决方法会导致 CCSv9.2在调试会话初始化期间挂起。

     我无法在安装 CCS 9.3.0时重现这种情况。 也许可以尝试清理工作区或一些 目标缓存文件