# Инструкция по подключению релиза библиотеки `MyLibsGeneral` Данный субмодуль подключается напрямую из 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 path/to/MyLibsGeneral 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/v0.01.zip) Библиотека RTT документирована в формате [страницы википедии](https://kb.segger.com/RTT) и просто комментариями в коде.