MyLibs 1.0
Расширенные библиотеки для STM32
Loading...
Searching...
No Matches
Обзор ExtendedLibs

ExtendedLibs - это набор библиотек для удобной работы с STM32. Данный субмодуль подключается напрямую из Git и содержит набор вспомогательных библиотек для работы МК, в частности STM32 и SEGGER RTT.

Основные возможности

Общие утилиты MyLibs (General Tools)

Отладка* (Debug Tools)

  • Трассировка (Trace defines)
  • Измерение временных интервалов (Time measurement)
  • Генетический алгоритм для оптимизации параметров (Genetic optimizer)
  • Трекеры для статистики и отладки (Trackers defines)

*Модули отладки независимы от 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. Склонируйте субмодуль в ваш проект:
git submodule add https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs path/to/ExtendedLibs
git submodule update --init --recursive
  1. Скопируйте файлы конфигурации и главный include в отдельную папку в вашем проекте (вне субмодуля) и удалите __:
ProjectRoot/
├── Configs/
│ ├── 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