Чет работает
This commit is contained in:
82
AllLibs/MyLibs/README.md
Normal file
82
AllLibs/MyLibs/README.md
Normal file
@@ -0,0 +1,82 @@
|
||||
# Обзор `ExtendedLibs`
|
||||
|
||||
ExtendedLibs - это набор библиотек для удобной работы с STM32. Данный субмодуль подключается напрямую из Git и содержит набор вспомогательных библиотек для работы МК, в частности STM32 и SEGGER RTT.
|
||||
|
||||
## Основные возможности
|
||||
|
||||
|
||||
#### Общие утилиты MyLibs (@ref MYLIBS_TOOLS)
|
||||
- Макросы для задержек (@ref DELAYS_DEFINES)
|
||||
- Утилиты для работы с всяким (@ref UTILS_DEFINES)
|
||||
- Битовый доступ к регистрам через union (@ref BIT_ACCESS_DEFINES)
|
||||
|
||||
#### Отладка* (@ref MYLIBS_DEBUG_TOOLS)
|
||||
- Трассировка (@ref TRACE)
|
||||
- Измерение временных интервалов (@ref BENCH_TIME)
|
||||
- Генетический алгоритм для оптимизации параметров (@ref GEN_OPTIMIZER)
|
||||
- Трекеры для статистики и отладки (@ref TRACKERS)
|
||||
|
||||
_*Модули отладки независимы от MyLibs и могут быть использованы отдельно_
|
||||
|
||||
## Структура библиотеки
|
||||
|
||||
*Note: Файлы начинающиеся с `__` и которых нет в этом дереве являются **внутренними/непротестированными/недокументированными***
|
||||
```
|
||||
ProjectRoot/
|
||||
├── MyLibs/ # Общие библиотеки, независимые от платформы (или почти)
|
||||
│ ├── inc/
|
||||
│ │ ├── __mylibs_include.h # Главный include файл
|
||||
│ │ ├── __mylibs_config.h # Конфигурация библиотек
|
||||
│ │ ├── mylibs_defs.h # Общие определения и макросы
|
||||
│ │ ├── bit_access.h # Битовый доступ к регистрам
|
||||
│ │ ├── gen_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
|
||||
```
|
||||
|
||||
## Инструкция по подключению
|
||||
|
||||
1. **Склонируйте субмодуль** в ваш проект:
|
||||
|
||||
```bash
|
||||
git submodule add https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs path/to/ExtendedLibs
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
|
||||
2. **Скопируйте файлы конфигурации и главный include** в отдельную папку в вашем проекте (вне субмодуля) и удалите `__`:
|
||||
|
||||
```
|
||||
ProjectRoot/
|
||||
├── Configs/
|
||||
│ ├── 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
|
||||
```
|
||||
Reference in New Issue
Block a user