Мои библиотеки для STM32
Go to file
Razvalyaev 51dc03fcbc Переструктурирование:
- MyLibs - максимально платформонезависимые библиотеки (кроме разве что RTT)
- RTT
- STM32_General - библиотеки для периферии stm32
2025-10-21 05:08:27 +03:00
MyLibs/Inc Переструктурирование: 2025-10-21 05:08:27 +03:00
RTT pre-release 0.01 2025-10-21 04:30:41 +03:00
STM32_General Переструктурирование: 2025-10-21 05:08:27 +03:00
mainpage.h Переструктурирование: 2025-10-21 05:08:27 +03:00
README.md Переструктурирование: 2025-10-21 05:08:27 +03:00

Инструкция по подключению релиза библиотеки 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

Инструкция по подключению

  1. Склонируйте субмодуль в ваш проект:
git submodule add https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs path/to/ExtendedLibs
git submodule update --init --recursive
  1. Скопируйте файлы конфигурации и главный include в отдельную папку в вашем проекте (вне субмодуля) и удалите __:
project/
├── mylibs_config/
│   ├── mylibs_include.h
│   └── mylibs_config.h
│   └── SEGGER_RTT_Conf.h
  1. Настройте конфигурацию под ваш проект:
  • mylibs_config.h — задайте нужные параметры библиотек.
  • mylibs_include.h — укажите пути к вашим заголовочным файлам и подключаемым модулям.
  • SEGGER_RTT_Conf.h — настройки RTT.
  1. Подключайте библиотеки в вашем коде через главный include файл:
#include "mylibs_include.h"
  1. Обновление библиотеки:

После обновления субмодуля из Git, исходные файлы библиотеки будут обновлены, но ваши конфиги останутся в целевой папке и не перезапишутся:

git submodule update --remote

Документация

Библиотека MyLibsGeneral документирована в формате Doxygen. HTML документацию можно скачать здесь

Библиотека RTT документирована в формате страницы википедии и просто комментариями в коде.