🛠 Console série UART2 à 1,5 Mbaud : debugger U-Boot et récupérer une carte briquée

Radxa ZERO 3W · avance · IMG-rz3w-avance-8-rz3w-uart-debug-uboot-recovery.svg — Radxa ZERO 3W avec adaptateur USB-TTL 3,3 V câblé sur les broches 8 (TX) / 10 (RX) et GND, terminal picocom à 1500000 affichant le boot U-Boot ; en médaillon, le bouton MaskROM et le branchement USB-C 1 vers un PC pour le mode Rockusb.

Objetivos

Cuando la tarjeta no arranca (overlay fallido, actualización interrumpida, eMMC corrupta), la consola serie es el hilo de Ariadna. En la ZERO 3W, se encuentra en UART2_M0, pines 8 (TX) / 10 (RX) del conector de 40 pines, a 1500000 baudios 8N1 — y es TAMBIÉN la consola U-Boot por defecto. Este tutorial cubre el cableado USB-TTL, la observación de la cadena de arranque, la interrupción de U-Boot, la trampa documentada de la activación de UART2 como UART de aplicación (una entrada parásita puede impedir el arranque) con su solución oficial, y la recuperación final mediante MaskROM + Rockusb.

Material

1) Escuchar el arranque

sudo picocom -b 1500000 /dev/ttyUSB0     # ou : sudo minicom -D /dev/ttyUSB0 -b 1500000

Conecte la alimentación: debe ver BootROM y luego U-Boot (consola por defecto en UART2_M0 a 1,5 Mbaud), el kernel, y luego el login. Una pantalla de caracteres extraños = velocidad de transmisión incorrecta (el reflejo nº 1 es 115200 heredado de otras tarjetas — aquí es 1 500 000).

2) Interrumpir U-Boot

Pulse una tecla durante la cuenta atrás: aterrizará en la consola U-Boot (=>). Comandos de diagnóstico sin riesgo: version, mmc info, mmc list, printenv. Evite cualquier escritura (mmc write, mw) sin saber exactamente lo que está haciendo.

3) La trampa documentada: UART2 como UART de aplicación

Radxa advierte (página hardware-interface): activar UART2_M0 como puerto serie normal mediante los overlays rsetup expone el pin de entrada a señales que pueden ser interpretadas por la consola U-Boot — las entradas parásitas pueden interrumpir el arranque y el dispositivo puede no volver a arrancar. La solución oficial pasa por la configuración de U-Boot:

sudo nano /etc/default/u-boot    # retirer la console série de la ligne de boot U-Boot
sudo u-boot-update               # regenre extlinux/uEnv avec la nouvelle config
sudo reboot

> NO VERIFICADO: el contenido exacto de la línea a modificar en /etc/default/u-boot según la revisión — siga la advertencia de la página hardware-interface oficial; la ficha fuente confirma la existencia del binomio /etc/default/u-boot + u-boot-update como solución alternativa.

4) Último recurso: MaskROM + Rockusb

# Carte eteinte : maintenir le bouton MaskROM, brancher USB-C 1 vers le PC, relacher
lsusb | grep -i 2207                 # le RK3566 est en mode Rockusb (vendor 2207)
sudo rkdeveloptool ld                # detection BootROM/eMMC
sudo rkdeveloptool wl 0 system.img    # reecrit l'image complete sur l'eMMC
sudo rkdeveloptool rd                 # redemarre

Verificación esperada

La cadena completa BootROM -> U-Boot -> kernel -> login desfila por la pantalla serie. Tras la solución para UART2, el arranque ya no se interrumpe nunca por un cable suelto en el pin 10. Tras la recuperación Rockusb, la tarjeta arranca de nuevo con una imagen nueva.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales