pyocd / pyocd/pyOCD

No cores were discovered with LPC845

Open
#1,056 19 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

I'm getting the error 'No cores were discovered'. This happens after successfully flashing a valid program.
If I erase the chip (using MCUXpresso, the official IDE for LPC845), the pyocd is able to detect the cores again.

This might be related to issue #743 . But this an NXP LPC845, so the solution proposed there does not work here.

pyocd erase -vv --chip -t lpc845 -O reset_type=hw
0000439:DEBUG:pyusb_backend:[Errno 13] Access denied (insufficient permissions) while trying to interrogate a USB device (VID=1bcf PID=2c94). This can probably be remedied with a udev rule. See <https://github.com/mbedmicro/pyOCD/tree/master/udev> for help.
0000441:DEBUG:pyusb_backend:[Errno 13] Access denied (insufficient permissions) while trying to interrogate a USB device (VID=05f3 PID=0007). This can probably be remedied with a udev rule. See <https://github.com/mbedmicro/pyOCD/tree/master/udev> for help.
0000441:DEBUG:pyusb_backend:[Errno 13] Access denied (insufficient permissions) while trying to interrogate a USB device (VID=145f PID=0263). This can probably be remedied with a udev rule. See <https://github.com/mbedmicro/pyOCD/tree/master/udev> for help.
0000442:DEBUG:pyusb_v2_backend:[Errno 13] Access denied (insufficient permissions) while trying to interrogate a USB device (VID=1bcf PID=2c94). This can probably be remedied with a udev rule. See <https://github.com/mbedmicro/pyOCD/tree/master/udev> for help.
0000443:DEBUG:pyusb_v2_backend:[Errno 13] Access denied (insufficient permissions) while trying to interrogate a USB device (VID=05f3 PID=0007). This can probably be remedied with a udev rule. See <https://github.com/mbedmicro/pyOCD/tree/master/udev> for help.
0000443:DEBUG:pyusb_v2_backend:[Errno 13] Access denied (insufficient permissions) while trying to interrogate a USB device (VID=145f PID=0263). This can probably be remedied with a udev rule. See <https://github.com/mbedmicro/pyOCD/tree/master/udev> for help.
0000768:DEBUG:session:Project directory: /home/pablo/pyocd2
0000936:WARNING:cmsis_pack:Overlapping memory regions in file <zipfile.ZipFile filename='/home/pablo/.local/share/cmsis-pack-manager/NXP/LPC845_DFP/12.3.0.pack' mode='r'>, deleting outer region. Further warnings will be suppressed for this file.
0000956:INFO:board:Target type is lpc845
0000957:DEBUG:pyusb_backend:[Errno 13] Access denied (insufficient permissions) while trying to interrogate a USB device (VID=1bcf PID=2c94). This can probably be remedied with a udev rule. See <https://github.com/mbedmicro/pyOCD/tree/master/udev> for help.
0000959:DEBUG:pyusb_backend:Detaching Kernel Driver of Interface 0 from USB device (VID=1fc9 PID=0090).
0000965:DEBUG:dap_access_cmsis_dap:CMSIS-DAP probe I3F4M0GS firmware version: 1.10
0000971:DEBUG:sequencer:Running task load_svd
0001033:DEBUG:sequencer:Running task pre_connect
0001033:DEBUG:sequencer:Running task dp_init
0001033:DEBUG:sequencer:Running task lock_probe
0001033:DEBUG:sequencer:Running task get_probe_capabilities
0001038:DEBUG:sequencer:Running task connect
0001118:DEBUG:dap:Default wire protocol selected; using SWD
0001124:DEBUG:swj:Sending deprecated SWJ sequence to select SWD
0001134:INFO:dap:DP IDR = 0x0bc11477 (v1 MINDP rev0)
0001134:DEBUG:sequencer:Running task clear_sticky_err
0001134:DEBUG:sequencer:Running task power_up_debug
0001135:DEBUG:sequencer:Running task check_version
0001135:DEBUG:sequencer:Running task unlock_probe
0001135:DEBUG:sequencer:Running task create_discoverer
0001135:DEBUG:sequencer:Running task discovery
0001135:DEBUG:sequencer:Running task find_aps
0001139:DEBUG:sequencer:Running task create_aps
0001139:DEBUG:sequencer:Running task create_ap.0
0001140:INFO:ap:AHB-AP#0 IDR = 0x04770031 (AHB-AP var3 rev0)
0001142:DEBUG:ap:AHB-AP#0 default HPROT=3 HNONSEC=0
0001143:DEBUG:ap:AHB-AP#0 implemented HPROT=3 HNONSEC=0
0001144:DEBUG:sequencer:Running task find_components
0001144:DEBUG:sequencer:Running task init_ap.0
0001149:WARNING:rom_table:Invalid coresight component, cidr=0x0
0001149:DEBUG:sequencer:Running task create_cores
0001149:DEBUG:sequencer:Running task set_default_reset_type
0001149:DEBUG:sequencer:Running task create_components
0001149:DEBUG:sequencer:Running task check_for_cores
0001150:DEBUG:session:uninit session <pyocd.core.session.Session object at 0x7fd405854470>
0001150:DEBUG:pyusb_backend:closing interface
0001152:CRITICAL:__main__:No cores were discovered!

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 reported pyocd erase -vv --chip -t lpc845 -O reset_type=hw command and inspect the discovery sequence around find_components, create_cores, and check_for_cores. Compare behavior before and after erasing the LPC845, and review issue #743 for related context. Done means pyOCD discovers the cores after flashing a valid program without requiring a separate IDE erase.

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
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.