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.

[参考译文] LP-MSPM0L1306:PyOCD 支持

Guru**** 2394295 points
Other Parts Discussed in Thread: MSPM0L1306, UNIFLASH, MSPM0C1104

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1508475/lp-mspm0l1306-pyocd-support

器件型号:LP-MSPM0L1306
Thread 中讨论的其他器件:MSPM0L1306UNIFLASHMSPM0C1104

工具/软件:

您好:

我在尝试 通过 LaunchPad 的板载 XDS110调试探针设置 PyOCD 以刷写和调试 MSPM0L1306时遇到了一些问题。 我 为目标安装了最新的 CMSIS 软件包(https://www.keil.arm.com/packs/mspm0l11xx_l13xx_dfp-texasinstruments/boards/)。

调试探针由 PyOCD 检测:

$ pyocd list
  #   Probe/Board                                                   Unique ID   Target
----------------------------------------------------------------------------------------
  0   Texas Instruments XDS110 (03.00.00.22) Embed with CMSIS-DAP   ML130001    n/a

但是、当我尝试连接到目标时、不会发现任何内核:

$ pyocd cmd -t mspm0l1306 -v
0000368 I Target type is mspm0l1306 [board]
0000455 I DP IDR = 0x6ba02477 (v2 rev6) [dap]
0000470 I AHB-AP#0 IDR = 0x84770001 (AHB-AP var0 rev8) [discovery]
0000470 I AP#1 IDR = 0x002e0001 (AP var0 rev0) [discovery]
0000471 I AP#2 IDR = 0x002e0000 (AP var0 rev0) [discovery]
0000472 I AP#3 IDR = 0x002e0003 (AP var0 rev0) [discovery]
0000472 I AP#4 IDR = 0x002e0002 (AP var0 rev0) [discovery]
0000472 E Error while initing target: No cores were discovered! [commander]

可通过 CCS 和 UniFlash 进行调试和刷写。 NONMAIN 存储器设置为出厂设置(未更改)。

有趣的是、PyOCD 适用于 MSPM0C1104。 以下是用于比较的详细输出:

$ pyocd cmd -t mspm0c1104 -v
0000927 I Target type is mspm0c1104 [board]
0001207 I DP IDR = 0x6ba02477 (v2 rev6) [dap]
0001213 I Debug/System power-up request sent [functions]
0001217 I executing SWD power up [functions]
0001223 I Current state of access point is: 80027 [functions]
0001236 I Current state of access point is: 79002f [functions]
0001262 I AHB-AP#0 IDR = 0x84770001 (AHB-AP var0 rev8) [discovery]
0001264 I AP#1 IDR = 0x002e0001 (AP var0 rev0) [discovery]
0001265 I AP#2 IDR = 0x002e0000 (AP var0 rev0) [discovery]
0001266 I AP#4 IDR = 0x002e0002 (AP var0 rev0) [discovery]
0001270 I AHB-AP#0 Class 0x1 ROM table #0 @ 0xf0000000 (designer=43b:Arm part=4c1) [rom_table]
0001274 I [0]<e00ff000:ROM class=1 designer=43b:Arm part=4c0> [rom_table]
0001274 I   AHB-AP#0 Class 0x1 ROM table #1 @ 0xe00ff000 (designer=43b:Arm part=4c0) [rom_table]
0001277 I   [0]<e000e000:SCS v6-M class=14 designer=43b:Arm part=008> [rom_table]
0001279 I   [1]<e0001000:DWT v6-M class=14 designer=43b:Arm part=00a> [rom_table]
0001281 I   [2]<e0002000:BPU v6-M class=14 designer=43b:Arm part=00b> [rom_table]
0001285 I CPU core #0: Cortex-M0+ r0p1, v6.0-M architecture [cortex_m]
0001286 I Setting core #0 (Cortex-M0+) default reset sequence to ResetSystem [pack_target]
0001289 I 1 hardware watchpoints [dwt]
0001291 I 2 hardware breakpoints, 0 literal comparators [fpb]

 

因此、我假设 MSPM0L1306和 MSPM0C1104在处理调试连接的方式上必须存在一些差异。 我比较了 CMSIS 软件包文件、但在调试序列定义方面似乎没有真正的功能差异。

任何可能导致问题的想法?

提前感谢。

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

    尊敬的 Lukas:
    您正在使用哪个版本的软件包?

    此致、

    Diego Abad

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

    尊敬的 Diego:

    我尝试了 CMSIS 软件包的1.2.1 (通过 PyOCD 软件包管理器安装)和最新版本1.3.1 (通过 ARM 网站)。 问题是一样的。

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

    尊敬的 Lukas:

    是否可以尝试卸载这两个版本并重新安装? 此外、如何将 CMSIS 软件包下载到您的环境中(对于1.3.1)?

    此致、

    Diego Abad  

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

    我通过--pack 参数将包文件传递给 PyOCD:

    pyocd cmd -t mspm0l1306 --pack TexasInstruments.MSPM0L11XX_L13XX_DFP.1.3.1.pack

    我已经尝试重新安装/重新下载两个包版本但没有成功。

    我还尝试了 通过 xdsdfu 工具将 XDS110探针配置为 CMSIS-DAP 2.0、而不是标准配置、它也没有任何更改。

    我现在尝试了 OpenOCD 进行比较(器件支持尚未在最新的正式版本中提供、但已在主分支上提供、因此我需要从源代码进行构建)。 它的工作原理没有任何问题。 PyOCD 和/或器件 CMSIS 软件包似乎存在一些问题。 但是、如前所述、MSPM0C1104可以与 PyOCD 配合使用、 不会出现任何问题、我不知道这两者之间的差异可能与调试连接有关。 这有点奇怪。

    到目前为止、现在使用 OpenOCD 是一种可行的解决方法。 然而,如果 PyOCD 也可以获得官方支持,这将是很好的。

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

    尊敬的 Lukas:

    我建议向 PyOCD 团队询问这一点、因为我们的软件包似乎正常工作。

    此致、

    Diego Abad