Comments (17)
And this should work. If you get it work, or not. Please let me know.
from ch55xduino.
Copying the CMSIS_DAP example files from master did the trick.
$ pyocd gdb -t stm32f051
0000650:INFO:board:Target type is stm32f051
0000732:INFO:dap:DP IDR = 0x0bb11477 (v1 MINDP rev0)
0000834:INFO:ap:AHB-AP#0 IDR = 0x04770021 (AHB-AP var2 rev0)
0000887:INFO:rom_table:AHB-AP#0 Class 0x1 ROM table #0 @ 0xe00ff000 (designer=02
0 part=440)
0000914:INFO:rom_table:[0]<e000e000:SCS-M0+ class=14 designer=43b part=008>
0000924:INFO:rom_table:[1]<e0001000:DWT-M0+ class=14 designer=43b part=00a>
0000936:INFO:rom_table:[2]<e0002000:BPU class=14 designer=43b part=00b>
0000941:INFO:cortex_m:CPU core #0 is Cortex-M0 r0p0
0000955:INFO:dwt:2 hardware watchpoints
0000971:INFO:fpb:4 hardware breakpoints, 0 literal comparators
0001078:INFO:server:Semihost server started on port 4444 (core 0)
0001084:INFO:gdbserver:GDB server started on port 3333 (core 0)
from ch55xduino.
@sabas1080 I guess the DAP_SWD_TransferBlock didn't handle the situation well. Will do more investigation.
from ch55xduino.
@sabas1080 seems to be an DAP_PACKET_COUNT thing. The default is 4 while this implementation didn't do a queue. And pyOcd is trying to run 4 commands before get 4 responses.
Changing DAP_PACKET_COUNT to 1 seems help. Will test again with different environment.
Now all softwares have been tested. The update is in the main branch now.
from ch55xduino.
I haven't fully tested it with different software. But it worked well with the openocd from Arduino package
from ch55xduino.
Thanks @DeqingSun work en openocd
from ch55xduino.
Hi @DeqingSun
I have the next error:
➜ ~ pyocd list
# Probe Unique ID
--------------------------------------------
0 ElectronicCats CMSIS-DAP CH55x
➜ ~ pyocd erase -t nrf52840 --chip
0000763:CRITICAL:__main__:No ACK received
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/cmsis_dap_probe.py", line 249, in read_dp
result = self._link.read_reg(reg_id, now=now)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 836, in read_reg
return read_reg_cb()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 830, in read_reg_cb
res = transfer.get_result()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 143, in get_result
self.daplink.flush()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
return func(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 667, in flush
self._read_packet()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
return func(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 915, in _read_packet
decoded_data = cmd.decode_data(raw_data)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 449, in decode_data
data = self._decode_transfer_block_data(data)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 418, in _decode_transfer_block_data
self._check_response(data[3])
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 341, in _check_response
raise DAPAccessIntf.TransferError("No ACK received")
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.TransferError: No ACK received
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/__main__.py", line 362, in run
self._COMMANDS[self._args.cmd](self)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/__main__.py", line 556, in do_erase
with session:
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/core/session.py", line 302, in __enter__
self.open()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/core/session.py", line 420, in open
self._board.init()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/board/board.py", line 85, in init
self.target.init()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/core/coresight_target.py", line 160, in init
seq.invoke()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/sequencer.py", line 213, in invoke
resultSequence.invoke()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/sequencer.py", line 208, in invoke
resultSequence = call()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/dap.py", line 303, in _connect
connector.connect(self._protocol)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/dap.py", line 167, in connect
self._idr = self.read_idr()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/dap.py", line 194, in read_idr
dpidr = self._probe.read_dp(DP_IDR, now=True)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/cmsis_dap_probe.py", line 251, in read_dp
six.raise_from(self._convert_exception(error), error)
File "<string>", line 3, in raise_from
pyocd.core.exceptions.TransferError: No ACK received
from ch55xduino.
Not sure why it doesn't work with pyocd. It did work with Keil.
from ch55xduino.
I'm going to try with keil
from ch55xduino.
I was tried in
- Windows 10
- Keil 5.27.1
and not work for me, any special configuration? thanks
from ch55xduino.
I don't have any special configuration. It just worked in Win7.
from ch55xduino.
I also am having problems with pyOCD 0.28.3. pyOCD list shows the adapter, but trying connect to a target always fails.
$ pyocd gdbserver
0000664:WARNING:board:Generic 'cortex_m' target type is selected by default; is
this intentional? You will be able to debug most devices, but not program flash
. To set the target type use the '--target' argument or 'target_override' option
. Use 'pyocd list --targets' to see available targets types.
0000664:INFO:board:Target type is cortex_m
0000666:CRITICAL:__main__:expected DAP_INFO
Traceback (most recent call last):
File "c:\users\X\appdata\local\programs\python\python37-32\lib\site-packages\pyocd\probe\cmsis_dap_probe.py", line 148, in open
self._link.open()
File "c:\users\X\appdata\local\programs\python\python37-32\lib\site-packages\pyocd\utility\concurrency.py", line 28, in _locking
return func(self, *args, **kwargs)
File "c:\users\X\appdata\local\programs\python\python37-32\lib\site-packages\pyocd\probe\pydapaccess\dap_access_cmsis_dap.py", line 592, in open
self._packet_count = self._protocol.dap_info(self.ID.MAX_PACKET_COUNT)
File "c:\users\X\appdata\local\programs\python\python37-32\lib\site-packages\pyocd\probe\pydapaccess\cmsis_dap_core.py", line 138, in dap_info
raise DAPAccessIntf.DeviceError("expected DAP_INFO")
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.DeviceError: expected DAP_INFO
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "c:\users\X\appdata\local\programs\python\python37-32\lib\site-packages\pyocd\__main__.py", line 398, in run
self._COMMANDS[self._args.cmd](self)
File "c:\users\X\appdata\local\programs\python\python37-32\lib\site-packages\pyocd\__main__.py", line 742, in do_gdbserver
with session:
File "c:\users\X\appdata\local\programs\python\python37-32\lib\site-packages\pyocd\core\session.py", line 343, in __enter__
self.open()
File "c:\users\X\appdata\local\programs\python\python37-32\lib\site-packages\pyocd\core\session.py", line 457, in open
self._probe.open()
File "c:\users\X\appdata\local\programs\python\python37-32\lib\site-packages\pyocd\probe\shared_probe_proxy.py", line 54, in open
self._probe.open()
File "c:\users\X\appdata\local\programs\python\python37-32\lib\site-packages\pyocd\probe\cmsis_dap_probe.py", line 168, in open
six.raise_from(self._convert_exception(exc), exc)
File "<string>", line 3, in raise_from
pyocd.core.exceptions.ProbeError: expected DAP_INFO
Looking at pyocd/probe/pydapaccess/cmsis_dap_core.py indicates it didn't receive a 0 (Command.DAP_INFO) in the first byte of the response:
if resp[0] != Command.DAP_INFO:
# Response is to a different command
raise DAPAccessIntf.DeviceError("expected DAP_INFO")
However looking at the CMSIS_DAP example, I haven't found a bug. I've compared it to the DAPLink source, and although the CH55x DAP example doesn't implement many of the DAP_INFO commands, it copies the command from the request to the response just like the official firmware.
https://github.com/ARMmbed/DAPLink/blob/master/source/daplink/cmsis-dap/DAP.c
from ch55xduino.
I also get the same error under Linux (Ubuntu 18.04).
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.DeviceError: expected DAP_INFO
from ch55xduino.
@nerdralph Did you get the code from the Arduino installer? For some reason it seems the code was not updated in the release package. Will fix in the next release. And for this moment, just grab the code from the Github repo and it should fix this issue.
from ch55xduino.
@nerdralph Did you get the code from the Arduino installer? For some reason it seems the code was not updated in the release package. Will fix in the next release. And for this moment, just grab the code from the Github repo and it should fix this issue.
I only changed the USB PID. I didn't notice there was a bug fix in DAP.[ch]. I've just pulled the version from master and will re-build and retry pyOCD.
from ch55xduino.
ok for me and working
pyocd gdb -t nrf52840
and pyocd erase -t nrf52840
but with the command flash
pyocd flash -t nrf52840 Blink.hex
I have the next error
pyocd flash -t nrf52840 bast_frontier_bootloader-0.3.2-115-gd732893-dirty-nosd.hex
0001588:ERROR:board:link exception during target disconnect:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/__main__.py", line 572, in do_flash
programmer.program(self._args.file,
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/flash/file_programmer.py", line 158, in program
self._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 421, 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 286, in _build_sectors_and_pages
fill_end_of_page_gap()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/flash/builder.py", line 264, in fill_end_of_page_gap
old_data = self.flash.target.read_memory_block8(page_data_end, old_data_len)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/core/soc_target.py", line 170, in read_memory_block8
return self.selected_core.read_memory_block8(addr, size)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/cortex_m.py", line 451, in read_memory_block8
data = self.ap.read_memory_block8(addr, size)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/core/memory_interface.py", line 89, in read_memory_block8
mem = self.read_memory_block32(addr, size // 4)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
return func(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/ap.py", line 972, in _read_memory_block32
resp += self._read_block32_page(addr, n//4)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/ap.py", line 930, in _read_block32_page
resp = self.dp.read_ap_multiple(self.address.address + self._reg_offset + MEM_AP_DRW, size)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/dap.py", line 642, in read_ap_multiple
result_cb = self.probe.read_ap_multiple(addr, count, now=False)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/cmsis_dap_probe.py", line 309, in read_ap_multiple
result = self._link.reg_read_repeat(count, ap_reg, dap_index=0, now=now)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 870, in reg_read_repeat
transfer = self._write(dap_index, num_repeats, request, None)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
return func(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1018, in _write
self._send_packet()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
return func(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 963, in _send_packet
self._read_packet()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
return func(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 918, in _read_packet
decoded_data = cmd.decode_data(raw_data)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 451, in decode_data
data = self._decode_transfer_data(data)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 355, in _decode_transfer_data
raise ValueError('DAP_TRANSFER response error')
ValueError: DAP_TRANSFER response error
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/board/board.py", line 98, in uninit
self.target.disconnect(resume)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/core/soc_target.py", line 134, in disconnect
core.disconnect(resume)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/cortex_m.py", line 324, in disconnect
self.resume()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/cortex_m.py", line 867, in resume
if self.get_state() != Target.State.HALTED:
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/cortex_m.py", line 828, in get_state
dhcsr = self.read_memory(CortexM.DHCSR)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/cortex_m.py", line 436, in read_memory
result = self.ap.read_memory(addr, transfer_size, now)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
return func(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/ap.py", line 883, in _read_memory
result = read_mem_cb()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/ap.py", line 864, in read_mem_cb
res = result_cb()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/dap.py", line 603, in read_ap_cb
result = result_cb()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/cmsis_dap_probe.py", line 286, in read_ap_result_callback
return result()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 833, in read_reg_cb
res = transfer.get_result()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 143, in get_result
self.daplink.flush()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
return func(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 667, in flush
self._read_packet()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
return func(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 918, in _read_packet
decoded_data = cmd.decode_data(raw_data)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 451, in decode_data
data = self._decode_transfer_data(data)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 355, in _decode_transfer_data
raise ValueError('DAP_TRANSFER response error')
ValueError: DAP_TRANSFER response error
0001602:ERROR:session:probe exception during disconnect:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/__main__.py", line 572, in do_flash
programmer.program(self._args.file,
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/flash/file_programmer.py", line 158, in program
self._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 421, 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 286, in _build_sectors_and_pages
fill_end_of_page_gap()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/flash/builder.py", line 264, in fill_end_of_page_gap
old_data = self.flash.target.read_memory_block8(page_data_end, old_data_len)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/core/soc_target.py", line 170, in read_memory_block8
return self.selected_core.read_memory_block8(addr, size)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/cortex_m.py", line 451, in read_memory_block8
data = self.ap.read_memory_block8(addr, size)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/core/memory_interface.py", line 89, in read_memory_block8
mem = self.read_memory_block32(addr, size // 4)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
return func(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/ap.py", line 972, in _read_memory_block32
resp += self._read_block32_page(addr, n//4)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/ap.py", line 930, in _read_block32_page
resp = self.dp.read_ap_multiple(self.address.address + self._reg_offset + MEM_AP_DRW, size)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/dap.py", line 642, in read_ap_multiple
result_cb = self.probe.read_ap_multiple(addr, count, now=False)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/cmsis_dap_probe.py", line 309, in read_ap_multiple
result = self._link.reg_read_repeat(count, ap_reg, dap_index=0, now=now)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 870, in reg_read_repeat
transfer = self._write(dap_index, num_repeats, request, None)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
return func(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1018, in _write
self._send_packet()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
return func(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 963, in _send_packet
self._read_packet()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
return func(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 918, in _read_packet
decoded_data = cmd.decode_data(raw_data)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 451, in decode_data
data = self._decode_transfer_data(data)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 355, in _decode_transfer_data
raise ValueError('DAP_TRANSFER response error')
ValueError: DAP_TRANSFER response error
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/cmsis_dap_probe.py", line 204, in disconnect
self._link.disconnect()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
return func(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 724, in disconnect
self._protocol.disconnect()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/cmsis_dap_core.py", line 198, in disconnect
raise DAPAccessIntf.DeviceError("expected DAP_DISCONNECT")
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.DeviceError: expected DAP_DISCONNECT
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/core/session.py", line 483, in close
self._probe.disconnect()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/cmsis_dap_probe.py", line 207, in disconnect
six.raise_from(self._convert_exception(exc), exc)
File "<string>", line 3, in raise_from
pyocd.core.exceptions.ProbeError: expected DAP_DISCONNECT
0001606:CRITICAL:__main__:DAP_TRANSFER response error
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/__main__.py", line 398, in run
self._COMMANDS[self._args.cmd](self)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/__main__.py", line 572, in do_flash
programmer.program(self._args.file,
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/flash/file_programmer.py", line 158, in program
self._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 421, 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 286, in _build_sectors_and_pages
fill_end_of_page_gap()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/flash/builder.py", line 264, in fill_end_of_page_gap
old_data = self.flash.target.read_memory_block8(page_data_end, old_data_len)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/core/soc_target.py", line 170, in read_memory_block8
return self.selected_core.read_memory_block8(addr, size)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/cortex_m.py", line 451, in read_memory_block8
data = self.ap.read_memory_block8(addr, size)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/core/memory_interface.py", line 89, in read_memory_block8
mem = self.read_memory_block32(addr, size // 4)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
return func(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/ap.py", line 972, in _read_memory_block32
resp += self._read_block32_page(addr, n//4)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/ap.py", line 930, in _read_block32_page
resp = self.dp.read_ap_multiple(self.address.address + self._reg_offset + MEM_AP_DRW, size)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/coresight/dap.py", line 642, in read_ap_multiple
result_cb = self.probe.read_ap_multiple(addr, count, now=False)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/cmsis_dap_probe.py", line 309, in read_ap_multiple
result = self._link.reg_read_repeat(count, ap_reg, dap_index=0, now=now)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 870, in reg_read_repeat
transfer = self._write(dap_index, num_repeats, request, None)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
return func(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1018, in _write
self._send_packet()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
return func(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 963, in _send_packet
self._read_packet()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
return func(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 918, in _read_packet
decoded_data = cmd.decode_data(raw_data)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 451, in decode_data
data = self._decode_transfer_data(data)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 355, in _decode_transfer_data
raise ValueError('DAP_TRANSFER response error')
ValueError: DAP_TRANSFER response error
from ch55xduino.
@DeqingSun nice!, Working for me :D
from ch55xduino.
Related Issues (20)
- CH554 support HOT 12
- About usb sample code
- Idea: add TinyRF capability to open the ch55x to 315/433MHz communication HOT 3
- Keyboard with boot protocol enabled HOT 8
- About absolute mouse HOT 2
- Drivers problem HOT 3
- TouchKey_begin disrupts functionality of pins not enabled for touch HOT 2
- CH55X ARDUINO CORE
- [Demo] Ch554 USB Audio Speaker HOT 5
- Feature request: InfraRed Encoder/Decoder.
- Support more than 85 LEDs (256 bytes RGB Data) for WS2812 HOT 2
- CH546L unresponsive after flash HOT 5
- Can you add an example about ch559 USB host? This is a very important feature thx HOT 3
- CH552 into sleep mode and wake it up or switch to low power HOT 1
- Softreset after download CH549 HOT 4
- CH558L unresponsive after first flash HOT 7
- WS2812 Brightness HOT 3
- Timer3 Interrupts on the CH558 not working (with suggested fix) HOT 1
- Keyboard Matrix Problem HOT 2
- keyboard_getLEDStatus() does not respond to a NUM LOCK, CAPS LOCK or SCROLL LOCK change HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ch55xduino.