テスト用のあれこれ共用フォルダ
Revisión | b05d7c6ac23c1fa146fa414d3bf715e4c190920d (tree) |
---|---|
Tiempo | 2019-01-28 18:26:47 |
Autor | takemasa <suikan@user...> |
Commiter | takemasa |
Edited Doxygen comment : Modify the subpage and added brief to PG/UG
@@ -6,8 +6,8 @@ | ||
6 | 6 | * \brief Doxygen document file. No need to include. |
7 | 7 | */ |
8 | 8 | |
9 | -#ifndef MURASAKI_0_UG_HPP_ | |
10 | -#define MURASAKI_0_UG_HPP_ | |
9 | +#ifndef MURASAKI_0_INTRO_HPP_ | |
10 | +#define MURASAKI_0_INTRO_HPP_ | |
11 | 11 | |
12 | 12 | /** |
13 | 13 | * \page murasaki_ug_preface Preface |
@@ -17,16 +17,17 @@ | ||
17 | 17 | * |
18 | 18 | * Murasaki has following design philosophies: |
19 | 19 | * |
20 | - * \li \ref sec2 | |
21 | - * \li \ref sec3 | |
22 | - * \li \ref sec4 | |
23 | - * \li \ref sec5 | |
24 | - * \li \ref sec6 | |
25 | - * \li \ref sec7 | |
26 | - * \li \ref sec8 | |
27 | - * | |
28 | - * \section sec2 Simplified IO | |
29 | - * The IO function is packaged by class types. For example, The murasaki::Uart class can | |
20 | + * \li \subpage intro_sec1 | |
21 | + * \li \subpage intro_sec2 | |
22 | + * \li \subpage intro_sec3 | |
23 | + * \li \subpage intro_sec4 | |
24 | + * \li \subpage intro_sec5 | |
25 | + * \li \subpage intro_sec6 | |
26 | + * \li \subpage intro_sec7 | |
27 | + * \li \subpage intro_sec8 | |
28 | + * | |
29 | + * \page intro_sec1 Simplified IO | |
30 | + * \brief The IO function is packaged by class types. For example, The murasaki::Uart class can | |
30 | 31 | * receive a UART handle |
31 | 32 | * |
32 | 33 | * \code |
@@ -41,8 +42,8 @@ | ||
41 | 42 | * The interrupt-based transfer is not supported. |
42 | 43 | * By giving up the flexibility, programming with Murasaki is easier than using HAL directly. |
43 | 44 | * |
44 | - * \section sec3 Preemptive multi-task | |
45 | - * The Murasaki class library is buit on FreeRTOS's preemptive configuration. | |
45 | + * \page intro_sec2 Preemptive multi-task | |
46 | + * \brief The Murasaki class library is buit on FreeRTOS's preemptive configuration. | |
46 | 47 | * As a result, Murasaki is automatically aware with preemptive multi-task. |
47 | 48 | * |
48 | 49 | * That means, Murasaki's classes don't use polling to wait for any event. Then, a task |
@@ -52,8 +53,8 @@ | ||
52 | 53 | * a good way to develop a large program easier. |
53 | 54 | * And the more important point, it is easier to maintain. |
54 | 55 | * |
55 | - * \section sec4 Blocking IO | |
56 | - * The blocking IO is one of the most important features of Murasaki. | |
56 | + * \page intro_sec3 Blocking IO | |
57 | + * \brief The blocking IO is one of the most important features of Murasaki. | |
57 | 58 | * |
58 | 59 | * The peripheral wrapping class like murasaki::Uart provides a set of member functions |
59 | 60 | * to do the data transmission/receiving. Such the member functions are programmed |
@@ -70,8 +71,8 @@ | ||
70 | 71 | * To provide the blocking IO, some member functions are restricted to use only in |
71 | 72 | * the task context. |
72 | 73 | * |
73 | - * \section sec5 Thread safe IO | |
74 | - * The blocking IO and the preemptive multi-task provide easier programming. | |
74 | + * \page intro_sec4 Thread safe IO | |
75 | + * \brief The blocking IO and the preemptive multi-task provide easier programming. | |
75 | 76 | * In the other hand, there is a possibility that two different task accesses |
76 | 77 | * one peripheral simultaneously. |
77 | 78 | * This kind of access messes the peripheral's behavior. |
@@ -82,8 +83,8 @@ | ||
82 | 83 | * By this mechanism, if two tasks try to transmit though one peripheral, one task |
83 | 84 | * is kept waiting until the other finished to transmit. |
84 | 85 | * |
85 | - * \section sec6 Versatile printf() logger | |
86 | - * Logging or "printf debug" is a strong tool in the embedded system development. | |
86 | + * \page intro_sec5 Versatile printf() logger | |
87 | + * \brief Logging or "printf debug" is a strong tool in the embedded system development. | |
87 | 88 | * |
88 | 89 | * Murasaki has three levels of the printf debugging mechanism. One is the \ref murasaki::debugger->Printf(), |
89 | 90 | * the second is \ref MURASAKI_ASSERT macro. In addtion to these two, \ref MURASAKI_SYSLOG macro is avairable. |
@@ -98,21 +99,21 @@ | ||
98 | 99 | * These features allow a programmer to do the printf() debug not only in the task context |
99 | 100 | * but also in the interrupt context. |
100 | 101 | * |
101 | - * \section sec7 Guard by assertion | |
102 | - * In addition to the murasaki::debugger->Printf(), programmer can use \ref MURASAKI_ASSERT macro. | |
102 | + * \page intro_sec6 Guard by assertion | |
103 | + * \brief In addition to the murasaki::debugger->Printf(), programmer can use \ref MURASAKI_ASSERT macro. | |
103 | 104 | * This allows easy assertion and logging. This macro uses the murasaki::debugger->Printf() |
104 | 105 | * internally. |
105 | 106 | * |
106 | 107 | * This assertion is used inside Murasaki class library. |
107 | 108 | * As a result, the wrong context, wrong parameter, etc will be reported to the debugger output. |
108 | 109 | * |
109 | - * \section sec7_5 System Logging | |
110 | - * \ref MURASAKI_SYSLOG provides the message output based on the level and filtering. | |
110 | + * \page intro_sec7 System Logging | |
111 | + * \brief \ref MURASAKI_SYSLOG provides the message output based on the level and filtering. | |
111 | 112 | * This mechanism is intended to help the Murasaki library development. But also application |
112 | 113 | * can use this mechanism. |
113 | 114 | * |
114 | - * \section sec8 Configurable | |
115 | - * Murasaki is configurable from the two point of view. | |
115 | + * \page intro_sec8 Configurable | |
116 | + * \brief Murasaki is configurable from the two point of view. | |
116 | 117 | * |
117 | 118 | * First, Musaraki's modules enable only when the relevant peripheral is generated by CubeMX. |
118 | 119 | * This allows you set the CubeMX to generate only the used peripheral's source code. |
@@ -131,24 +132,5 @@ | ||
131 | 132 | |
132 | 133 | |
133 | 134 | |
134 | -/** | |
135 | - * \page murasaki_ug_environment Target and Environment | |
136 | - * \brief Murasaki library was originally developed with following environment: | |
137 | - * \details | |
138 | - * | |
139 | - * \li <a href="http://www.st.com/en/evaluation-tools/nucleo-f746zg.html">Nucleo F746ZG ( STM32F746ZG )</a> | |
140 | - * \li <a href="http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html">STM32CubeMX 5.0</a> | |
141 | - * \li <a href="http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-ides/sw4stm32.html">SW4STM32 1.16.0.201807130628 ( with eclipse 4.6.3 )</a> | |
142 | - * \li <a href="http://releases.ubuntu.com/16.04/">Ubuntu 16.04.03 (64bit)</a> | |
143 | - * | |
144 | - * And then, confirmed portability with following boards : | |
145 | - * \li <a href="http://www.st.com/en/evaluation-tools/nucleo-f746zg.html">Nucleo F746ZG ( STM32F746ZG : Cortex-M7 )</a> | |
146 | - * \li <a href="http://www.st.com/en/evaluation-tools/nucleo-f722ze.html">Nucleo F722ZE ( STM32F722ZE : Cortex-M7 )</a>, | |
147 | - * \li <a href="http://www.st.com/en/evaluation-tools/nucleo-f303k8.html">Nucleo F303K8 ( STM32F303K8 : Cortex-M4 )</a> | |
148 | - * \li <a href="http://www.st.com/en/evaluation-tools/nucleo-l152re.html">Nucleo L152RE ( STM32L152RE : Cortex-M3 )</a> | |
149 | - * \li <a href="http://www.st.com/en/evaluation-tools/nucleo-f091rc.html">Nucleo F091RC ( STM32F091RC : Cortex-M0 )</a> | |
150 | - * | |
151 | - */ | |
152 | - | |
153 | 135 | |
154 | 136 | #endif /* MURASAKI_0_UG_HPP_ */ |
@@ -0,0 +1,33 @@ | ||
1 | +/* | |
2 | + * \file murasaki_ug.hpp | |
3 | + * | |
4 | + * \date 2018/02/01 | |
5 | + * \author takemasa | |
6 | + * \brief Doxygen document file. No need to include. | |
7 | + */ | |
8 | + | |
9 | +#ifndef MURASAKI_0_ENV_HPP_ | |
10 | +#define MURASAKI_1_ENV_HPP_ | |
11 | + | |
12 | + | |
13 | +/** | |
14 | + * \page murasaki_ug_environment Target and Environment | |
15 | + * \brief Murasaki library was originally developed with following environment: | |
16 | + * \details | |
17 | + * | |
18 | + * \li <a href="http://www.st.com/en/evaluation-tools/nucleo-f746zg.html">Nucleo F746ZG ( STM32F746ZG )</a> | |
19 | + * \li <a href="http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html">STM32CubeMX 5.0</a> | |
20 | + * \li <a href="http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-ides/sw4stm32.html">SW4STM32 1.16.0.201807130628 ( with eclipse 4.6.3 )</a> | |
21 | + * \li <a href="http://releases.ubuntu.com/16.04/">Ubuntu 16.04.03 (64bit)</a> | |
22 | + * | |
23 | + * And then, confirmed portability with following boards : | |
24 | + * \li <a href="http://www.st.com/en/evaluation-tools/nucleo-f746zg.html">Nucleo F746ZG ( STM32F746ZG : Cortex-M7 )</a> | |
25 | + * \li <a href="http://www.st.com/en/evaluation-tools/nucleo-f722ze.html">Nucleo F722ZE ( STM32F722ZE : Cortex-M7 )</a>, | |
26 | + * \li <a href="http://www.st.com/en/evaluation-tools/nucleo-f303k8.html">Nucleo F303K8 ( STM32F303K8 : Cortex-M4 )</a> | |
27 | + * \li <a href="http://www.st.com/en/evaluation-tools/nucleo-l152re.html">Nucleo L152RE ( STM32L152RE : Cortex-M3 )</a> | |
28 | + * \li <a href="http://www.st.com/en/evaluation-tools/nucleo-f091rc.html">Nucleo F091RC ( STM32F091RC : Cortex-M0 )</a> | |
29 | + * | |
30 | + */ | |
31 | + | |
32 | + | |
33 | +#endif /* MURASAKI_0_UG_HPP_ */ |
@@ -6,8 +6,8 @@ | ||
6 | 6 | * \brief Doxygen document file. No need to include. |
7 | 7 | */ |
8 | 8 | |
9 | -#ifndef MURASAKI_1_UG_HPP_ | |
10 | -#define MURASAKI_1_UG_HPP_ | |
9 | +#ifndef MURASAKI_2_UG_HPP_ | |
10 | +#define MURASAKI_2_UG_HPP_ | |
11 | 11 | |
12 | 12 | |
13 | 13 | /** |
@@ -15,6 +15,12 @@ | ||
15 | 15 | * \brief In this introduction, we see how to use Murasaki class library in the STM32 program. |
16 | 16 | * \details |
17 | 17 | * |
18 | + * In this seciton, we see folling issues : | |
19 | + * \li \subpage ug_sec_us_1 | |
20 | + * \li \subpage ug_sec_us_2 | |
21 | + * \li \subpage ug_sec_us_3 | |
22 | + * \li \subpage ug_sec_us_4 | |
23 | + * \li \subpage ug_sec_us_5 | |
18 | 24 | * |
19 | 25 | * For the easy-to-understand description, we assumes several things on the application skeleton which we are going to use Murasaki : |
20 | 26 | * \li The application skeleton is generated by <a href= "http://www.st.com/ja/development-tools/stm32cubemx.html"> CubeMX </a> |
@@ -22,8 +28,8 @@ | ||
22 | 28 | * \li UART3 is configured to work with DMA. |
23 | 29 | * \li One of the EXTI interrupt lines is enabled and label "B1" is assigned. |
24 | 30 | * |
25 | - * \section sec_us_1 Using C++ class from C application | |
26 | - * First of all, we have to consider the inter-language linking between C and C++ program. | |
31 | + * \page ug_sec_us_1 Using C++ class from C application | |
32 | + * \brief First of all, we have to consider the inter-language linking between C and C++ program. | |
27 | 33 | * |
28 | 34 | * The CubeMX generates a program skeleton by C language. |
29 | 35 | * Also, the STM32 HAL is programmed by C language. |
@@ -72,8 +78,8 @@ | ||
72 | 78 | * |
73 | 79 | * This is a common and essential technique to run C++ program with C application. |
74 | 80 | * |
75 | - * \section sec_us_2 Platform variables. | |
76 | - * There two Murasaki related variables which user should define. | |
81 | + * \page ug_sec_us_2 Platform variables. | |
82 | + * \brief There two Murasaki related variables which user should define. | |
77 | 83 | * One is required variable murasaki::debugger. |
78 | 84 | * The other is optional variable murasaki::platform. |
79 | 85 | * |
@@ -138,8 +144,8 @@ | ||
138 | 144 | * By initializing this variable, the debug functionality of Murasaki becomes |
139 | 145 | * ready to use. |
140 | 146 | * |
141 | - * \section sec_us_3 Routing interrupts | |
142 | - * Certain class variable of Murasaki have to be connected with | |
147 | + * \page ug_sec_us_3 Routing interrupts | |
148 | + * \brief Certain class variable of Murasaki have to be connected with | |
143 | 149 | * interrupt callback. |
144 | 150 | * |
145 | 151 | * The STM32 HAL uses the weak linkage prototype for the interrupt callback. |
@@ -180,8 +186,8 @@ | ||
180 | 186 | * Note that it is strongly recommended to use the murasaki::DebuggerUart class as base of the debugger. But for |
181 | 187 | * the normal use, the @ref murasaki::Uart class is provided better class. |
182 | 188 | * |
183 | - * \section sec_us_4 Test run | |
184 | - * The murasaki::Uart ( and murasaki::DebuggerUart ) type object can transmit or receive data in task context. | |
189 | + * \page ug_sec_us_4 Test run | |
190 | + * \brief The murasaki::Uart ( and murasaki::DebuggerUart ) type object can transmit or receive data in task context. | |
185 | 191 | * Both transmission and receive are independent. Then, 2 independent tasks can |
186 | 192 | * call each member function simultaneously. |
187 | 193 | * |
@@ -200,8 +206,8 @@ | ||
200 | 206 | * |
201 | 207 | * |
202 | 208 | * |
203 | - * \section sec_us_5 Debugging with Murasaki. | |
204 | - * Murasaki has simple messaging output for realtime debug. This feature is | |
209 | + * \page ug_sec_us_5 Debugging with Murasaki. | |
210 | + * \brief Murasaki has simple messaging output for realtime debug. This feature is | |
205 | 211 | * typically used as UART serial output, but configurable by programmer. |
206 | 212 | * |
207 | 213 | * The murasaki::debugger is the useful variable to output the debugging message. |
@@ -281,4 +287,4 @@ | ||
281 | 287 | |
282 | 288 | |
283 | 289 | |
284 | -#endif /* MURASAKI_1_UG_HPP_ */ | |
290 | +#endif /* MURASAKI_2_UG_HPP_ */ |
@@ -6,8 +6,8 @@ | ||
6 | 6 | * @brief Porting Guide |
7 | 7 | */ |
8 | 8 | |
9 | -#ifndef MURASAKI_2_PG_HPP_ | |
10 | -#define MURASAKI_2_PG_HPP_ | |
9 | +#ifndef MURASAKI_3_PG_HPP_ | |
10 | +#define MURASAKI_3_PG_HPP_ | |
11 | 11 | |
12 | 12 | /** |
13 | 13 | * \page murasaki_pg Porting guide |
@@ -455,5 +455,5 @@ | ||
455 | 455 | |
456 | 456 | |
457 | 457 | |
458 | -#endif /* MURASAKI_2_PG_HPP_ */ | |
458 | +#endif /* MURASAKI_3_PG_HPP_ */ | |
459 | 459 |