Revision 5c8c470f
README.md | ||
---|---|---|
51 | 51 |
5. GNU ARM Embedded Toolchain |
52 | 52 |
6. CMake |
53 | 53 |
2. Recommended Software |
54 |
1. PlantUML |
|
55 |
2. QtCreator IDE |
|
54 | 56 |
3. Compiling the Source Code |
55 | 57 |
1. Host Software |
56 | 58 |
2. Target Software |
57 | 59 |
|
58 | 60 |
-------------------------------------------------------------------------------- |
59 | 61 |
|
60 |
1 Required Software
|
|
61 |
=====================
|
|
62 |
1 Required Software |
|
63 |
=================== |
|
62 | 64 |
|
63 | 65 |
In order to compile and flash the AMiRo bootloader, some additional software is |
64 | 66 |
required, all of which are described in detail in the following. |
65 | 67 |
|
66 | 68 |
|
67 |
1.1 Git
|
|
68 |
---------
|
|
69 |
1.1 Git |
|
70 |
------- |
|
69 | 71 |
|
70 | 72 |
Since all main- and subprojects are available as Git repositories, installing a |
71 | 73 |
recent version of the tool is mandatory. Most Linux distributions like Ubuntu |
72 | 74 |
provide a sufficient version in their software repositories. |
73 | 75 |
|
74 | 76 |
|
75 |
1.2 GNU Make
|
|
76 |
--------------
|
|
77 |
1.2 GNU Make |
|
78 |
------------ |
|
77 | 79 |
|
78 | 80 |
GNU Make usually comes as preinstalled tool on Ubuntu based operating systems. |
79 | 81 |
If your system is missing GNU Make, it is recommended to install it from the |
... | ... | |
81 | 83 |
recent version) are required. |
82 | 84 |
|
83 | 85 |
|
84 |
1.3 GCC
|
|
85 |
---------
|
|
86 |
1.3 GCC |
|
87 |
------- |
|
86 | 88 |
|
87 | 89 |
In order to build some required tools from source, GCC is required. It usually |
88 | 90 |
comes as preinstalled tool on Ubuntu based operating systems. If your system is |
... | ... | |
91 | 93 |
required. |
92 | 94 |
|
93 | 95 |
|
94 |
1.4 stm32flash
|
|
95 |
----------------
|
|
96 |
1.4 stm32flash |
|
97 |
-------------- |
|
96 | 98 |
|
97 | 99 |
This tool is required to flash the bootloader binaries to the microcontrollers |
98 | 100 |
of the AMiRo base modules. Since it is included in this project as a Git |
... | ... | |
110 | 112 |
the file `./Host/Source/stm32flash/INSTALL`. |
111 | 113 |
|
112 | 114 |
|
113 |
1.5 GNU ARM Embedded Toolchain
|
|
114 |
--------------------------------
|
|
115 |
1.5 GNU ARM Embedded Toolchain |
|
116 |
------------------------------ |
|
115 | 117 |
|
116 | 118 |
Various versions of the GCC for ARM embedded devices can be found at |
117 | 119 |
<https://developer.arm.com/open-source/gnu-toolchain/gnu-rm> (old versions are |
... | ... | |
131 | 133 |
>$ sudo apt-get install libc6:i386 libstdc++6:i386 libncurses5:i386 |
132 | 134 |
|
133 | 135 |
|
134 |
1.6 CMake
|
|
135 |
-----------
|
|
136 |
1.6 CMake |
|
137 |
--------- |
|
136 | 138 |
|
137 | 139 |
In order to build the `SerialBoot` host application, `CMake` version 2.8 or |
138 | 140 |
later is required. If possible, it is recommended to instal it from the standard |
... | ... | |
140 | 142 |
|
141 | 143 |
|
142 | 144 |
|
143 |
2 Recommended Software |
|
144 |
======================== |
|
145 |
2 Recommended Software |
|
146 |
====================== |
|
147 |
|
|
148 |
The software tools named in this section are not essential for simply using or |
|
149 |
further development of AMiRo-BLT, but can help for both scenarios. |
|
150 |
|
|
151 |
|
|
152 |
2.1 PlantUML |
|
153 |
------------ |
|
154 |
|
|
155 |
PlantUML is a free and open source Java tool to generate UML diagrams via scrips |
|
156 |
(see <https://plantuml.com>). AMiRo-BLT provides according scripts in the |
|
157 |
`./Target/Doc/` directory. Please refer to the PlantUML documentation for how to |
|
158 |
generate figures from these script files. |
|
159 |
|
|
160 |
|
|
161 |
2.2 QtCreator IDE |
|
162 |
----------------- |
|
145 | 163 |
|
146 | 164 |
AMiRo-BLT provides support for the QtCreator IDE. In order to setup according |
147 | 165 |
projects, use the setup script and follow the instructions. It will |
148 | 166 |
automatically generate the required files and you can import the projects by |
149 |
opening the `.creator` files with QtCreator IDE. |
|
167 |
opening the `.creator` files with QtCreator IDE. |
|
168 |
Please note that you will need to recompile the AMiRo-OS source code after each |
|
169 |
project generation, since the generator runs a compiler call. |
|
150 | 170 |
|
151 | 171 |
|
152 | 172 |
|
153 |
3 Compiling the Source Code
|
|
154 |
=============================
|
|
173 |
3 Compiling the Source Code |
|
174 |
=========================== |
|
155 | 175 |
|
156 | 176 |
The AMiRo-BLT project is separated into two major parts: target- and host- |
157 | 177 |
related software. The former comprises the bootloaders for the three base |
... | ... | |
163 | 183 |
to update the firmware even for other modules. |
164 | 184 |
|
165 | 185 |
|
166 |
3.1 Host Software
|
|
167 |
-------------------
|
|
186 |
3.1 Host Software |
|
187 |
----------------- |
|
168 | 188 |
|
169 | 189 |
The `stm32flash` tool is requried to flash bootloader binaries to the MCUs. |
170 | 190 |
Instructions for builing the tool are given in chapter 1.4 of this file. |
... | ... | |
177 | 197 |
the default for any scripts and tools that use `SerialBoot`. |
178 | 198 |
|
179 | 199 |
|
180 |
3.2 Target Software
|
|
181 |
---------------------
|
|
200 |
3.2 Target Software |
|
201 |
------------------- |
|
182 | 202 |
|
183 | 203 |
Module specific code for the several AMiRo base modules is located in the |
184 | 204 |
individual subfolders in the `./Target/Modules/` directory. To compile |
... | ... | |
223 | 243 |
Keep a charger plugged in during flashing. |
224 | 244 |
|
225 | 245 |
**Attention**: Never flash a bootloader to the wrong module! Doing so might |
226 |
cause severe errors and damage the robot.
|
|
246 |
cause severe errors and damage the hardware.
|
|
227 | 247 |
|
Also available in: Unified diff