Перейти к статье

Сборка и проверки без оборудования

Проверено 2026-11-01

Эта страница нужна для изменения исходников и проверки реализации. Для обычной установки опубликованного образа используйте прошивку; сборка собственного бинарного файла не заменяет выпуск проверенной пары encoded image + manifest.

Инструменты и команды

Нужны arm-none-eabi-gcc, Make, Python 3 и компилятор C для хоста с AddressSanitizer/UndefinedBehaviorSanitizer. Выполняйте команды из корня репозитория в среде, где доступен этот набор:

make
make verify

Если ARM toolchain отсутствует в PATH:

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

/path/to/toolchain/bin/ замените фактическим путём. Корневой Makefile делегирует сборку в firmware/. Образы выходят в build/motor-release/, native-тесты — в build/host/. Эти команды не прошивают оборудование.

От исходников к сборке и проверкам без подключения оборудования

Что проверяют наборы

Команда Область
npm test / npm.cmd test в PowerShell Node.js-драйвер, общий контроллер и инструменты с имитированным оборудованием
make verify Сборка прошивки, C-регрессии, контракты регистров/хранения и структура образа
tools/flash/.venv/bin/python -m unittest discover -s tools/flash/tests -v Прошивальщик и factory-repair с имитированными последовательными устройствами
npm run test:driver-package Упаковка драйвера и установка с доступным npm-кэшем

Python-путь в таблице — macOS/Linux; в Windows используйте tools\flash\.venv\Scripts\python.exe. Для тестов просмотрщика отдельно установите его Python 3.12-зависимости; тестовая директория — tools/simulation/test, импортируемый каталог — tools/simulation.

Программные тесты не проверяют точность руки, температуру под реальной нагрузкой и пригодность коэффициентов для механизма. Аппаратный diff-набор — другая операция: он может двигать моторы и заменять сохранённые настройки/reset templates. Не используйте его вместо неподвижной диагностики собранной руки.

Где искать реализацию

Разделение прошивки, хостового драйвера и инструментов

Каталог Назначение
firmware/app/ Координация, runtime, Extension и сервисы устройства
firmware/core/ Управление, датчики, протокол, регистры и хранение
firmware/platform/gd32f130/ Драйверы аппаратуры, startup, linker script и vendor-код
firmware/tests/ C-регрессии и Python-проверки
host/servo-driver/ Кодирование пакетов и транспорт
host/arm-control/ Сессии, профили, гравитация и очистка управления
tools/ Настройки, прошивка, позы, телеуправление, настройка, диагностика и просмотр

Сохраняйте уведомления авторства и лицензии поставщиков. Если меняется байтовый контракт, одновременно обновляйте код прошивки, драйвер, тесты, версию протокола и документацию.

Текущие ограничения

Программные проверки не заменяют испытания на реальном механизме. Защита по температуре использует сырые показания, а их устойчивость ещё требует проверки. Нагрузку, коэффициенты, калибровку и механические ограничения нужно проверять для конкретной сборки. Ограничения опубликованного образа перечислены в заметках v0.1-preview.


Главная раздела · Версия исходников: a995f77. Extension 9.0.