temp_contoller_firmware/README.md
2025-04-07 03:34:21 +03:00

44 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Программная часть проекта
### Кроме cmsis и xpintf.h всё написано руками.
Код в процессе, нужно много дописывать и переписывать.
Архитектура прошивки крайне проста, после инициализации мы попадаем в бесконечный
цикл где обрабатываем модас трафик, производим измерения, и т.д.
uart и i2c работают по DMA и не блокируют цикл. Все временные интервалы измеряются о системному таймеру.
Система сборки поддерживает разные сценарии:
```
make all #сборка прошивки
make check #пройти статическим анализатором
make doc #собрать doxygen
make test #сборка тестов
make flash #записать прошивку
make gdb #запуск отладчика
```
Структура проекта:
```
.
├── Makefile - ссылается на файлы в ./tools/makefiles
├── src
│ ├── core - cmsis, ld, startup
│ ├── lib - код в котором нет обращения к регистрам
│ ├── plib - код в отором идёт работа с регистрами
│ └── main.c - main прошики
├── src_tests
│ ├── tests - тесты
│ ├── mock_file - обёртки для тестов
│ └── main.cpp - main тестов
└── tools
├── cppcheck_conf - файлы статического анализатора
├── dockerfile - для запуска в контейнере
├── doxygen_conf - настройки для doxygen
├── Jenkinsfile - попытка в CI-CD
└── makefiles
├── mc_firmware.mk - сборка прошивка
├── settings.mk - все настройки, ключи файлы, директории
└── utests.mk - сборка тестов
```