Volver al inicio

Errores de Depuración de Microcontroladores: SWD y Fallos de Hardware

El Artículo Analiza Casos Reales de Fallos en el Desarrollo de Microcontroladores: Errores de Hardware como Residuos en Conectores y Conflictos de Pines, Software — Configuración de Flash y FPU. Soluciones Prácticas para una Depuración Confiable de STM32, TI CC, nRF.

Fallos Épicos de MCU: desde SWD hasta ESD y Cristales
Advertisement 728x90

Errores Comunes de Hardware y Software en la Depuración de Microcontroladores

El firmware del microcontrolador se cuelga: el LED de heartbeat deja de parpadear, la consola UART se vuelve no receptiva. Síntoma clásico. No te alarmes — revisa sistemáticamente las trazas de pila, los logs y los periféricos. El culpable suele ser algo simple: residuos en conectores, conflictos de pines o configuraciones erróneas.

Trampas de Hardware: Desde Residuos hasta Errores de Soldadura

Desarrollo de una placa de telemática para una red CAN: el coche no arranca, el arranque gira en vacío. Tres horas de diagnóstico — la causa estaba en el conector OBD-II: un trozo de papel de aluminio cortocircuitaba tres pines. Limpiar el residuo lo solucionó.

Diseño denso de placa con Tag-Connect: el conector de programación inaccesible por el regulador Traco Power cercano. El clip no engancha — los dedos no llegan. Solución: pide ayuda a compañeros con dedos finos o rediseña el layout.

Google AdInline article slot

La alimentación USB parpadea y se corta. Se descartó la caída de voltaje por BLE/UWB. Culpable: receptáculo USB-A defectuoso — al insertar el enchufe por completo pierde contacto, sacarlo medio milímetro lo hace funcionar. Lección: usa cables y conectores de calidad.

El enlace SWD se cae con un cable de más de 90 cm a través del anillo deslizante en la torreta. Los paquetes no pasan. Un cable corto de 12 cm funciona bien. Terminamos programando las placas con cables voladores.

Conflictos de Pines y Depuración

JTAG/SWD no arranca: 'No device found'. El script batch del firmware exige reset manual vía STM32 ST-LINK Utility. Causa: LED en PA13 (TMS/SWDIO). Los pines SWD (PA13, PA14) no se pueden usar para GPIO. Mover el LED a PA15 restauró la depuración.

Google AdInline article slot

Placa con FC7300: J-Link muestra naranja (estado de reset), J-Flash informa 'Could not download file'. El reflujo del MCU no ayudó. Arreglo temporal: cambia el puerto USB o el programador.

Configuración del MCU y Bootloaders

CC26x2 se cuelga tras un ciclo de alimentación, aunque funciona bajo depurador. Causa: no se escribió en el sector de configuración del cliente en la última página de Flash. Para TI CC26x4, flashea primero blinky_backdoor_select_btn26x2.bin con SmartFR Flash Programmer 2, luego tu propio firmware.

El bootloader de STM32F413ZGJ6 no salta a la app: verificación de MSP en la tabla de vectores >128 kB. El MCU tiene 320 kB de RAM, pero el bootloader se compiló para STM32F205VC. La compatibilidad Cortex-M4/M3 ocultó el error durante cinco años.

Google AdInline article slot

Electricidad Estática y Fiabilidad

Prueba de una semana: logs en RAM borrados por una chispa ESD al tocar. Solución: NVRAM o tarjeta SD para logs.

Audio y Periféricos

I2S desde BT1026 (Bluetooth Classic): voz rasposa en nRF5340. WS a 50 kHz, pero el módulo FSC-BT1026C solo saca muestras hasta 48 kHz — los ceros causan el raspado. Arreglo: BT1026 como maestro I2S.

Fallos en el Diseño de Circuitos

Olvidé alimentar el MCU — un cable de chatarra lo arregló. O cristal del PHY Ethernet a 23 MHz en vez de 25 MHz: falla la auto-negociación. Olimex-STM32-H407: basura en UART por cristal de 12 MHz en lugar de 25 MHz en el firmware.

Prototipo SPI-NAND W25M02GV: los pines laterales cortocircuitan la almohadilla térmica en placa de prototipo. Reflujo en PCB verde lo solucionó.

Driver de lado alto VNQ7E100AJ: lectura falsa de corriente en carga abierta (pull-up de V_SENSEH). El ADC lo interpreta como sobrecarga. Cambio de chip en la revisión del ECU.

Errores de FPU y Bibliotecas

snprintf() en Cortex-M33 se estrella en Default Handler por problemas de FPU durante el formateo de float.

Lecciones Clave

  • Revisa los pines SWD/JTAG antes de asignarlos como GPIO.
  • Configura los sectores de cliente de los MCU TI antes de flashear firmware personalizado.
  • Usa protección ESD y NVRAM para logs.
  • Valida cristales y conectores en prototipos.
  • Lee la hoja de datos: funciones como detección de carga abierta evitan disparos falsos.

— Editorial Team

Advertisement 728x90

Leer después