Project

General

Profile

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.
Add picture from clipboard (Maximum size: 48.8 MB)