Project

General

Profile

Toolchain » History » Revision 4

Revision 3 (steve-m, 02/19/2016 10:50 PM) → Revision 4/5 (steve-m, 02/19/2016 10:51 PM)

 

 h1. 
 = Toolchain for firmware builds 


 = 

 The SAM3U microcontroller used in [[OsmoSDR]] OsmoSDR is based on an ARM Cortex-M3 core. 

 Cortex-M differs from classic ARM (ARM7TDMI) in a number of ways. One of them is that it only supports 
 the Thumb2 instruction set, and neither the 32-bit ARM nor the older Thumb instruction set. 

 This means that any code compiled for it needs to be pure Thumb2, with no ARM interworking.    The best way 
 to ensure this is to create a separate toolchain for it. 

 As an example, you can follow the instructions from 
 
  * http://openmulticopter.org/wiki/Building_an_ARM_Cortex-M3_toolchain 

 where you will have to run the summon-arm-toolchain script with:  
 <pre> 
 {{{ 
 ./summon-arm-toolchain TARGET=arm-cm3-eabi DEFAULT_TO_CORTEX_M3=1 
 </pre> 

 }}} 

 to generate the toolchain.    It will download all required components/dependencies 
 as a first step of the compilation process. 
Add picture from clipboard (Maximum size: 48.8 MB)