Compilación y verificación sin hardware
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.
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
| 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.

