Embedded library catalog

Переносимые библиотеки без привязки к плате

Единый справочник по репозиторию templates: назначение модулей, границы платформенного кода и практический маршрут переноса на новый микроконтроллер.

11библиотек C99
1Python-пакет
0обязательных HAL/OS
3.9+версия Python

О репозитории

Повторно используемый код прошивок и инструментов. Каждая библиотека подключается отдельно и хранит состояние у вызывающей стороны.

Ядро независимо

В переносимом слое нет заголовков MCU, HAL, регистров, IRQ, ОС и динамической памяти.

Порт узкий

SPI, GPIO, I²C, UART, CAN, Flash и часы передаются через callbacks или небольшой файл порта.

Подключение точечное

В сборку добавляются только исходники выбранной библиотеки, include-каталог и нужный порт.

Главное правило: распиновка, частоты шин и периферия принадлежат плате. Они остаются в board/ или port/, но не попадают в ядро.

Как добавить в проект

Для фиксируемой версии предпочтителен Git submodule:

git submodule add https://git.rd12.ru/Andrey/templates.git lib/templates
git submodule update --init --recursive

Если изменения регулярно возвращаются в библиотеку, используйте subtree:

git subtree add --prefix lib/templates https://git.rd12.ru/Andrey/templates.git master --squash
git subtree pull --prefix lib/templates https://git.rd12.ru/Andrey/templates.git master --squash
Не копируйте исходники вручную: копия быстро расходится с источником и перестаёт получать исправления.