Go to file
2025-04-07 03:34:21 +03:00
src copy 2025-04-07 03:34:21 +03:00
src_tests copy 2025-04-07 03:34:21 +03:00
tools copy 2025-04-07 03:34:21 +03:00
.gitignore copy 2025-04-07 03:34:21 +03:00
Makefile copy 2025-04-07 03:34:21 +03:00
README.md copy 2025-04-07 03:34:21 +03:00

Программная часть проекта

Кроме 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 - сборка тестов