STM32_ExtendedLibs/README.md
Razvalyaev 51dc03fcbc Переструктурирование:
- MyLibs - максимально платформонезависимые библиотеки (кроме разве что RTT)
- RTT
- STM32_General - библиотеки для периферии stm32
2025-10-21 05:08:27 +03:00

79 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Инструкция по подключению релиза библиотеки `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. **Склонируйте субмодуль** в ваш проект:
```bash
git submodule add https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs path/to/ExtendedLibs
git submodule update --init --recursive
```
2. **Скопируйте файлы конфигурации и главный include** в отдельную папку в вашем проекте (вне субмодуля) и удалите `__`:
```
project/
├── mylibs_config/
│ ├── mylibs_include.h
│ └── mylibs_config.h
│ └── SEGGER_RTT_Conf.h
```
3. **Настройте конфигурацию** под ваш проект:
* `mylibs_config.h` — задайте нужные параметры библиотек.
* `mylibs_include.h` — укажите пути к вашим заголовочным файлам и подключаемым модулям.
* `SEGGER_RTT_Conf.h` — настройки RTT.
4. **Подключайте библиотеки в вашем коде** через главный include файл:
```c
#include "mylibs_include.h"
```
5. **Обновление библиотеки**:
После обновления субмодуля из Git, исходные файлы библиотеки будут обновлены, но ваши конфиги останутся в целевой папке и не перезапишутся:
```bash
git submodule update --remote
```
## Документация
Библиотека MyLibsGeneral документирована в формате Doxygen. HTML документацию можно скачать [здесь](https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs/archive/0.02.zip)
Библиотека RTT документирована в формате [страницы википедии](https://kb.segger.com/RTT) и просто комментариями в коде.