编译与离线验证
使用此页面更改源代码并验证实施。对于普通安装,请按照 发布的镜像刷写 。构建原始二进制文件并不能取代生成和验证编码图像以及匹配清单。
工具链和命令
安装 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-预览版发行说明 中列出了已发布映像的限制。

