CodeSourcery ARM GNU/Linux tool chain is the version with the support for the latest ARM architecture. Mainline gcc also has stable ARM support. Enhancements are made in the Codesourcery version first, and are then pushed back to mainline.
As of August 2009, 2009q1-203 version is recommended. If you look for native tool chain, you can also install a native tool-chain from Angstrom. More recent versions from 2011 (such as 2011.03-41 version) should work just fine as well.
Note: If you will use only OpenEmbedded (OE) to build code for your Beagle, you don't need to download the CodeSourcery compiler. OE builds a cross-compiler from source as part of the bitbake process.
Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section Advanced Packages), copy extracted arm-2007q3 directory to /opt/codesourcery/arm-none-linux-gnueabi/ and add /opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin to your path.
- Note: CodeSourcery 2007q3 has the following issues:
- Note: CodeSourcery 2008q1 has the following issues:
- Vectorization + NEON is broken
- building static binaries with cortex-a8 flag (or any ARMv7a core) is broken
- some armv6 compilations end in ICE.
- Note: CodeSourcery 2008q3 (now replaced by 2008q3-72) has the following issues:
- Note: CodeSourcery 2008q3-72 has the following issues:
- Note: CodeSourcery 2009q1 has the following issues:
- Floating-point code can be slower than with 2007q3, see FFmpeg benchmarks.
gdb supports native debug or 'gdbserver' remote debug. For debug support for VFPv3 and NEON, you must use the 'gdbserver' approach - see How to enable VFPv3/NEON debug.
The ARM Compiler (formerly RVCT)
The ARM Compiler toolchain can be used to generate Linux applications and shared-libraries and is generally highly compatible with GCC. It also bundles the industry leading vectorizing compiler for ARM NEON-enabled devices.
Free Pascal can target multiple processor architectures, including ARM. 16 MB of RAM is required. Binaries as well as Free Pascal itself run on any ARM Linux installation.
There are two ways to create binaries for the ARM architecture:
- Cross compiling: This creates code for an ARM-based embedded system from a different development system (e.g. an Intel-based or PPC-based computer)
- Development directly on the target platform. This is possible with most ARM-based Linux systems.
Both modes are supported by pure Free Pascal and by the Lazarus IDE.