pyocd / pyocd/pyOCD

Flashing Nucleo L073RZ using CMSIS pack is unstable

Open
#729 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.5k
Forks
560
Avg merge
1h 41m
Merged PRs (30d)
3

Description

Target: Nucleo L073RZ
OS: MacOS 10.14.5
Mbed OS: 5.13.1
Binary: mbed-os-blinky (built with GCC or AC6)

Flashing the above target using a specified CMSIS pack sometimes works, but more often claims No cores were discovered!.

Using the pack from here

./pyocd  flash --frequency 1800000 --uid 066DFF555654725187095153 --target STM32L073RZ --pack "/Users/thegecko/Desktop/Keil.STM32L0xx_DFP.2.0.1.pack" --erase=chip "/Users/thegecko/Mbed Programs/mbed-os-example-blinky/BUILD/NUCLEO_L073RZ/ARMC6/mbed-os-example-blinky.bin"
[====================] 100%

Then again:

0001326:WARNING:cmsis_pack:Page size (1024) is larger than sector size (128) for flash region IROM1; reducing page size to 128
0001775:WARNING:rom_table:Invalid coresight component, cidr=0x0
0001775:WARNING:rom_table:Warning: ROM table @ 0xf0000000 has unexpected CIDR component class (0x0)
0001776:CRITICAL:__main__:No cores were discovered!
Traceback (most recent call last):
  File "/Users/thegecko/mbed-studio-tools/python/lib/python2.7/site-packages/pyocd/__main__.py", line 338, in run
    self._COMMANDS[self._args.cmd](self)
  File "/Users/thegecko/mbed-studio-tools/python/lib/python2.7/site-packages/pyocd/__main__.py", line 468, in do_flash
    with session:
  File "/Users/thegecko/mbed-studio-tools/python/lib/python2.7/site-packages/pyocd/core/session.py", line 287, in __enter__
    self.open()
  File "/Users/thegecko/mbed-studio-tools/python/lib/python2.7/site-packages/pyocd/core/session.py", line 367, in open
    self._board.init()
  File "/Users/thegecko/mbed-studio-tools/python/lib/python2.7/site-packages/pyocd/board/board.py", line 83, in init
    self.target.init()
  File "/Users/thegecko/mbed-studio-tools/python/lib/python2.7/site-packages/pyocd/core/coresight_target.py", line 158, in init
    seq.invoke()
  File "/Users/thegecko/mbed-studio-tools/python/lib/python2.7/site-packages/pyocd/utility/sequencer.py", line 201, in invoke
    resultSequence = call()
  File "/Users/thegecko/mbed-studio-tools/python/lib/python2.7/site-packages/pyocd/core/coresight_target.py", line 238, in check_for_cores
    raise exceptions.DebugError("No cores were discovered!")
DebugError: No cores were discovered!

I've been unable to debug this board with a standard blinky example.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the command against the Nucleo L073RZ with the specified CMSIS pack, then read pyocd/core/coresight_target.py around check_for_cores and the cmsis_pack and rom_table warnings. Done means identifying and fixing the intermittent “No cores were discovered!” failure and confirming that the blinky binary can be flashed and debugged reliably.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devtools, embedded-iot
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.