No description
Find a file
Ezra Maccabee 56ca4262d7
All checks were successful
CI / Build in devcontainer (push) Successful in 5m13s
CI / Host tests in devcontainer (push) Successful in 8m1s
ci: migrate to Forgejo Actions and stabilize pipelines
- Configured self-hosted runner with docker-in-docker support
- Disabled GHA cache backend for buildx to prevent timeouts
- Unified CI execution via just module (ci.just)
- Downgraded artifact actions to v3 for Forgejo compatibility

ci: path fixes №3
2026-07-27 13:19:37 +03:00
.devcontainer # Created bsp_can module 2026-03-30 13:29:17 +03:00
.forgejo/workflows ci: migrate to Forgejo Actions and stabilize pipelines 2026-07-27 13:19:37 +03:00
.vscode # bootloader: phase 0-1 + docs 2026-07-08 20:33:45 +03:00
bsp # bootloader: SEMC Init, Led dictionary 2026-07-17 16:49:02 +03:00
cmake # bootloader: Phase 2 - checked and done 2026-07-09 19:07:11 +03:00
docs # bootloader, service-tui: ready for release 2026-07-20 15:52:22 +03:00
firmware # bootloader, service-tui: ready for release 2026-07-20 15:52:22 +03:00
just # bootloader, service-tui: ready for release 2026-07-20 15:52:22 +03:00
lib # 3. 2026-03-16 14:34:05 +03:00
port # test_buttons: finished, all documentation refactored 2026-06-23 15:02:36 +03:00
sdk # bootloader: Phase 4 - preparing 2026-07-13 16:47:47 +03:00
tests # bootloader: Phase 6 - done 2026-07-16 16:17:55 +03:00
tools # bootloader, service-tui: ready for release 2026-07-20 15:52:22 +03:00
utils # bootloader: phase 2 + host test docs 2026-07-09 09:57:54 +03:00
.clang-format # 8 - IMPORTANT 2026-03-11 14:58:11 +03:00
.clang-tidy # bootloader: SEMC Init, Led dictionary 2026-07-17 16:49:02 +03:00
.clangd # 11 2026-03-23 13:58:09 +03:00
.env.example # Pre-release: ready for merge 2026-07-08 18:39:11 +03:00
.gitattributes Начальный этап по разработке рабочего окружения закончен 2026-03-13 19:11:41 +03:00
.gitignore # Refactoring: service-tui directory changed 2026-07-07 18:37:26 +03:00
bootstrap.sh # 3. 2026-03-15 14:01:45 +03:00
CHANGELOG.md # bootloader, service-tui: ready for release 2026-07-20 15:52:22 +03:00
CMakeLists.txt # bootloader: Phase 2 - checked and done 2026-07-09 19:07:11 +03:00
CMakePresets.json # bootloader: Phase 6 - done 2026-07-16 16:17:55 +03:00
Justfile # test_display: finished 2026-05-25 18:19:55 +03:00
pyocd.yaml # 6 2026-03-18 12:33:53 +03:00
pyocd_debug.yaml # 9 2026-03-20 15:52:18 +03:00
README.md # bootloader, service-tui: ready for release 2026-07-20 15:52:22 +03:00

tft_manufacture_test

Монорепозиторий для MIMXRT1052CVJ5B. Содержит три независимых firmware-проекта с общей инфраструктурой сборки, тестирования и инструментарием.

Архитектура рабочего окружения — docs/DEV_ARCH.md


Firmware-проекты

Проект Путь Описание
Тестовая прошивка firmware/test/ Входной контроль платы: CAN, UART, SDRAM, QSPI, SDIO, RGB, оптовходы, LED, кнопки, MQS README
Загрузчик firmware/bootloader/ A/Б обновление через uSD (MCUboot, Direct-XIP), recovery при зависании образа. Обновляется только через USB ROM + blhost / SWD README
Production прошивка (запланирована) firmware/tft_app/ Приложение с реализацией логики лифтового индикатора. Обновляется загрузчиком

Инструменты (tools/)

Инструмент Путь Назначение
Сервисный TUI tools/service_tui/ Диагностика и прошивка готовых плат сервисным инженером README
Прошивка (dev-CLI) tools/host/ USB SDP / SWD прошивка при разработке README
HIL-тесты tools/hil/ pytest-окружение аппаратных тестов README

BSP

Описание модулей, правила написания компонентов и CMake-шаблоны — bsp/README.md.


Тестирование

Уровень Инструменты Запуск
Host unit-тесты Unity + fff, clang just build::test-host (devcontainer)
HIL target-тесты pyOCD + pyserial + pytest + M5StampPLC just host::hil-run (хост)

Сборка и прошивка

# devcontainer
just build::test-host                   # host unit-тесты
just build::build-firmware-test-debug   # ELF
just build::hab-firmware-test-debug     # HAB-образ для прошивки
just build::build-hil                   # HIL target-прошивки

# хост
just host::flash-test-debug             # прошить через USB SDP
just host::flash-swd-test-debug         # прошить через SWD (power cycle после)
just host::hil-run                      # HIL-тесты
just host::debug-server                 # GDB-сервер для отладки

Прошивка подробно — docs/HOW_TO_FLASH.md Отладка подробно — docs/HOW_TO_DEBUG.md


Быстрый старт

git clone <repo-url>
cd tft_manufacture_test

# 1. Инициализация хоста (один раз)
./bootstrap.sh

# 2. Заполнить .env (порты MCU-Link и M5StampPLC)
cp .env.example .env

# 3. Задеплоить агент на M5StampPLC (один раз)
just host::m5-deploy

# 4. Открыть в VSCode → Reopen in Container
# Затем внутри devcontainer:
just build::test-host
just build::build-firmware-test-debug

# 5. На хосте:
just host::flash-test-debug
just host::hil-run