Git Product home page Git Product logo

ch552-picodap's Introduction

picoDAP

The CH552E-based picoDAP is a CMSIS-DAP compliant debugging probe with SWD protocol support. It can be used to program Microchip SAM and other ARM-based microcontrollers. The Firmware is based on Ralph Doncaster's DAPLink-implementation for CH55x microcontrollers and Deqing Sun's CH55xduino port.

picoDAP_pic1.jpg

CMSIS-DAP

CMSIS-DAP provides a standardized way to access the Coresight Debug Access Port (DAP) of an ARM Cortex microcontroller via USB. CMSIS-DAP is generally implemented as an on-board interface chip, providing direct USB connection from a development board to a debugger running on a host computer on one side, and over JTAG (Joint Test Action Group) or SWD (Serial Wire Debug) to the target device to access the Coresight DAP on the other. As a USB HID compliant device, it typically does not require any drivers for the operating system. For more information refer to the CMSIS-DAP Handbook.

CMSIS-DAP.png

Compiling and Installing Firmware

Preparing the CH55x Bootloader

Installing Drivers for the CH55x Bootloader

On Linux you do not need to install a driver. However, by default Linux will not expose enough permission to upload your code with the USB bootloader. In order to fix this, open a terminal and run the following commands:

echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="4348", ATTR{idProduct}=="55e0", MODE="666"' | sudo tee /etc/udev/rules.d/99-ch55x.rules
sudo service udev restart

For Windows, you need the CH372 driver. Alternatively, you can also use the Zadig Tool to install the correct driver. Here, click "Options" and "List All Devices" to select the USB module, and then install the libusb-win32 driver. To do this, the board must be connected and the CH55x must be in bootloader mode.

Entering CH55x Bootloader Mode

A brand new chip starts automatically in bootloader mode as soon as it is connected to the PC via USB. Once firmware has been uploaded, the bootloader must be started manually for new uploads. To do this, the board must first be disconnected from the USB port and all voltage sources. Now press the BOOT button and keep it pressed while reconnecting the board to the USB port of your PC. The chip now starts again in bootloader mode, the BOOT button can be released and new firmware can be uploaded within the next couple of seconds.

Compiling and Uploading using the makefile

Installing SDCC Toolchain for CH55x

Install the SDCC Compiler. In order for the programming tool to work, Python3 must be installed on your system. To do this, follow these instructions. In addition pyusb must be installed. On Linux (Debian-based), all of this can be done with the following commands:

sudo apt install build-essential sdcc python3 python3-pip
sudo pip install pyusb

Compiling and Uploading Firmware

  • Open a terminal.
  • Navigate to the folder with the makefile.
  • Connect the board and make sure the CH55x is in bootloader mode.
  • Run make flash to compile and upload the firmware.
  • If you don't want to compile the firmware yourself, you can also upload the precompiled binary. To do this, just run python3 ./tools/chprog.py picodap.bin.

Compiling and Uploading using the Arduino IDE

Installing the Arduino IDE and CH55xduino

Install the Arduino IDE if you haven't already. Install the CH55xduino package by following the instructions on the website.

Compiling and Uploading Firmware

  • Copy the .ino and .c files as well as the /src folder together into one folder and name it like the .ino file.
  • Open the .ino file in the Arduino IDE.
  • Go to Tools -> Board -> CH55x Boards and select CH552 Board.
  • Go to Tools and choose the following board options:
    • Clock Source: 16 MHz (internal)
    • Upload Method: USB
    • USB Settings: USER CODE /w 266B USB RAM
  • Connect the board and make sure the CH55x is in bootloader mode.
  • Click Upload.

Operating Instructions

Connect the picoDAP to the target board via the 10-pin connector or the pin header (RST / DIO / CLK / GND). Make sure the target board is powered. You can supply power via the 3V3 pin (max 150 mA) or the 5V pin (max 400 mA). Plug the picoDAP into a USB port on your PC. Since it is recognized as a Human Interface Device (HID), no driver installation is required. The picoDAP should work with any debugging software that supports CMSIS-DAP (e.g. OpenOCD). Of course, it also works with the SAMD DevBoards in the Arduino IDE (Tools -> Programmer -> Generic CMSIS-DAP).

References, Links and Notes

  1. EasyEDA Design Files
  2. DAPLink
  3. CH55xduino
  4. Ralph Doncaster's Implementation
  5. CMSIS-DAP Handbook
  6. SDCC Compiler
  7. CH55x SDK for SDCC
  8. OpenOCD
  9. SAMD DevBoards

picoDAP_pic2.jpg

License

license.png

This work is licensed under Creative Commons Attribution-ShareAlike 3.0 Unported License. (http://creativecommons.org/licenses/by-sa/3.0/)

ch552-picodap's People

Contributors

wagiminator avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ch552-picodap's Issues

timeout errors with pyocd (nerdralph version works)

When using nerdralph's version with an STM32F103c8 target and pyocd, everything works:

$ pyocd list
  #   Probe/Board           Unique ID   Target  
------------------------------------------------
  0   WCH CH55x CMSIS-DAP   NR          n/a 
$ pyocd erase --chip -t stm32f103c8; pyocd load -t stm32f103c8 ./miniblink.bin 
0000991 I Erasing chip... [eraser]
0001217 I Chip erase complete [eraser]
0000945 I Loading /home/bdroy/STM32-base/libopencm3-examples/examples/stm32/f1/stm32-maple/miniblink/miniblink.bin [load_cmd]
[==================================================] 100%
0001482 I Erased 1024 bytes (1 sector), programmed 1024 bytes (1 page), skipped 0 bytes (0 pages) at 1.86 kB/s [loader]

however, using your branch, I get timeout errors:

$ pyocd list
  #   Probe/Board                     Unique ID   Target  
----------------------------------------------------------
  0   wagiminator picoDAP CMSIS-DAP   CH55x       n/a     
$ pyocd erase --chip -t stm32f103c8; pyocd load -t stm32f103c8 ./miniblink.bin 
0001003 I Erasing chip... [eraser]
Exception in thread Thread-2 (rx_task):
Traceback (most recent call last):
  File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.11/threading.py", line 975, in run
    self._target(*self._args, **self._kwargs)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/interface/pyusb_backend.py", line 151, in rx_task
    read_data = self.ep_in.read(self.ep_in.wMaxPacketSize,
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/usb/core.py", line 423, in read
    return self.device.read(self, size_or_buffer, timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/usb/core.py", line 1029, in read
    ret = fn(
          ^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/usb/backend/libusb1.py", line 864, in intr_read
    return self.__read(self.lib.libusb_interrupt_transfer,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/usb/backend/libusb1.py", line 954, in __read
    _check(retval)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/usb/backend/libusb1.py", line 602, in _check
    raise USBTimeoutError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBTimeoutError: [Errno 110] Operation timed out
0011150 E Error during board uninit: [session]
Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1157, in _read_packet
    decoded_data = cmd.decode_data(raw_data)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 478, in decode_data
    data = self._decode_transfer_block_data(data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 444, in _decode_transfer_block_data
    raise DAPAccessIntf.TransferError(f'DAP_TRANSFER_BLOCK response error: response is for command {data[0]:02x}')
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.TransferError: DAP_TRANSFER_BLOCK response error: response is for command 05

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 595, in read_ap_result_callback
    value = result()
            ^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1071, in read_reg_cb
    res = transfer.get_result()
          ^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 154, in get_result
    self.daplink._read_packet()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1160, in _read_packet
    self._abort_all_transfers(exception)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1284, in _abort_all_transfers
    self._interface.read()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/interface/pyusb_backend.py", line 224, in read
    raise DAPAccessIntf.DeviceError("Device %s read thread exited" %
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.DeviceError: Device CH55x read thread exited

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/subcommands/erase_cmd.py", line 97, in invoke
    eraser.erase(addresses)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/eraser.py", line 79, in erase
    self._chip_erase()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/eraser.py", line 99, in _chip_erase
    region.flash.init(region.flash.Operation.ERASE)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/flash.py", line 252, in init
    result = self._call_function_and_wait(self.flash_algo['pc_init'],
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/flash.py", line 653, in _call_function_and_wait
    self._call_function(pc, r0, r1, r2, r3, init)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/flash.py", line 555, in _call_function
    self.target.write_core_registers_raw(reg_list, data_list)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/core/soc_target.py", line 245, in write_core_registers_raw
    self.selected_core_or_raise.write_core_registers_raw(reg_list, data_list)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 1186, in write_core_registers_raw
    self._base_write_core_registers_raw(reg_list, data_list)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 1199, in _base_write_core_registers_raw
    if not self.is_halted():
           ^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 952, in is_halted
    return self.get_state() == Target.State.HALTED
           ^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 918, in get_state
    dhcsr = self.read_memory(CortexM.DHCSR)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 481, in read_memory
    result = self.ap.read_memory(addr, transfer_size, now)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/ap.py", line 1084, in _read_memory
    result = read_mem_cb()
             ^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/ap.py", line 1062, in read_mem_cb
    res = result_cb()
          ^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/dap.py", line 892, in read_ap_cb
    result = result_cb()
             ^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 600, in read_ap_result_callback
    raise self._convert_exception(error) from error
pyocd.core.exceptions.ProbeError: Device CH55x read thread exited

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 595, in read_ap_result_callback
    value = result()
            ^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1071, in read_reg_cb
    res = transfer.get_result()
          ^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 157, in get_result
    self.daplink.flush()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 881, in flush
    self._read_packet()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1155, in _read_packet
    raw_data = self._interface.read()
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/interface/pyusb_backend.py", line 224, in read
    raise DAPAccessIntf.DeviceError("Device %s read thread exited" %
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.DeviceError: Device CH55x read thread exited

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/core/session.py", line 547, in close
    self._board.uninit()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/board/board.py", line 151, in uninit
    self.target.disconnect(resume)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/coresight_target.py", line 119, in disconnect
    core.disconnect(resume)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 368, in disconnect
    self.resume()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 957, in resume
    state = self.get_state()
            ^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 918, in get_state
    dhcsr = self.read_memory(CortexM.DHCSR)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 481, in read_memory
    result = self.ap.read_memory(addr, transfer_size, now)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/ap.py", line 1084, in _read_memory
    result = read_mem_cb()
             ^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/ap.py", line 1062, in read_mem_cb
    res = result_cb()
          ^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/dap.py", line 892, in read_ap_cb
    result = result_cb()
             ^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 600, in read_ap_result_callback
    raise self._convert_exception(error) from error
pyocd.core.exceptions.ProbeError: Device CH55x read thread exited
0011157 E Probe error during disconnect: [session]
Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1157, in _read_packet
    decoded_data = cmd.decode_data(raw_data)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 478, in decode_data
    data = self._decode_transfer_block_data(data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 444, in _decode_transfer_block_data
    raise DAPAccessIntf.TransferError(f'DAP_TRANSFER_BLOCK response error: response is for command {data[0]:02x}')
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.TransferError: DAP_TRANSFER_BLOCK response error: response is for command 05

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 595, in read_ap_result_callback
    value = result()
            ^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1071, in read_reg_cb
    res = transfer.get_result()
          ^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 154, in get_result
    self.daplink._read_packet()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1160, in _read_packet
    self._abort_all_transfers(exception)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1284, in _abort_all_transfers
    self._interface.read()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/interface/pyusb_backend.py", line 224, in read
    raise DAPAccessIntf.DeviceError("Device %s read thread exited" %
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.DeviceError: Device CH55x read thread exited

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/subcommands/erase_cmd.py", line 97, in invoke
    eraser.erase(addresses)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/eraser.py", line 79, in erase
    self._chip_erase()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/eraser.py", line 99, in _chip_erase
    region.flash.init(region.flash.Operation.ERASE)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/flash.py", line 252, in init
    result = self._call_function_and_wait(self.flash_algo['pc_init'],
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/flash.py", line 653, in _call_function_and_wait
    self._call_function(pc, r0, r1, r2, r3, init)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/flash.py", line 555, in _call_function
    self.target.write_core_registers_raw(reg_list, data_list)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/core/soc_target.py", line 245, in write_core_registers_raw
    self.selected_core_or_raise.write_core_registers_raw(reg_list, data_list)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 1186, in write_core_registers_raw
    self._base_write_core_registers_raw(reg_list, data_list)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 1199, in _base_write_core_registers_raw
    if not self.is_halted():
           ^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 952, in is_halted
    return self.get_state() == Target.State.HALTED
           ^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 918, in get_state
    dhcsr = self.read_memory(CortexM.DHCSR)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 481, in read_memory
    result = self.ap.read_memory(addr, transfer_size, now)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/ap.py", line 1084, in _read_memory
    result = read_mem_cb()
             ^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/ap.py", line 1062, in read_mem_cb
    res = result_cb()
          ^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/dap.py", line 892, in read_ap_cb
    result = result_cb()
             ^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 600, in read_ap_result_callback
    raise self._convert_exception(error) from error
pyocd.core.exceptions.ProbeError: Device CH55x read thread exited

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 376, in disconnect
    self._link.disconnect()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 953, in disconnect
    self._protocol.disconnect()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/cmsis_dap_core.py", line 249, in disconnect
    resp = self.interface.read()
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/interface/pyusb_backend.py", line 224, in read
    raise DAPAccessIntf.DeviceError("Device %s read thread exited" %
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.DeviceError: Device CH55x read thread exited

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/core/session.py", line 554, in close
    self._probe.disconnect()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 379, in disconnect
    raise self._convert_exception(exc) from exc
pyocd.core.exceptions.ProbeError: Device CH55x read thread exited
0011165 C Device CH55x read thread exited [__main__]
Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1157, in _read_packet
    decoded_data = cmd.decode_data(raw_data)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 478, in decode_data
    data = self._decode_transfer_block_data(data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 444, in _decode_transfer_block_data
    raise DAPAccessIntf.TransferError(f'DAP_TRANSFER_BLOCK response error: response is for command {data[0]:02x}')
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.TransferError: DAP_TRANSFER_BLOCK response error: response is for command 05

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 595, in read_ap_result_callback
    value = result()
            ^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1071, in read_reg_cb
    res = transfer.get_result()
          ^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 154, in get_result
    self.daplink._read_packet()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1160, in _read_packet
    self._abort_all_transfers(exception)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1284, in _abort_all_transfers
    self._interface.read()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/interface/pyusb_backend.py", line 224, in read
    raise DAPAccessIntf.DeviceError("Device %s read thread exited" %
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.DeviceError: Device CH55x read thread exited

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/__main__.py", line 161, in run
    status = cmd.invoke()
             ^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/subcommands/erase_cmd.py", line 97, in invoke
    eraser.erase(addresses)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/eraser.py", line 79, in erase
    self._chip_erase()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/eraser.py", line 99, in _chip_erase
    region.flash.init(region.flash.Operation.ERASE)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/flash.py", line 252, in init
    result = self._call_function_and_wait(self.flash_algo['pc_init'],
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/flash.py", line 653, in _call_function_and_wait
    self._call_function(pc, r0, r1, r2, r3, init)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/flash.py", line 555, in _call_function
    self.target.write_core_registers_raw(reg_list, data_list)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/core/soc_target.py", line 245, in write_core_registers_raw
    self.selected_core_or_raise.write_core_registers_raw(reg_list, data_list)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 1186, in write_core_registers_raw
    self._base_write_core_registers_raw(reg_list, data_list)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 1199, in _base_write_core_registers_raw
    if not self.is_halted():
           ^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 952, in is_halted
    return self.get_state() == Target.State.HALTED
           ^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 918, in get_state
    dhcsr = self.read_memory(CortexM.DHCSR)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 481, in read_memory
    result = self.ap.read_memory(addr, transfer_size, now)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/ap.py", line 1084, in _read_memory
    result = read_mem_cb()
             ^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/ap.py", line 1062, in read_mem_cb
    res = result_cb()
          ^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/dap.py", line 892, in read_ap_cb
    result = result_cb()
             ^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 600, in read_ap_result_callback
    raise self._convert_exception(error) from error
pyocd.core.exceptions.ProbeError: Device CH55x read thread exited
0000972 I Loading /home/bdroy/STM32-base/libopencm3-examples/examples/stm32/f1/stm32-maple/miniblink/miniblink.bin [load_cmd]
Exception in thread Thread-2 (rx_task):
Traceback (most recent call last):
  File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.11/threading.py", line 975, in run
    self._target(*self._args, **self._kwargs)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/interface/pyusb_backend.py", line 151, in rx_task
    read_data = self.ep_in.read(self.ep_in.wMaxPacketSize,
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/usb/core.py", line 423, in read
    return self.device.read(self, size_or_buffer, timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/usb/core.py", line 1029, in read
    ret = fn(
          ^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/usb/backend/libusb1.py", line 864, in intr_read
    return self.__read(self.lib.libusb_interrupt_transfer,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/usb/backend/libusb1.py", line 954, in __read
    _check(retval)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/usb/backend/libusb1.py", line 602, in _check
    raise USBTimeoutError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBTimeoutError: [Errno 110] Operation timed out
0011119 E Error during board uninit: [session]
Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1157, in _read_packet
    decoded_data = cmd.decode_data(raw_data)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 478, in decode_data
    data = self._decode_transfer_block_data(data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 444, in _decode_transfer_block_data
    raise DAPAccessIntf.TransferError(f'DAP_TRANSFER_BLOCK response error: response is for command {data[0]:02x}')
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.TransferError: DAP_TRANSFER_BLOCK response error: response is for command 05

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 595, in read_ap_result_callback
    value = result()
            ^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1071, in read_reg_cb
    res = transfer.get_result()
          ^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 154, in get_result
    self.daplink._read_packet()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1160, in _read_packet
    self._abort_all_transfers(exception)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1284, in _abort_all_transfers
    self._interface.read()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/interface/pyusb_backend.py", line 221, in read
    raise DAPAccessIntf.DeviceError(f"Timeout reading from device {self.serial_number}")
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.DeviceError: Timeout reading from device CH55x

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/subcommands/load_cmd.py", line 128, in invoke
    programmer.program(filename,
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/file_programmer.py", line 175, in program
    self._loader.commit()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/loader.py", line 295, in commit
    perf = builder.program(chip_erase=chipErase,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/builder.py", line 492, in program
    sector_erase_count, page_program_time = self._compute_sector_erase_pages_and_weight(fast_verify)
                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/builder.py", line 673, in _compute_sector_erase_pages_and_weight
    self._analyze_pages_with_partial_read()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/builder.py", line 608, in _analyze_pages_with_partial_read
    self._enable_read_access()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/builder.py", line 259, in _enable_read_access
    self.flash.init(self.flash.Operation.VERIFY)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/flash.py", line 252, in init
    result = self._call_function_and_wait(self.flash_algo['pc_init'],
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/flash.py", line 653, in _call_function_and_wait
    self._call_function(pc, r0, r1, r2, r3, init)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/flash.py", line 555, in _call_function
    self.target.write_core_registers_raw(reg_list, data_list)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/core/soc_target.py", line 245, in write_core_registers_raw
    self.selected_core_or_raise.write_core_registers_raw(reg_list, data_list)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 1186, in write_core_registers_raw
    self._base_write_core_registers_raw(reg_list, data_list)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 1199, in _base_write_core_registers_raw
    if not self.is_halted():
           ^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 952, in is_halted
    return self.get_state() == Target.State.HALTED
           ^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 918, in get_state
    dhcsr = self.read_memory(CortexM.DHCSR)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 481, in read_memory
    result = self.ap.read_memory(addr, transfer_size, now)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/ap.py", line 1084, in _read_memory
    result = read_mem_cb()
             ^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/ap.py", line 1062, in read_mem_cb
    res = result_cb()
          ^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/dap.py", line 892, in read_ap_cb
    result = result_cb()
             ^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 600, in read_ap_result_callback
    raise self._convert_exception(error) from error
pyocd.core.exceptions.ProbeError: Timeout reading from device CH55x

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 595, in read_ap_result_callback
    value = result()
            ^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1071, in read_reg_cb
    res = transfer.get_result()
          ^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 157, in get_result
    self.daplink.flush()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 881, in flush
    self._read_packet()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1155, in _read_packet
    raw_data = self._interface.read()
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/interface/pyusb_backend.py", line 224, in read
    raise DAPAccessIntf.DeviceError("Device %s read thread exited" %
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.DeviceError: Device CH55x read thread exited

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/core/session.py", line 547, in close
    self._board.uninit()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/board/board.py", line 151, in uninit
    self.target.disconnect(resume)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/coresight_target.py", line 119, in disconnect
    core.disconnect(resume)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 368, in disconnect
    self.resume()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 957, in resume
    state = self.get_state()
            ^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 918, in get_state
    dhcsr = self.read_memory(CortexM.DHCSR)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 481, in read_memory
    result = self.ap.read_memory(addr, transfer_size, now)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/ap.py", line 1084, in _read_memory
    result = read_mem_cb()
             ^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/ap.py", line 1062, in read_mem_cb
    res = result_cb()
          ^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/dap.py", line 892, in read_ap_cb
    result = result_cb()
             ^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 600, in read_ap_result_callback
    raise self._convert_exception(error) from error
pyocd.core.exceptions.ProbeError: Device CH55x read thread exited
0011126 E Probe error during disconnect: [session]
Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1157, in _read_packet
    decoded_data = cmd.decode_data(raw_data)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 478, in decode_data
    data = self._decode_transfer_block_data(data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 444, in _decode_transfer_block_data
    raise DAPAccessIntf.TransferError(f'DAP_TRANSFER_BLOCK response error: response is for command {data[0]:02x}')
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.TransferError: DAP_TRANSFER_BLOCK response error: response is for command 05

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 595, in read_ap_result_callback
    value = result()
            ^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1071, in read_reg_cb
    res = transfer.get_result()
          ^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 154, in get_result
    self.daplink._read_packet()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1160, in _read_packet
    self._abort_all_transfers(exception)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1284, in _abort_all_transfers
    self._interface.read()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/interface/pyusb_backend.py", line 221, in read
    raise DAPAccessIntf.DeviceError(f"Timeout reading from device {self.serial_number}")
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.DeviceError: Timeout reading from device CH55x

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/subcommands/load_cmd.py", line 128, in invoke
    programmer.program(filename,
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/file_programmer.py", line 175, in program
    self._loader.commit()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/loader.py", line 295, in commit
    perf = builder.program(chip_erase=chipErase,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/builder.py", line 492, in program
    sector_erase_count, page_program_time = self._compute_sector_erase_pages_and_weight(fast_verify)
                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/builder.py", line 673, in _compute_sector_erase_pages_and_weight
    self._analyze_pages_with_partial_read()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/builder.py", line 608, in _analyze_pages_with_partial_read
    self._enable_read_access()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/builder.py", line 259, in _enable_read_access
    self.flash.init(self.flash.Operation.VERIFY)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/flash.py", line 252, in init
    result = self._call_function_and_wait(self.flash_algo['pc_init'],
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/flash.py", line 653, in _call_function_and_wait
    self._call_function(pc, r0, r1, r2, r3, init)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/flash.py", line 555, in _call_function
    self.target.write_core_registers_raw(reg_list, data_list)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/core/soc_target.py", line 245, in write_core_registers_raw
    self.selected_core_or_raise.write_core_registers_raw(reg_list, data_list)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 1186, in write_core_registers_raw
    self._base_write_core_registers_raw(reg_list, data_list)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 1199, in _base_write_core_registers_raw
    if not self.is_halted():
           ^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 952, in is_halted
    return self.get_state() == Target.State.HALTED
           ^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 918, in get_state
    dhcsr = self.read_memory(CortexM.DHCSR)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 481, in read_memory
    result = self.ap.read_memory(addr, transfer_size, now)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/ap.py", line 1084, in _read_memory
    result = read_mem_cb()
             ^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/ap.py", line 1062, in read_mem_cb
    res = result_cb()
          ^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/dap.py", line 892, in read_ap_cb
    result = result_cb()
             ^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 600, in read_ap_result_callback
    raise self._convert_exception(error) from error
pyocd.core.exceptions.ProbeError: Timeout reading from device CH55x

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 376, in disconnect
    self._link.disconnect()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 953, in disconnect
    self._protocol.disconnect()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/cmsis_dap_core.py", line 249, in disconnect
    resp = self.interface.read()
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/interface/pyusb_backend.py", line 224, in read
    raise DAPAccessIntf.DeviceError("Device %s read thread exited" %
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.DeviceError: Device CH55x read thread exited

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/core/session.py", line 554, in close
    self._probe.disconnect()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 379, in disconnect
    raise self._convert_exception(exc) from exc
pyocd.core.exceptions.ProbeError: Device CH55x read thread exited
0011134 C Timeout reading from device CH55x [__main__]
Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1157, in _read_packet
    decoded_data = cmd.decode_data(raw_data)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 478, in decode_data
    data = self._decode_transfer_block_data(data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 444, in _decode_transfer_block_data
    raise DAPAccessIntf.TransferError(f'DAP_TRANSFER_BLOCK response error: response is for command {data[0]:02x}')
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.TransferError: DAP_TRANSFER_BLOCK response error: response is for command 05

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 595, in read_ap_result_callback
    value = result()
            ^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1071, in read_reg_cb
    res = transfer.get_result()
          ^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 154, in get_result
    self.daplink._read_packet()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1160, in _read_packet
    self._abort_all_transfers(exception)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 1284, in _abort_all_transfers
    self._interface.read()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/pydapaccess/interface/pyusb_backend.py", line 221, in read
    raise DAPAccessIntf.DeviceError(f"Timeout reading from device {self.serial_number}")
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.DeviceError: Timeout reading from device CH55x

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/__main__.py", line 161, in run
    status = cmd.invoke()
             ^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/subcommands/load_cmd.py", line 128, in invoke
    programmer.program(filename,
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/file_programmer.py", line 175, in program
    self._loader.commit()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/loader.py", line 295, in commit
    perf = builder.program(chip_erase=chipErase,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/builder.py", line 492, in program
    sector_erase_count, page_program_time = self._compute_sector_erase_pages_and_weight(fast_verify)
                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/builder.py", line 673, in _compute_sector_erase_pages_and_weight
    self._analyze_pages_with_partial_read()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/builder.py", line 608, in _analyze_pages_with_partial_read
    self._enable_read_access()
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/builder.py", line 259, in _enable_read_access
    self.flash.init(self.flash.Operation.VERIFY)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/flash.py", line 252, in init
    result = self._call_function_and_wait(self.flash_algo['pc_init'],
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/flash.py", line 653, in _call_function_and_wait
    self._call_function(pc, r0, r1, r2, r3, init)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/flash/flash.py", line 555, in _call_function
    self.target.write_core_registers_raw(reg_list, data_list)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/core/soc_target.py", line 245, in write_core_registers_raw
    self.selected_core_or_raise.write_core_registers_raw(reg_list, data_list)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 1186, in write_core_registers_raw
    self._base_write_core_registers_raw(reg_list, data_list)
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 1199, in _base_write_core_registers_raw
    if not self.is_halted():
           ^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 952, in is_halted
    return self.get_state() == Target.State.HALTED
           ^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 918, in get_state
    dhcsr = self.read_memory(CortexM.DHCSR)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/cortex_m.py", line 481, in read_memory
    result = self.ap.read_memory(addr, transfer_size, now)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/utility/concurrency.py", line 29, in _locking
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/ap.py", line 1084, in _read_memory
    result = read_mem_cb()
             ^^^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/ap.py", line 1062, in read_mem_cb
    res = result_cb()
          ^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/coresight/dap.py", line 892, in read_ap_cb
    result = result_cb()
             ^^^^^^^^^^^
  File "/home/bdroy/.local/pipx/venvs/pyocd/lib/python3.11/site-packages/pyocd/probe/cmsis_dap_probe.py", line 600, in read_ap_result_callback
    raise self._convert_exception(error) from error
pyocd.core.exceptions.ProbeError: Timeout reading from device CH55x

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.