STM32_ExtendedLibs/Doc/html/index.html

189 lines
11 KiB
HTML
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.

<!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">&#160;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 &quot;<a class="code" href="mylibs__include_8h.html">mylibs_include.h</a>&quot;</span></div>
<div class="ttc" id="amylibs__include_8h_html"><div class="ttname"><a href="mylibs__include_8h.html">mylibs_include.h</a></div><div class="ttdoc">Заголочный файл для всех библиотек</div></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>