Closed djj198 closed 4 years ago
Hi,
I am experience a similar issue with a Musca B1 board. I detect three different behaviours which probably can be related with the same issue that @djj198 reported. One, the gdbserver is initiated and pyocd is connect but the flashing operation doesn't start (it seems stuck), with the DAP LED blinking indefinetly. Second, the debug process passes all stages (w/o any outputted error) but the core seems to be in a wrong state. Third, the pyocd effectively outputs the following error, which is quite similar to @djj198 post.
My openocd version is 0.24.1-dev15.
0001283:INFO:gdbserver:GDB server started on port 3333
Started by GNU MCU Eclipse
0001289:INFO:server:Semihost server started on port 4445
0001290:INFO:gdbserver:GDB server started on port 3334
Started by GNU MCU Eclipse
0002328:INFO:gdbserver:One client connected!
0004534:ERROR:gdbserver:Unhandled exception in handle_message:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/gdbserver/gdbserver.py", line 379, in handle_message
reply = handler(msg[msgStart:])
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/gdbserver/gdbserver.py", line 887, in handle_query
return self.handle_remote_command(cmd)
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/gdbserver/gdbserver.py", line 1009, in handle_remote_command
self.target.reset_and_halt()
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/coresight/cortex_m.py", line 966, in reset_and_halt
xpsr = self.read_core_register('xpsr')
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/coresight/cortex_m.py", line 1033, in read_core_register
regValue = self.read_core_register_raw(regIndex)
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/coresight/cortex_m.py", line 1047, in read_core_register_raw
vals = self.read_core_registers_raw([reg])
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/coresight/cortex_m.py", line 1107, in read_core_registers_raw
assert dhcsr_val & CortexM.S_REGRDY
AssertionError
0004546:INFO:gdbserver:Attempting to load Argon
0004547:INFO:gdbserver:Attempting to load FreeRTOS
0004548:INFO:gdbserver:Attempting to load Zephyr
0004549:INFO:gdbserver:Attempting to load RTX5
0006579:ERROR:gdbserver:Unhandled exception in handle_message:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/gdbserver/gdbserver.py", line 379, in handle_message
reply = handler(msg[msgStart:])
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/gdbserver/gdbserver.py", line 598, in v_command
return self.flash_op(data)
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/gdbserver/gdbserver.py", line 714, in flash_op
self.flash_loader.commit()
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/flash/loader.py", line 168, in commit
keep_unwritten=self._keep_unwritten)
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/flash/builder.py", line 417, in program
self._build_sectors_and_pages(keep_unwritten)
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/flash/builder.py", line 315, in _build_sectors_and_pages
fill_end_of_page_gap()
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/flash/builder.py", line 259, in fill_end_of_page_gap
self._enable_read_access()
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/flash/builder.py", line 221, in _enable_read_access
self.flash.init(self.flash.Operation.VERIFY)
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/flash/flash.py", line 235, in init
self.target.reset_and_halt(Target.ResetType.SW)
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/core/coresight_target.py", line 387, in reset_and_halt
return self.selected_core.reset_and_halt(reset_type)
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/coresight/cortex_m.py", line 966, in reset_and_halt
xpsr = self.read_core_register('xpsr')
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/coresight/cortex_m.py", line 1033, in read_core_register
regValue = self.read_core_register_raw(regIndex)
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/coresight/cortex_m.py", line 1047, in read_core_register_raw
vals = self.read_core_registers_raw([reg])
File "/usr/local/lib/python3.6/dist-packages/pyocd-0.24.1.dev15-py3.6.egg/pyocd/coresight/cortex_m.py", line 1107, in read_core_registers_raw
assert dhcsr_val & CortexM.S_REGRDY
AssertionError
0006605:INFO:gdbserver:Client detached
0006606:INFO:gdbserver:Client disconnected!
Started by GNU MCU Eclipse
EDIT: I would mention that the DAPLink firmware is version 0242. EDIT2: FYI @flit, the board seems to work properly with older version 0.21.0 EDIT3: @flit after some investigation I can confirm that the commit with id b49611b, which supposedly enables the software reset feature has broken the use of pyocd with the MUSCA B1 board. At least is what I experienced. I just jumped to the release v0.24.0 and removed that code segment, and everything went well again (on v0.24.1 that workaround didn't work).
The LPC1768 bug is fixed by #821, and was regression after renaming CATCH_CORE_RESET
.
@danielRep The Musca-B1 issue is quite different. I've copied your report to new issue #841.
Merged #821, so should be fixed on master.
Hi I'm having an issue flashing a .elf to my lpc1768 using pyocd v0.24.1 here is the error: 0084306:ERROR:gdbserver:Unhandled exception in handle_message: type object 'Target' has no attribute 'CATCH_CORE_RESET' Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/gdbserver/gdbserver.py", line 379, in handle_message reply = handler(msg[msgStart:]) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/gdbserver/gdbserver.py", line 598, in v_command return self.flash_op(data) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/gdbserver/gdbserver.py", line 714, in flash_op self.flash_loader.commit() File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/flash/loader.py", line 164, in commit perf = builder.program(chip_erase=chipErase, File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/flash/builder.py", line 417, in program self._build_sectors_and_pages(keep_unwritten) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/flash/builder.py", line 297, in _build_sectors_and_pages self._enable_read_access() File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/flash/builder.py", line 221, in _enable_read_access self.flash.init(self.flash.Operation.VERIFY) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/flash/flash.py", line 235, in init self.target.reset_and_halt(Target.ResetType.SW) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/core/coresight_target.py", line 387, in reset_and_halt return self.selected_core.reset_and_halt(reset_type) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/cortex_m.py", line 952, in reset_and_halt self.set_reset_catch(reset_type) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/cortex_m.py", line 925, in set_reset_catch self._reset_catch_delegate_result = self.call_delegate('set_reset_catch', core=self, reset_type=reset_type) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/core/target.py", line 205, in call_delegate return getattr(self._delegate, method_name)(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/target/builtin/target_LPC1768.py", line 106, in set_reset_catch self.set_vector_catch(self._saved_vc & ~Target.CATCH_CORE_RESET) AttributeError: type object 'Target' has no attribute 'CATCH_CORE_RESET'
it seems CATCH_CORE_RESET is missing a value, know anything about this?
When I use version 0.23.0 I don't have an error flashing, but have an error on using monitor reset.
Thanks