Мои библиотеки для STM32
			
		
		| MyLibs/Inc | ||
| RTT | ||
| STM32_General | ||
| mainpage.h | ||
| README.md | ||
Инструкция по подключению релиза библиотеки ExtendedLibs
Данный субмодуль подключается напрямую из Git и содержит набор вспомогательных библиотек для работы МК, в частности STM32 и SEGGER RTT.
Структура библиотеки
Note: Файлы начинающиеся с __ и которых нет в этом дереве являются внутренними/непротестированными/недокументированными
ProjectRoot/
├── MyLibs/                   # Общие библиотеки, независимые от платформы (или почти)
│   ├── inc/
│   │   ├── __mylibs_include.h   # Главный include файл
│   │   ├── __mylibs_config.h    # Конфигурация библиотек
│   │   ├── mylibs_defs.h        # Общие определения и макросы
│   │   ├── bit_access.h         # Битовый доступ к регистрам
│   │   ├── evolve_optimizer.h   # Оптимизатор (генетический алгоритм)
│   │   ├── trackers.h           # Трекеры для отладки
│   │   └── trace.h              # Трассировка и логирование
│   └── src/
│
├──RTT						  # Библиотека 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
│
└── STM32_General             # Работа с периферией STM32
    ├── inc/
    │   ├── 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
Инструкция по подключению
- Склонируйте субмодуль в ваш проект:
git submodule add https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs path/to/ExtendedLibs
git submodule update --init --recursive
- Скопируйте файлы конфигурации и главный include в отдельную папку в вашем проекте (вне субмодуля) и удалите __:
ProjectRoot/
├── Configs/
│   ├── 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
Документация
Библиотека MyLibs и STM32_General документирована в формате Doxygen. HTML документацию можно скачать здесь
Библиотека RTT документирована в формате страницы википедии и просто комментариями в коде.