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