Мои библиотеки для STM32
| MyLibsGeneral | ||
| RTT | ||
| README.md | ||
Инструкция по подключению релиза библиотеки ExtendedLibs
Данный субмодуль подключается напрямую из Git и содержит набор вспомогательных библиотек для работы с STM32, а также поддержку SEGGER RTT.
Структура библиотеки
MyLibsGeneral
├── inc/ # Заголовочные файлы
│ ├── __mylibs_include.h # Главный include файл
│ ├── __mylibs_config.h # Конфигурация библиотек
│ ├── mylibs_defs.h # Общие определения и макросы
│ ├── bit_access.h # Битовый доступ к регистрам
│ ├── evolve_optimizer.h # Оптимизатор (генетический алгоритм)
│ ├── trackers.h # Трекеры для отладки
│ ├── trace.h # Трассировка и логирование
│ ├── general_gpio.h # Работа с GPIO
│ ├── general_spi.h # Работа с SPI
│ ├── general_tim.h # Работа с таймерами
│ └── general_uart.h # Работа с UART
└── src/ # Исходные файлы
├── general_gpio.c # Реализация GPIO
├── general_spi.c # Реализация SPI
├── general_tim.c # Реализация TIM
└── general_uart.c # Реализация UART
RTT
├── __SEGGER_RTT_Conf.h # Конфигурационный файл RTT
├── SEGGER_RTT.c # Основной модуль RTT
├── SEGGER_RTT.h # Основной заголовок RTT
├── SEGGER_RTT_ASM_ARMv7M.S # Ассемблерная оптимизация для ARMv7M
└── SEGGER_RTT_printf.c # Реализация printf() через RTT
Инструкция по подключению
- Склонируйте субмодуль в ваш проект:
git submodule add https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs path/to/ExtendedLibs
git submodule update --init --recursive
- Скопируйте файлы конфигурации и главный include в отдельную папку в вашем проекте (вне субмодуля) и удалите
__:
project/
├── mylibs_config/
│ ├── mylibs_include.h
│ └── mylibs_config.h
│ └── SEGGER_RTT_Conf.h
- Настройте конфигурацию под ваш проект:
mylibs_config.h— задайте нужные параметры библиотек.mylibs_include.h— укажите пути к вашим заголовочным файлам и подключаемым модулям.SEGGER_RTT_Conf.h— настройки RTT.
- Подключайте библиотеки в вашем коде через главный include файл:
#include "mylibs_include.h"
- Обновление библиотеки:
После обновления субмодуля из Git, исходные файлы библиотеки будут обновлены, но ваши конфиги останутся в целевой папке и не перезапишутся:
git submodule update --remote
Документация
Библиотека MyLibsGeneral документирована в формате Doxygen. HTML документацию можно скачать здесь
Библиотека RTT документирована в формате страницы википедии и просто комментариями в коде.