Saltar al contenido principal

Guía de Depuración Multiplataforma de Seeed Jetson

🔧Guía de Depuración Multiplataforma de Jetson

Diseñada para todas las placas carrier Jetson de Seeed Studio, cubriendo las plataformas Windows / Linux / macOS,
Desde la depuración serie hasta la monitorización del sistema, solución integral para fallos de arranque, cuelgues del kernel y problemas de flasheo.

🎯 Descripción General del Documento

Esta guía está diseñada específicamente para todas las placas carrier Seeed Jetson, integrando las especificaciones oficiales de depuración de NVIDIA con las características de hardware de Seeed para proporcionar una solución de depuración multiplataforma unificada.

Cobertura: Depuración Serie · Análisis de Registros de Arranque · Monitorización del Sistema · Trazado a Nivel de Hardware · Flasheo y Recuperación

Hardware Compatible

reComputer Super / Classic / Mini / Robotics · reComputer Industrial · reServer Industrial · Serie J501

📚 Recursos Básicos Oficiales de Referencia

Nombre del RecursoEnlaceValor Principal
1Jetson Linux Developer GuideNVIDIA OfficialArquitectura del sistema, proceso de arranque, configuración de UART
2Especificaciones de Hardware / Esquemáticos de JetsonNVIDIA Download CenterDefiniciones de pines de la interfaz de depuración, estándares de voltaje
3Seeed Studio WikiSeeed OfficialUbicación de los puertos de depuración de las placas carrier de Seeed, descripciones de interfaces
4NVIDIA SDK ManagerNVIDIA OfficialFlasheo gráfico, despliegue de entorno
5Documentación de Depuración de Hardware CoreSightJetson Linux Debug ChapterTrazado de hardware Arm, análisis de cuelgues

🛠️ Requisitos Previos para la Depuración

Preparación de Hardware

  • Placa de desarrollo Seeed Jetson (alimentada normalmente)
  • Cable de datos USB (elige USB-C o Micro-B según el modelo de la placa carrier) / Módulo USB a UART de 3,3 V
  • Ordenador host (cualquiera de Windows / Linux / macOS)

Herramientas de Software (Multiplataforma)

SistemaHerramientas Recomendadas
WindowsPuTTY / MobaXterm / Device Manager
Linuxscreen / minicom / picocom
macOSscreen / minicom

🔌 Depuración Serie UART (Núcleo)

El puerto serie UART es el punto de entrada de bajo nivel para la depuración de Jetson, que te permite ver los registros completos de arranque del Bootloader y del kernel, resolviendo problemas clave como pantalla en negro, fallo de arranque y ocupación del puerto serie.

Advertencia de Voltaje

Todos los puertos de depuración Seeed Jetson son de nivel 3,3 V, queda estrictamente prohibido usar módulos de 5 V, ¡de lo contrario el dispositivo se dañará permanentemente!

Métodos de Conexión del Puerto de Depuración para Cada Serie

Selecciona tu serie de dispositivo para ver la ubicación correspondiente del puerto de depuración y el método de conexión:

Modelos Compatibles: reComputer Super J4012 / J4011 / J3011 / J3010

Tipo de Puerto de Depuración: Puerto de Depuración USB-C integrado

Método de Conexión:

  1. Usa un cable de datos USB Type-C para conectar directamente el puerto de depuración de la placa carrier al puerto USB del host
  2. No se requiere módulo UART adicional, conectar y usar
reComputer Super
Ubicación del Puerto de Depuración

El puerto de depuración de la serie Super está situado en el lateral del chasis, en el conector USB-C, etiquetado como DEBUG o UART. Tras la conexión, el host lo reconocerá como un dispositivo serie.

Identificación de Puertos Multiplataforma

Después de conectar el cable de depuración, identifica el dispositivo serie en el host:

Abre Device Manager → Despliega Ports (COM & LPT) → Busca el número de COM correspondiente a USB Serial Port (por ejemplo, COM3).

Solución a la Ocupación del Puerto Serie por ModemManager (Linux)

Problema Específico de Linux

El servicio ModemManager en hosts Linux ocupará por error el puerto serie de depuración de Jetson, provocando fallos de conexión.

# Troubleshoot port occupation
sudo lsof /dev/ttyACM0

# Temporarily stop service (recommended)
sudo systemctl stop ModemManager

# Permanently disable (when 4G/5G module is not needed)
sudo systemctl disable ModemManager

Configurar reglas de udev (para acceso al puerto serie sin sudo):

sudo vim /etc/udev/rules.d/99-tegra-serial.rules

Añade el siguiente contenido:

SUBSYSTEM=="tty", ATTRS{idVendor}=="0955", MODE="0660", GROUP="plugdev", TAG+="uaccess"
sudo udevadm control --reload-rules && sudo udevadm trigger

Conexión serie (Baudios: 115200)

Usando PuTTY:

  1. Selecciona el tipo de conexión Serial
  2. Introduce el número de COM (p. ej., COM3)
  3. Establece la velocidad en baudios a 115200
  4. Haz clic en Open

O usando MobaXterm: Nueva sesión serie → Selecciona el puerto COM → Velocidad en baudios 115200

🚀 Arranque del sistema y depuración del kernel

A través del puerto serie UART, puedes capturar completamente los registros de arranque de Jetson para localizar bloqueos de arranque, fallos del kernel y otros problemas.

Tres etapas de arranque

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│ Bootloader │ → │ Kernel Boot │ → │ System Init │
│ CBoot/U-Boot │ │ Linux Load Drivers│ │ systemd Service│
│ Serial Only │ │ Core Debug Info │ │ User Mode │
└─────────────────┘ └──────────────────┘ └─────────────────┘

Habilitar registros de arranque completos

De forma predeterminada, el parámetro quiet oculta una gran cantidad de registros. Puedes habilitarlos mediante los siguientes pasos:

  1. Edita el archivo de configuración de arranque:
sudo vim /boot/extlinux/extlinux.conf
  1. Busca la línea APPEND, elimina quiet, añade ignore_loglevel
  2. Después de reiniciar, podrás ver los registros completos del kernel a través del puerto serie
Escenario remoto

Si puedes conectarte mediante SSH, también puedes ver directamente los registros del kernel:

dmesg --follow
journalctl -k -f

📊 Monitorización del sistema y depuración avanzada de hardware

tegrastats — Monitorización del sistema en tiempo real

tegrastats es la herramienta oficial de monitorización del sistema Jetson proporcionada por NVIDIA para ver uso de CPU/GPU, temperatura, frecuencia, etc.:

# Real-time monitoring
tegrastats

# Customized output (1 second refresh, total 10 times)
tegrastats --interval 1000 --stop 10

jtop — Monitorización visual mejorada

jtop proporciona una interfaz TUI interactiva. Método de instalación:

sudo pip3 install -U jetson-stats
sudo systemctl restart jtop.service
jtop

Depuración a nivel de hardware CoreSight (Avanzado)

Se utiliza para analizar fallos difíciles de reproducir, cuellos de botella de rendimiento, basado en OpenCSD + herramientas perf:

# Record instruction execution flow
perf record -e cs_etm/@<trace-id>/u ls

# Analyze logs
perf report --stdio --dump
info

CoreSight es compatible con STM (System Trace Macrocell), que puede reemplazar de forma eficiente la depuración por software con printk. Para una configuración detallada, consulta la Documentación oficial de depuración de NVIDIA.

🔄 Flasheo y modo de recuperación

Cuando el sistema se bloquea o no puede arrancar, puedes volver a flashear usando las herramientas oficiales.

Guía rápida de flasheo

Para pasos detallados de flasheo, consulta la página Flashing Jetson Linux, que proporciona guías de flasheo completas específicas para cada dispositivo, incluyendo:

  • Descarga y verificación del BSP
  • Preparación del entorno
  • Pasos de flasheo específicos del dispositivo
  • Solución de problemas comunes

Verificación del modo de recuperación

Antes de flashear, asegúrate de que el dispositivo haya entrado en modo de recuperación. Ejecuta en el host Ubuntu:

lsusb

Si la salida contiene cualquiera de los siguientes ID, el dispositivo ha entrado en modo de recuperación:

MóduloID USB
Orin NX 16GB0955:7323
Orin NX 8GB0955:7423
Orin Nano 8GB0955:7523
Orin Nano 4GB0955:7623
AGX Orin 32GB0955:7223
AGX Orin 64GB0955:7023
Xavier NX0955:7e19
Entrada en modo de recuperación

Diferentes dispositivos tienen distintos métodos para entrar en modo de recuperación. Consulta los pasos detallados para el dispositivo correspondiente en la página Flashing Jetson Linux.

Registros de depuración de flasheo

Cuando el flasheo falla, asegúrate de recopilar dos tipos de registros para la resolución de problemas:

  1. Lado del host: Registro completo de salida del terminal de flasheo
  2. Lado del objetivo: Registro de arranque de Jetson capturado por el puerto serie UART (base principal para la resolución de problemas)
Consejos de depuración
  • Cuando el flasheo falle, prioriza la comprobación del registro del puerto serie UART, que normalmente revela la causa raíz
  • Los problemas comunes incluyen: incompatibilidad de versión del BSP, problemas de conexión USB, configuración del entorno del host, etc.
  • Si necesitas ayuda, recopila los registros completos y contacta con el soporte técnico

❓ Solución de problemas comunes

ProblemaDirección de solución de problemas
Fallo en la conexión serieComprueba el servicio ModemManager, el cable USB, el número de puerto, el estándar de voltaje (3,3V)
Sin registros de arranqueConfirma que el puerto de depuración está conectado correctamente; elimina el parámetro de arranque quiet del kernel
Fallo en el flasheoPrioriza la comprobación de los registros del puerto serie UART; verifica que el modelo de la placa portadora coincida con la versión de JetPack
Permisos insuficientes del puerto serieConfigura reglas de udev; sudo usermod -aG plugdev $USER
El dispositivo no puede entrar en modo de recuperaciónComprueba si los jumpers/botones son correctos; intenta cambiar el cable o el puerto USB

📎 Apéndice: Recursos oficiales

📖 Guía para desarrolladores

Guía oficial para desarrolladores de NVIDIA Jetson Linux, arquitectura del sistema, proceso de arranque, configuración de depuración.

🌱 Seeed Wiki

Wiki oficial de Seeed Studio, que contiene descripciones de interfaces de hardware y tutoriales de uso para toda la serie de placas portadoras.

🔧 SDK Manager

Herramienta oficial de NVIDIA para flasheo gráfico y despliegue del entorno SDK.

🤝 Soporte técnico y discusión de productos

¡Gracias por elegir nuestros productos! Te proporcionaremos diversos tipos de soporte para garantizar una experiencia fluida durante su uso.

Loading Comments...