STM32_ExtendedLibs/Doc/latex/index.tex

108 lines
7.5 KiB
TeX
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.

\chapter{Обзор {\ttfamily Extended\+Libs} }
\hypertarget{index}{}\label{index}\index{Обзор $<$tt$>$ExtendedLibs$<$/tt$>$@{Обзор $<$tt$>$ExtendedLibs$<$/tt$>$}}
\label{index_md__e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m___libs_2_s_t_m32___extended_libs_2_r_e_a_d_m_e}%
\Hypertarget{index_md__e_1_2_8_w_o_r_k_2_s_t_m32_2_s_t_m___libs_2_s_t_m32___extended_libs_2_r_e_a_d_m_e}%
Extended\+Libs -\/ это набор библиотек для удобной работы с STM32. Данный субмодуль подключается напрямую из Git и содержит набор вспомогательных библиотек для работы МК, в частности STM32 и SEGGER RTT.\hypertarget{index_основные-возможности}{}\doxysection{\texorpdfstring{Основные возможности}{Основные возможности}}\label{index_основные-возможности}
\hypertarget{index_общие-утилиты-mylibs-ref-mylibs_tools}{}\doxysubsubsection{\texorpdfstring{Общие утилиты My\+Libs (\protect\doxylink{group___m_y_l_i_b_s___t_o_o_l_s}{General Tools})}{Общие утилиты My\+Libs ({General Tools})}}\label{index_общие-утилиты-mylibs-ref-mylibs_tools}
\begin{DoxyItemize}
\item Макросы для задержек (\doxylink{group___d_e_l_a_y_s___d_e_f_i_n_e_s}{Delays defines})
\item Утилиты для работы с всяким (\doxylink{group___u_t_i_l_s___d_e_f_i_n_e_s}{Utils defines})
\item Битовый доступ к регистрам через union (\doxylink{group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s}{Bit access defines})
\end{DoxyItemize}\hypertarget{index_отладка-ref-mylibs_debug_tools}{}\doxysubsubsection{\texorpdfstring{Отладка\texorpdfstring{$\ast$}{*} (\protect\doxylink{group___m_y_l_i_b_s___d_e_b_u_g___t_o_o_l_s}{Debug Tools})}{Отладка\texorpdfstring{$\ast$}{*} ({Debug Tools})}}\label{index_отладка-ref-mylibs_debug_tools}
\begin{DoxyItemize}
\item Трассировка (\doxylink{group___t_r_a_c_e}{Trace defines})
\item Измерение временных интервалов (\doxylink{group___b_e_n_c_h___t_i_m_e}{Time measurement})
\item Генетический алгоритм для оптимизации параметров (\doxylink{group___g_e_n___o_p_t_i_m_i_z_e_r}{Genetic optimizer})
\item Трекеры для статистики и отладки (\doxylink{group___t_r_a_c_k_e_r_s}{Trackers defines})
\end{DoxyItemize}
{\itshape \texorpdfstring{$\ast$}{*}Модули отладки независимы от My\+Libs и могут быть использованы отдельно}\hypertarget{index_структура-библиотеки}{}\doxysection{\texorpdfstring{Структура библиотеки}{Структура библиотеки}}\label{index_структура-библиотеки}
\texorpdfstring{$\ast$}{*}\+Note\+: Файлы начинающиеся с {\ttfamily \+\_\+\+\_\+} и которых нет в этом дереве являются \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}внутренними/непротестированными/недокументированными\texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}
\begin{DoxyCode}{0}
\DoxyCodeLine{ProjectRoot/}
\DoxyCodeLine{├──\ MyLibs/\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \#\ Общие\ библиотеки,\ независимые\ от\ платформы\ (или\ почти)}
\DoxyCodeLine{\ \ \ ├──\ inc/}
\DoxyCodeLine{\ \ \ \ \ \ ├──\ \_\_mylibs\_include.h\ \ \ \#\ Главный\ include\ файл}
\DoxyCodeLine{\ \ \ \ \ \ ├──\ \_\_mylibs\_config.h\ \ \ \ \#\ Конфигурация\ библиотек}
\DoxyCodeLine{\ \ \ \ \ \ ├──\ mylibs\_defs.h\ \ \ \ \ \ \ \ \#\ Общие\ определения\ и\ макросы}
\DoxyCodeLine{\ \ \ \ \ \ ├──\ bit\_access.h\ \ \ \ \ \ \ \ \ \#\ Битовый\ доступ\ к\ регистрам}
\DoxyCodeLine{\ \ \ \ \ \ ├──\ gen\_optimizer.h\ \ \ \ \ \ \#\ Оптимизатор\ (генетический\ алгоритм)}
\DoxyCodeLine{\ \ \ \ \ \ ├──\ trackers.h\ \ \ \ \ \ \ \ \ \ \ \#\ Трекеры\ для\ отладки}
\DoxyCodeLine{\ \ \ \ \ \ └──\ trace.h\ \ \ \ \ \ \ \ \ \ \ \ \ \ \#\ Трассировка\ и\ логирование}
\DoxyCodeLine{\ \ \ └──\ src/}
\DoxyCodeLine{}
\DoxyCodeLine{└──RTT\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \#\ Библиотека\ RTT}
\DoxyCodeLine{\ \ \ \ ├──\ \_\_SEGGER\_RTT\_Conf.h\ \ \ \ \ \ \#\ Конфигурационный\ файл\ RTT}
\DoxyCodeLine{\ \ \ \ ├──\ SEGGER\_RTT.c\ \ \ \ \ \ \ \ \ \ \ \ \ \#\ Основной\ модуль\ RTT}
\DoxyCodeLine{\ \ \ \ ├──\ SEGGER\_RTT.h\ \ \ \ \ \ \ \ \ \ \ \ \ \#\ Основной\ заголовок\ RTT}
\DoxyCodeLine{\ \ \ \ ├──\ SEGGER\_RTT\_ASM\_ARMv7M.S\ \ \#\ Ассемблерная\ оптимизация\ для\ ARMv7M}
\DoxyCodeLine{\ \ \ \ └──\ SEGGER\_RTT\_printf.c\ \ \ \ \ \ \#\ Реализация\ printf()\ через\ RTT}
\end{DoxyCode}
\hypertarget{index_инструкция-по-подключению}{}\doxysection{\texorpdfstring{Инструкция по подключению}{Инструкция по подключению}}\label{index_инструкция-по-подключению}
\begin{DoxyEnumerate}
\item {\bfseries{Склонируйте субмодуль}} в ваш проект\+:
\end{DoxyEnumerate}
\begin{DoxyCode}{0}
\DoxyCodeLine{git\ submodule\ add\ https://git.arktika.cyou/Razvalyaev/STM32\_ExtendedLibs\ path/to/ExtendedLibs}
\DoxyCodeLine{git\ submodule\ update\ -\/-\/init\ -\/-\/recursive}
\end{DoxyCode}
\begin{DoxyEnumerate}
\item {\bfseries{Скопируйте файлы конфигурации и главный include}} в отдельную папку в вашем проекте (вне субмодуля) и удалите {\ttfamily \+\_\+\+\_\+}\+:
\end{DoxyEnumerate}
\begin{DoxyCode}{0}
\DoxyCodeLine{ProjectRoot/}
\DoxyCodeLine{├──\ Configs/}
\DoxyCodeLine{\ \ \ ├──\ mylibs\_include.h}
\DoxyCodeLine{\ \ \ └──\ mylibs\_config.h}
\DoxyCodeLine{\ \ \ └──\ SEGGER\_RTT\_Conf.h}
\end{DoxyCode}
\begin{DoxyEnumerate}
\item {\bfseries{Настройте конфигурацию}} под ваш проект\+:
\end{DoxyEnumerate}
\begin{DoxyItemize}
\item {\ttfamily mylibs\+\_\+config.\+h} — задайте нужные параметры библиотек.
\item {\ttfamily mylibs\+\_\+include.\+h} — укажите пути к вашим заголовочным файлам и подключаемым модулям.
\item {\ttfamily SEGGER\+\_\+\+RTT\+\_\+\+Conf.\+h} — настройки RTT.
\end{DoxyItemize}
\begin{DoxyEnumerate}
\item {\bfseries{Подключайте библиотеки в вашем коде}} через главный include файл\+:
\end{DoxyEnumerate}
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{preprocessor}{\#include\ "{}mylibs\_include.h"{}}}
\end{DoxyCode}
\begin{DoxyEnumerate}
\item {\bfseries{Обновление библиотеки}}\+:
\end{DoxyEnumerate}
После обновления субмодуля из Git, исходные файлы библиотеки будут обновлены, но ваши конфиги останутся в целевой папке и не перезапишутся\+:
\begin{DoxyCode}{0}
\DoxyCodeLine{git\ submodule\ update\ -\/-\/remote}
\end{DoxyCode}