No description
Find a file
2026-07-02 14:12:00 +03:00
.devcontainer # Created bsp_can module 2026-03-30 13:29:17 +03:00
.github/workflows ci: trigger 2026-04-23 18:49:38 +03:00
.vscode # firmware_test: TUI app skeleton + doc fixes 2026-06-29 16:09:23 +03:00
bsp # bsp: usd - исправления бага с переинициализацией 2026-06-30 16:28:48 +03:00
cmake # firmware_test: TUI app major refactoring 2026-06-30 15:09:47 +03:00
docs # Fixing filenames 2026-07-02 14:12:00 +03:00
firmware/test # firmware_test: TUI app docs 2026-07-01 15:00:52 +03:00
just # firmware_test: TUI app skeleton + doc fixes 2026-06-29 16:09:23 +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 # firmware_test: provisionig - done 2026-06-29 13:38:32 +03:00
tests # test_display: bsp_display + test_template 2026-05-08 10:50:58 +03:00
tools # firmware_test: service-tui is ready for packing, docs updated 2026-07-01 16:54:10 +03:00
utils # test_buttons: finished, all documentation refactored 2026-06-23 15:02:36 +03:00
.clang-format # 8 - IMPORTANT 2026-03-11 14:58:11 +03:00
.clang-tidy # 13 Слой bsp_opto 2026-03-26 17:54:54 +03:00
.clangd # 11 2026-03-23 13:58:09 +03:00
.env.example # firmware_test: TUI app major refactoring 2026-06-30 15:09:47 +03:00
.gitattributes Начальный этап по разработке рабочего окружения закончен 2026-03-13 19:11:41 +03:00
.gitignore # firmware_test: TUI app current state 2026-06-30 17:31:05 +03:00
bootstrap.sh # 3. 2026-03-15 14:01:45 +03:00
CHANGELOG.md # firmware_test: ready for TUI app 2026-06-29 14:06:05 +03:00
CMakeLists.txt # 10 2026-03-23 12:19:39 +03:00
CMakePresets.json # Added: cli, protocol, runner modules for firmware_test + host tests 2026-04-17 17:24:22 +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 # test_buttons: finished, all documentation refactored 2026-06-23 15:02:36 +03:00

tft_manufacture_test

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

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


Firmware-проекты

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

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


Зависимости

Подход
NXP MCUXpresso SDK, FreeRTOS, FatFS, LittleFS vendored
Unity, fff, SEGGER RTT vendored
pyOCD, pyserial, pytest, mpremote tools/hil/uv.lock
spsdk (nxpimage, blhost, sdphost) tools/host/uv.lock

Всё что не меняется — vendored. Сборка работает после git clone без интернета (кроме Python-зависимостей).


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

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