Ir al artículo

Compilación y verificación sin hardware

Comprobado 2026-11-01

Utilice esta página para cambiar el código fuente y verificar la implementación. Para una instalación normal, siga la programación del firmware de imagen publicada. La creación de un binario sin formato no reemplaza la producción y validación de una imagen codificada y un manifiesto coincidente.

Cadena de herramientas y comandos

Instale arm-none-eabi-gcc, Make, Python 3 y un compilador host de C que admita AddressSanitizer/UndefinedBehaviorSanitizer. Ejecute desde la raíz del repositorio en un entorno con esas herramientas:

make
make verify

Para una cadena de herramientas ARM fuera de PATH:

make verify ARM_PREFIX=/path/to/toolchain/bin/arm-none-eabi-

Reemplace /path/to/toolchain/bin/ con su ubicación real. El Makefile raíz delega a firmware/. Las salidas del firmware van a build/motor-release/ y las pruebas nativas a build/host/. Estos comandos no programan hardware de firmware.

Etapas de fuente, compilación de firmware y verificación fuera de línea

Consultar cobertura

Comando Alcance
npm test/ PowerShellnpm.cmd test Controlador Node.js, controlador compartido y herramientas que utilizan hardware simulado
make verify Construcción de firmware, regresiones C, contratos de registro/almacenamiento y diseño de imágenes.
tools/flash/.venv/bin/python -m unittest discover -s tools/flash/tests -v Programación de firmware y reparación de fábrica con dispositivos seriales simulados.
npm run test:driver-package Empaquetado e instalación de controladores con caché npm disponible

La ruta de Python en la tabla es para macOS/Linux; usartools\flash\.venv\Scripts\python.exeen Windows. Las pruebas del visor requieren dependencias independientes de Python 3.12; el directorio de prueba estools/simulation/testy el directorio de importación estools/simulation.

Las pruebas de software no establecen la precisión del brazo, el comportamiento térmico con carga real ni las ganancias adecuadas en el control del motor. Las pruebas de diferenciación de hardware son una operación separada: pueden mover motores y reemplazar configuraciones/restablecer plantillas. No los sustituya por diagnósticos estacionarios en un brazo ensamblado.

Diseño de implementación

Responsabilidades del firmware, el controlador del host y las herramientas

Directorio Propósito
firmware/app/ Coordinación, tiempo de ejecución, extensión y servicios de dispositivos.
firmware/core/ Control, sensado, protocolo, registros y almacenamiento.
firmware/platform/gd32f130/ Controladores de hardware, inicio, script de vinculación y código de proveedor
firmware/tests/ Regresiones en C y comprobaciones de Python
host/servo-driver/ Codificación y transporte de paquetes.
host/arm-control/ Sesiones, perfiles, gravedad y limpieza.
tools/ Configuración, programación de firmware, poses, teleoperación, tuning, diagnóstico y visualización.

Conservar la atribución y las licencias del proveedor. Un cambio de contrato por cable requiere actualizaciones coordinadas del firmware, el controlador, las pruebas, la versión del protocolo y la documentación.

Límites actuales

Las comprobaciones de software no reemplazan las pruebas del mecanismo real. La protección de temperatura utiliza lecturas sin procesar cuya estabilidad aún necesita validación. Se deben verificar la carga, las ganancias de control, la calibración y los límites mecánicos para el conjunto en particular. Las limitaciones de las imágenes publicadas se enumeran en las notas de la versión de vista previa de v0.1.


Inicio de la documentación · Revisión de la fuente: a995f77. Extensión 9.0.