🛠 Console série et JTAG du CM5 : l'empreinte de debug JST-SH et les points de test

Raspberry Pi Compute Module 5 (compute-module-5) · avance · Schéma : IMG-compute-module-5-avance-3-debug-uart-jtag-cm5.svg — CM5 vu de dessus avec l'empreinte de debug JST-SH 3 broches 1 mm (BM03B-SRSS-TB) surlignée, les points de test TP35/TP36 (TX/RX), les pastilles JTAG et les pads d'alimentation/boot USB sur points de test ; un convertisseur USB-série 3,3 V y est branché, un terminal affichant le log de boot.

Objetivos

El CM5 es el primer Compute Module diseñado para el debug sin una placa base completa: la hoja de datos (Anexo A) describe una huella de depuración UART JST-SH de 3 pines con paso de 1 mm (ref. del conector BM03B-SRSS-TB), puntos de prueba TX/RX repetidos (TP35/TP36), puntos de prueba JTAG, y pads de alimentación y de arranque USB en puntos de prueba para flashear un módulo sin utilizar los conectores de 2 × 100 pines. Este tutorial: sacar la consola del kernel a este UART, capturar el registro de arranque completo y sentar las bases de un debug JTAG.

Material

Código completo

# --- Côté CM5 : activer la console série ---
sudo tee -a /boot/firmware/config.txt >/dev/null <<'EOF'
enable_uart=1
cmdline=console=serial0,115200 console=tty1
EOF
sudo reboot

# --- Côté hôte : capturer le boot complet ---
sudo apt install -y picocom
picocom -b 115200 /dev/ttyUSB0          # log de boot puis shell
# (sous minicom : minicom -D /dev/ttyUSB0 -b 115200)

# --- Vérifier le console déclarée par le noyau ---
cat /proc/cmdline
cat /sys/class/tty/ttyAMA0/device/driver/driver 2>/dev/null || true

# --- Base JTAG (points de test de l'Annexe A) avec un adaptateur CMSIS-DAP ---
cat > /tmp/jtag.cfg <<'EOF'
adapter driver cmsis-dap
transport select jtag
target extended-memory-access enabled
EOF
sudo openocd -f /tmp/jtag.cfg -c 'init; halt; reg pc; resume; shutdown'

Verificación esperada

En el terminal a 115200 baudios desfilan el firmware y luego los mensajes del kernel (console=serial0,115200 en /proc/cmdline), y aparece un login — la consola serie funciona incluso cuando HDMI/SSH están caídos. OpenOCD detiene el Cortex-A76 y luego continúa sin errores, prueba de la cadena JTAG.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales