Сборка
Инструменты, скрипты сборки и тестов, а также файлы, которые создаёт сборка.
Прошивка собирается для ARMv7-M в режиме Thumb с программной плавающей точкой. Компилятор проекта ARM GCC, тесты запускаются на хосте.
Зависимости
На Ubuntu 24.04 или в WSL:
sudo apt update
sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi gcc python3Для обычной сборки Python-пакеты, SDK производителя и исходники приложения не нужны. Буквы заставки уже лежат в репозитории.
Скрипты
bash test.sh
bash build.shtest.sh собирает тесты на хосте с AddressSanitizer и UndefinedBehaviorSanitizer, запускает их и проверяет Python-тесты. build.sh выполняет сборку ARM-образа и проверки ELF.
В Windows сборка идёт через WSL. Из PowerShell:
.\build.ps1 -TestПо умолчанию используется дистрибутив Ubuntu-24.04. Другой установленный дистрибутив задаётся параметром -Distribution.
Результаты сборки
Каталог build/ исключён из Git. Сборка не записывает прошивку в устройство.
Проверки образа
tools/image.py проверяет границы сегментов ELF, таблицу векторов и адреса обработчиков в Thumb-режиме, затем экспортирует flash-сегменты и заполняет промежутки байтами FF.