3 Commits

Author SHA1 Message Date
bc705ab3b3 Обновить README.md 2025-10-21 05:18:41 +03:00
Razvalyaev
51dc03fcbc Переструктурирование:
- MyLibs - максимально платформонезависимые библиотеки (кроме разве что RTT)
- RTT
- STM32_General - библиотеки для периферии stm32
2025-10-21 05:08:27 +03:00
Razvalyaev
17bace0c3d pre-release 0.01 post fix 2025-10-21 04:39:17 +03:00
19 changed files with 77 additions and 52 deletions

View File

@@ -1,36 +1,41 @@
# Инструкция по подключению релиза библиотеки `MyLibsGeneral` # Инструкция по подключению релиза библиотеки `ExtendedLibs`
Данный субмодуль подключается напрямую из Git и содержит набор вспомогательных библиотек для работы с STM32, а также поддержку SEGGER RTT. Данный субмодуль подключается напрямую из Git и содержит набор вспомогательных библиотек для работы МК, в частности STM32 и SEGGER RTT.
## Структура библиотеки ## Структура библиотеки
*Note: Файлы начинающиеся с `__` и которых нет в этом дереве являются **внутренними/непротестированными/недокументированными***
``` ```
MyLibsGeneral ProjectRoot/
├── inc/ # Заголовочные файлы ├── MyLibs/ # Общие библиотеки, независимые от платформы (или почти)
│ ├── __mylibs_include.h # Главный include файл │ ├── inc/
│ ├── __mylibs_config.h # Конфигурация библиотек │ ├── __mylibs_include.h # Главный include файл
│ ├── mylibs_defs.h # Общие определения и макросы │ ├── __mylibs_config.h # Конфигурация библиотек
│ ├── bit_access.h # Битовый доступ к регистрам │ ├── mylibs_defs.h # Общие определения и макросы
│ ├── evolve_optimizer.h # Оптимизатор (генетический алгоритм) │ ├── bit_access.h # Битовый доступ к регистрам
│ ├── trackers.h # Трекеры для отладки │ ├── evolve_optimizer.h # Оптимизатор (генетический алгоритм)
│ ├── trace.h # Трассировка и логирование │ ├── trackers.h # Трекеры для отладки
├── general_gpio.h # Работа с GPIO │ └── trace.h # Трассировка и логирование
── general_spi.h # Работа с SPI ── src/
├── general_tim.h # Работа с таймерами
│ └── general_uart.h # Работа с UART ├──RTT # Библиотека RTT
└── src/ # Исходные файлы │ ├── __SEGGER_RTT_Conf.h # Конфигурационный файл RTT
├── general_gpio.c # Реализация GPIO ├── SEGGER_RTT.c # Основной модуль RTT
├── general_spi.c # Реализация SPI ├── SEGGER_RTT.h # Основной заголовок RTT
├── general_tim.c # Реализация TIM ├── SEGGER_RTT_ASM_ARMv7M.S # Ассемблерная оптимизация для ARMv7M
└── general_uart.c # Реализация UART └── SEGGER_RTT_printf.c # Реализация printf() через RTT
└── STM32_General # Работа с периферией STM32
RTT ├── inc/
├── __SEGGER_RTT_Conf.h # Конфигурационный файл RTT │ ├── general_gpio.h # Работа с GPIO
├── SEGGER_RTT.c # Основной модуль RTT │ ├── general_spi.h # Работа с SPI
├── SEGGER_RTT.h # Основной заголовок RTT │ ├── general_tim.h # Работа с таймерами
├── SEGGER_RTT_ASM_ARMv7M.S # Ассемблерная оптимизация для ARMv7M │ └── general_uart.h # Работа с UART
└── SEGGER_RTT_printf.c # Реализация printf() через RTT └── src/
├── general_gpio.c # Реализация GPIO
├── general_spi.c # Реализация SPI
├── general_tim.c # Реализация TIM
└── general_uart.c # Реализация UART
``` ```
## Инструкция по подключению ## Инструкция по подключению
@@ -38,15 +43,15 @@ RTT
1. **Склонируйте субмодуль** в ваш проект: 1. **Склонируйте субмодуль** в ваш проект:
```bash ```bash
git submodule add <URL_субмодуля> path/to/MyLibsGeneral git submodule add https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs path/to/ExtendedLibs
git submodule update --init --recursive git submodule update --init --recursive
``` ```
2. **Скопируйте файлы конфигурации и главный include** в отдельную папку в вашем проекте (вне субмодуля) и удалите `__`: 2. **Скопируйте файлы конфигурации и главный include** в отдельную папку в вашем проекте (вне субмодуля) и удалите `__`:
``` ```
project/ ProjectRoot/
├── mylibs_config/ ├── Configs/
│ ├── mylibs_include.h │ ├── mylibs_include.h
│ └── mylibs_config.h │ └── mylibs_config.h
│ └── SEGGER_RTT_Conf.h │ └── SEGGER_RTT_Conf.h
@@ -74,6 +79,6 @@ git submodule update --remote
## Документация ## Документация
Библиотека MyLibsGeneral документирована в формате Doxygen. HTML документацию можно скачать [здесь](https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs/archive/v0.01.zip) Библиотека `MyLibs` и `STM32_General` документирована в формате Doxygen. HTML документацию можно скачать [здесь](https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs/archive/0.02.zip)
Библиотека RTT документирована в формате [страницы википедии](https://kb.segger.com/RTT) и просто комментариями в коде. Библиотека `RTT` документирована в формате [страницы википедии](https://kb.segger.com/RTT) и просто комментариями в коде.

View File

@@ -1,6 +1,6 @@
/* /*
* Скачать HTML документацию можно здесь: * Скачать HTML документацию можно здесь:
* https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs/archive/v0.01.zip * https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs/archive/v0.02.zip
*/ */
/** /**
@mainpage @mainpage
@@ -9,6 +9,10 @@
@section overview Обзор @section overview Обзор
MyLibs - это набор библиотек для удобной работы с STM32. MyLibs - это набор библиотек для удобной работы с STM32.
\htmlonly
<a href="https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs/src/branch/release">Актуальная версия</a>
\endhtmlonly
@subsection features Основные возможности @subsection features Основные возможности
@subsubsection utils_module Общие утилиты (@ref MYLIBS_DEFINES) @subsubsection utils_module Общие утилиты (@ref MYLIBS_DEFINES)
@@ -43,25 +47,41 @@ MyLibs - это набор библиотек для удобной работы
@subsection structure Структура проекта @subsection structure Структура проекта
@code @code
├── inc/ # Заголовочные файлы ProjectRoot/
│ ├── mylibs_include.h # Главный include файл ├── MyLibs/ # Общие библиотеки, независимые от платформы (или почти)
│ ├── mylibs_config.h # Конфигурация библиотек │ ├── inc/
│ ├── mylibs_defs.h # Общие определения и макросы │ ├── mylibs_include.h # Главный include файл
│ ├── bit_access.h # Битовый доступ к регистрам │ ├── mylibs_config.h # Конфигурация библиотек
│ ├── evolve_optimizer.h # Оптимизатор (генетический алгоритм) │ ├── mylibs_defs.h # Общие определения и макросы
│ ├── trackers.h # Трекеры для отладки │ ├── bit_access.h # Битовый доступ к регистрам
│ ├── trace.h # Трассировка и логирование │ ├── evolve_optimizer.h # Оптимизатор (генетический алгоритм)
│ ├── general_gpio.h # Работа с GPIO │ ├── trackers.h # Трекеры для отладки
── general_spi.h # Работа с SPI │ │ ── trace.h # Трассировка и логирование
│ └── general_tim.h # Работа с таймерами │ └── src/
├── general_uart.h # Работа с UART
── src/ # Исходные файлы ──RTT # Библиотека RTT
├── general_gpio.c # Реализация GPIO ├── __SEGGER_RTT_Conf.h # Конфигурационный файл RTT
├── general_spi.c # Реализация SPI ├── SEGGER_RTT.c # Основной модуль RTT
── general_tim.c # Реализация TIM ── SEGGER_RTT.h # Основной заголовок RTT
├── general_uart.c # Реализация UART ├── 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
@endcode @endcode
@subsection usage_basic Использование @subsection usage_basic Использование
Инструкция по подключению: Инструкция по подключению:
@@ -75,4 +95,4 @@ MyLibs - это набор библиотек для удобной работы
3. Используйте нужные модули в своем коде. Примеры использования приведены в соответствующей теме 3. Используйте нужные модули в своем коде. Примеры использования приведены в соответствующей теме
*/ */