188 lines
11 KiB
HTML
188 lines
11 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||
<meta name="generator" content="Doxygen 1.14.0"/>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||
<title>MyLibs: Обзор ExtendedLibs</title>
|
||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="jquery.js"></script>
|
||
<script type="text/javascript" src="dynsections.js"></script>
|
||
<script type="text/javascript" src="clipboard.js"></script>
|
||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="navtreedata.js"></script>
|
||
<script type="text/javascript" src="navtree.js"></script>
|
||
<script type="text/javascript" src="cookie.js"></script>
|
||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||
<script type="text/javascript" src="search/search.js"></script>
|
||
<script type="text/x-mathjax-config">
|
||
MathJax.Hub.Config({
|
||
extensions: ["tex2jax.js"],
|
||
jax: ["input/TeX","output/HTML-CSS"],
|
||
});
|
||
</script>
|
||
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
|
||
<script type="text/javascript" src="darkmode_toggle.js"></script>
|
||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||
</head>
|
||
<body>
|
||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||
<div id="titlearea">
|
||
<table cellspacing="0" cellpadding="0">
|
||
<tbody>
|
||
<tr id="projectrow">
|
||
<td id="projectalign">
|
||
<div id="projectname">MyLibs<span id="projectnumber"> 1.0</span>
|
||
</div>
|
||
<div id="projectbrief">Расширенные библиотеки для STM32</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<!-- end header part -->
|
||
<!-- Generated by Doxygen 1.14.0 -->
|
||
<script type="text/javascript">
|
||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||
</script>
|
||
<script type="text/javascript">
|
||
$(function() { codefold.init(); });
|
||
</script>
|
||
<script type="text/javascript" src="menudata.js"></script>
|
||
<script type="text/javascript" src="menu.js"></script>
|
||
<script type="text/javascript">
|
||
$(function() {
|
||
initMenu('',true,false,'search.php','Search',true);
|
||
$(function() { init_search(); });
|
||
});
|
||
</script>
|
||
<div id="main-nav"></div>
|
||
</div><!-- top -->
|
||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||
<div id="nav-tree">
|
||
<div id="nav-tree-contents">
|
||
<div id="nav-sync" class="sync"></div>
|
||
</div>
|
||
</div>
|
||
<div id="splitbar" style="-moz-user-select:none;"
|
||
class="ui-resizable-handle">
|
||
</div>
|
||
</div>
|
||
<script type="text/javascript">
|
||
$(function(){initNavTree('index.html','',''); });
|
||
</script>
|
||
<div id="container">
|
||
<div id="doc-content">
|
||
<!-- window showing the filter options -->
|
||
<div id="MSearchSelectWindow"
|
||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||
</div>
|
||
|
||
<!-- iframe showing the search results (closed by default) -->
|
||
<div id="MSearchResultsWindow">
|
||
<div id="MSearchResults">
|
||
<div class="SRPage">
|
||
<div id="SRIndex">
|
||
<div id="SRResults"></div>
|
||
<div class="SRStatus" id="Loading">Loading...</div>
|
||
<div class="SRStatus" id="Searching">Searching...</div>
|
||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div><div class="header">
|
||
<div class="headertitle"><div class="title">Обзор <span class="tt">ExtendedLibs</span> </div></div>
|
||
</div><!--header-->
|
||
<div class="contents">
|
||
<div class="textblock"><p><a class="anchor" id="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"></a></p>
|
||
<p>ExtendedLibs - это набор библиотек для удобной работы с STM32. Данный субмодуль подключается напрямую из Git и содержит набор вспомогательных библиотек для работы МК, в частности STM32 и SEGGER RTT.</p>
|
||
<h1 class="doxsection"><a class="anchor" id="основные-возможности"></a>
|
||
Основные возможности</h1>
|
||
<h3 class="doxsection"><a class="anchor" id="общие-утилиты-mylibs-ref-mylibs_tools"></a>
|
||
Общие утилиты MyLibs (<a class="el" href="group___m_y_l_i_b_s___t_o_o_l_s.html">General Tools</a>)</h3>
|
||
<ul>
|
||
<li>Макросы для задержек (<a class="el" href="group___d_e_l_a_y_s___d_e_f_i_n_e_s.html">Delays defines</a>)</li>
|
||
<li>Утилиты для работы с всяким (<a class="el" href="group___u_t_i_l_s___d_e_f_i_n_e_s.html">Utils defines</a>)</li>
|
||
<li>Битовый доступ к регистрам через union (<a class="el" href="group___b_i_t___a_c_c_e_s_s___d_e_f_i_n_e_s.html">Bit access defines</a>)</li>
|
||
</ul>
|
||
<h3 class="doxsection"><a class="anchor" id="отладка-ref-mylibs_debug_tools"></a>
|
||
Отладка* (<a class="el" href="group___m_y_l_i_b_s___d_e_b_u_g___t_o_o_l_s.html">Debug Tools</a>)</h3>
|
||
<ul>
|
||
<li>Трассировка (<a class="el" href="group___t_r_a_c_e.html">Trace defines</a>)</li>
|
||
<li>Измерение временных интервалов (<a class="el" href="group___b_e_n_c_h___t_i_m_e.html">Time measurement</a>)</li>
|
||
<li>Генетический алгоритм для оптимизации параметров (<a class="el" href="group___g_e_n___o_p_t_i_m_i_z_e_r.html">Genetic optimizer</a>)</li>
|
||
<li>Трекеры для статистики и отладки (<a class="el" href="group___t_r_a_c_k_e_r_s.html">Trackers defines</a>)</li>
|
||
</ul>
|
||
<p><em>*Модули отладки независимы от MyLibs и могут быть использованы отдельно</em></p>
|
||
<h1 class="doxsection"><a class="anchor" id="структура-библиотеки"></a>
|
||
Структура библиотеки</h1>
|
||
<p>*Note: Файлы начинающиеся с <span class="tt">__</span> и которых нет в этом дереве являются **внутренними/непротестированными/недокументированными*** </p><div class="fragment"><div class="line">ProjectRoot/</div>
|
||
<div class="line">├── MyLibs/ # Общие библиотеки, независимые от платформы (или почти)</div>
|
||
<div class="line">│ ├── inc/</div>
|
||
<div class="line">│ │ ├── __mylibs_include.h # Главный include файл</div>
|
||
<div class="line">│ │ ├── __mylibs_config.h # Конфигурация библиотек</div>
|
||
<div class="line">│ │ ├── mylibs_defs.h # Общие определения и макросы</div>
|
||
<div class="line">│ │ ├── bit_access.h # Битовый доступ к регистрам</div>
|
||
<div class="line">│ │ ├── gen_optimizer.h # Оптимизатор (генетический алгоритм)</div>
|
||
<div class="line">│ │ ├── trackers.h # Трекеры для отладки</div>
|
||
<div class="line">│ │ └── trace.h # Трассировка и логирование</div>
|
||
<div class="line">│ └── src/</div>
|
||
<div class="line">│</div>
|
||
<div class="line">└──RTT # Библиотека RTT</div>
|
||
<div class="line"> ├── __SEGGER_RTT_Conf.h # Конфигурационный файл RTT</div>
|
||
<div class="line"> ├── SEGGER_RTT.c # Основной модуль RTT</div>
|
||
<div class="line"> ├── SEGGER_RTT.h # Основной заголовок RTT</div>
|
||
<div class="line"> ├── SEGGER_RTT_ASM_ARMv7M.S # Ассемблерная оптимизация для ARMv7M</div>
|
||
<div class="line"> └── SEGGER_RTT_printf.c # Реализация printf() через RTT</div>
|
||
</div><!-- fragment --><h1 class="doxsection"><a class="anchor" id="инструкция-по-подключению"></a>
|
||
Инструкция по подключению</h1>
|
||
<ol type="1">
|
||
<li><b>Склонируйте субмодуль</b> в ваш проект:</li>
|
||
</ol>
|
||
<div class="fragment"><div class="line">git submodule add https://git.arktika.cyou/Razvalyaev/STM32_ExtendedLibs path/to/ExtendedLibs</div>
|
||
<div class="line">git submodule update --init --recursive</div>
|
||
</div><!-- fragment --><ol type="1">
|
||
<li><b>Скопируйте файлы конфигурации и главный include</b> в отдельную папку в вашем проекте (вне субмодуля) и удалите <span class="tt">__</span>:</li>
|
||
</ol>
|
||
<div class="fragment"><div class="line">ProjectRoot/</div>
|
||
<div class="line">├── Configs/</div>
|
||
<div class="line">│ ├── mylibs_include.h</div>
|
||
<div class="line">│ └── mylibs_config.h</div>
|
||
<div class="line">│ └── SEGGER_RTT_Conf.h</div>
|
||
</div><!-- fragment --><ol type="1">
|
||
<li><b>Настройте конфигурацию</b> под ваш проект:</li>
|
||
</ol>
|
||
<ul>
|
||
<li><span class="tt">mylibs_config.h</span> — задайте нужные параметры библиотек.</li>
|
||
<li><span class="tt">mylibs_include.h</span> — укажите пути к вашим заголовочным файлам и подключаемым модулям.</li>
|
||
<li><span class="tt">SEGGER_RTT_Conf.h</span> — настройки RTT.</li>
|
||
</ul>
|
||
<ol type="1">
|
||
<li><b>Подключайте библиотеки в вашем коде</b> через главный include файл:</li>
|
||
</ol>
|
||
<div class="fragment"><div class="line"><span class="preprocessor">#include "mylibs_include.h"</span></div>
|
||
</div><!-- fragment --><ol type="1">
|
||
<li><b>Обновление библиотеки</b>:</li>
|
||
</ol>
|
||
<p>После обновления субмодуля из Git, исходные файлы библиотеки будут обновлены, но ваши конфиги останутся в целевой папке и не перезапишутся:</p>
|
||
<div class="fragment"><div class="line">git submodule update --remote</div>
|
||
</div><!-- fragment --> </div></div><!-- PageDoc -->
|
||
<a href="doxygen_crawl.html"></a>
|
||
</div><!-- contents -->
|
||
</div><!-- doc-content -->
|
||
</div><!-- container -->
|
||
<!-- start footer part -->
|
||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||
<ul>
|
||
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
|
||
</ul>
|
||
</div>
|
||
</body>
|
||
</html>
|