Toolchain » History » Version 3
steve-m, 02/19/2016 10:50 PM
why edit when there are parameters...
1 | 1 | laforge | |
---|---|---|---|
2 | 2 | laforge | = Toolchain for firmware builds = |
3 | 1 | laforge | |
4 | 2 | laforge | The SAM3U microcontroller used in OsmoSDR is based on an ARM Cortex-M3 core. |
5 | |||
6 | Cortex-M differs from classic ARM (ARM7TDMI) in a number of ways. One of them is that it only supports |
||
7 | the Thumb2 instruction set, and neither the 32-bit ARM nor the older Thumb instruction set. |
||
8 | |||
9 | This means that any code compiled for it needs to be pure Thumb2, with no ARM interworking. The best way |
||
10 | to ensure this is to create a separate toolchain for it. |
||
11 | |||
12 | As an example, you can follow the instructions from |
||
13 | 1 | laforge | * http://openmulticopter.org/wiki/Building_an_ARM_Cortex-M3_toolchain |
14 | |||
15 | 3 | steve-m | where you will have to run the summon-arm-toolchain script with: |
16 | {{{ |
||
17 | ./summon-arm-toolchain TARGET=arm-cm3-eabi DEFAULT_TO_CORTEX_M3=1 |
||
18 | }}} |
||
19 | 1 | laforge | |
20 | 3 | steve-m | to generate the toolchain. It will download all required components/dependencies |
21 | 2 | laforge | as a first step of the compilation process. |