Repare pyOCD que no detecta algunas sondas DAPLink en Ubuntu

Solución de problemas y corrección de reglas udev cuando pyOCD no puede detectar ciertas sondas DAPLink personalizadas.

Equipo: https://oshwhub.com/xivn1987/daplink
Firmware: https://github.com/XIVN1987/DAPLink/tree/master

También pueden ocurrir problemas similares en otras compilaciones de firmware DAPLink personalizadas o no oficiales.

Síntoma

pyocd list puede mostrar una sonda desconocida o ninguna sonda:

1
pyocd list

A veces solo aparece J-Link o no se informan sondas disponibles, mientras que el mismo DAPLink todavía funciona en Keil.

Reparar pasos

  1. Compruebe si el dispositivo USB está visible:
1
lsusb

Si se detecta correctamente, debería ver algo como “XIVN1987 XV-Link CMSIS-DAP”.

  1. Configurar reglas de udev Referencia: https://github.com/pyocd/pyOCD/tree/main/udev

Repositorio de clones:

1
git clone https://github.com/pyocd/pyOCD.git

Las reglas están en:

1
2
cd pyOCD/udev/
ls -l

Para esta sonda personalizada, agregue una regla explícita (o agréguela a 50-cmsis-dap.rules):

1
2
# 2e3c:5021 XIVN1987 XV-Link CMSIS-DAP
SUBSYSTEM=="usb", ATTR{idVendor}=="2e3c", ATTR{idProduct}=="5021", MODE:="666"

Los ID de proveedor/producto deben coincidir con la salida lsusb.

Copie el archivo de reglas actualizado en /etc/udev/rules.d, luego vuelva a cargarlo:

1
2
sudo udevadm control --reload
sudo udevadm trigger

Después de eso, ejecuta:

1
pyocd list

Ahora debería ver la sonda DAPLink listada correctamente.

记录并分享
Creado con Hugo
Tema Stack diseñado por Jimmy