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 support

Part Number: LP-MSPM0L1306
Other Parts Discussed in Thread: MSPM0L1306, UNIFLASH, MSPM0C1104

Tool/software:

Hello,

I am experiencing some issues trying to setup PyOCD for flashing and debugging the MSPM0L1306 via the on-board XDS110 debug probe of the LaunchPad. I installed the latest CMSIS pack for the target (https://www.keil.arm.com/packs/mspm0l11xx_l13xx_dfp-texasinstruments/boards/).

The debug probe is detected by PyOCD:

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

However, when I try to connect to the target, no cores are discovered:

$ 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]

Debugging and Flashing via CCS and UniFlash works. The NONMAIN memory is set to factory settings (not changed).

Interestingly, PyOCD works for the MSPM0C1104. Here the verbose output for comparison:

$ 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]

 

So I assume there must be some differences between the MSPM0L1306 and MSPM0C1104 in how the debug connection is handled. I compared the CMSIS pack files, but there seems to be no real functional differences in the debug sequences definitions.

Any ideas what could cause the problem?

Thanks in advance.

  • Hi Lukas,
    What version of the package are you using?

    Best Regards,

    Diego Abad

  • Hi Diego,

    I tried both 1.2.1 (installed via the PyOCD pack manager) and the latest version 1.3.1 (from the ARM website) of the CMSIS pack. The problem is the same.

  • Hi Lukas,

    Can you try uninstalling both version and re-installing it again? Also, how are you downloading the CMSIS pack into your environment (for the 1.3.1 one)?

    Best Regards,

    Diego Abad 

  • I passed the pack file to PyOCD via the --pack argument:

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

    I already tried re-installing / re-downloading both pack versions with no success.

    I also already tried to configure the XDS110 probe as CMSIS-DAP 2.0 instead of the standard configuration via the xdsdfu tool, it also didn't change anything.

    I tried OpenOCD now for comparison (device support is not yet in the latest official release, but already available on the master branch, so I needed to build from source). It works without any problems. So it seems like it really is some issue with PyOCD and/or the device CMSIS pack. However, as already mentioned, the MSPM0C1104 works with PyOCD without any problems and I don't know what the differences between these two could be regarding the debug connection. So that's a bit strange.

    So far, using OpenOCD now instead is a viable workaround. However, it would still be great if PyOCD could also be somewhat officially supported.

  • Hi Lukas,

    I would recommend asking the PyOCD team about this since it seems that our package is working.

    Best Regards,

    Diego Abad