跳至正文

编译与离线验证

已核对 2026-11-01

使用此页面更改源代码并验证实施。对于普通安装,请按照 发布的镜像刷写 。构建原始二进制文件并不能取代生成和验证编码图像以及匹配清单。

工具链和命令

安装 arm-none-eabi-gcc 、Make、Python 3 和支持 AddressSanitizer/UndefinedBehaviorSanitizer 的主机 C 编译器。在使用这些工具的环境中从存储库根运行:

make
make verify

对于 PATH 之外的 ARM 工具链:

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

将 /path/to/toolchain/bin/ 替换为其实际位置。根 Makefile 委托给 firmware/ 。固件输出转到 build/motor-release/ ,本机测试转到 build/host/ 。这些命令不会刷新硬件。

源代码、固件构建和离线验证阶段

检查覆盖范围

命令 适用范围
npm test / PowerShell npm.cmd test Node.js 驱动程序、共享控制器和使用模拟硬件的工具
make verify 固件构建、C 回归、寄存器/存储合同和图像布局
tools/flash/.venv/bin/python -m unittest discover -s tools/flash/tests -v 使用模拟串行设备进行刷新和工厂修复
npm run test:driver-package 使用可用的 npm 缓存打包和安装驱动程序

表中的Python路径适用于macOS/Linux;在 Windows 上使用 tools\flash\.venv\Scripts\python.exe。查看器测试需要其单独的 Python 3.12 依赖项;测试目录是 tools/simulation/test ,导入目录是 tools/simulation 。

软件测试无法确定机械臂精度、实际负载热行为或合适的电机增益。硬件差异测试是一项单独的操作:它们可以移动电机并替换设置/重置模板。请勿用它们代替组装臂上的固定诊断。

实施布局

固件、主机驱动程序和工具的职责

目录 目的
firmware/app/ 协调、运行时、Extension 和设备服务
firmware/core/ 控制、传感、协议、寄存器和存储
firmware/platform/gd32f130/ 硬件驱动程序、启动、链接描述文件和供应商代码
firmware/tests/ C 回归和 Python 检查
host/servo-driver/ 数据包编码和传输
host/arm-control/ 会话、配置文件、重力和清理
tools/ 设置、刷写固件、姿势、远程操作、调整、诊断和查看

保留供应商归属和许可。有线合同变更需要对固件、驱动程序、测试、协议版本和文档进行协调更新。

当前限制

软件检查不能取代对实际机制的试验。温度保护使用原始读数,其稳定性仍需要验证。必须检查特定组件的负载、增益、校准和机械限制。 v0.1-预览版发行说明 中列出了已发布映像的限制。


文档主页 · 源版本: a995f77 。 Extension 9.0 。