Contents
|
The build plug-in is highly configurable in terms of executable names and location, so you can use any 32/64-bits ARM GNU toolchain you preffer, but, for better results, the recommended toolchain for bare metal target applications is GCC ARM Embedded (formerly GNU Tools for ARM Embedded Processors); for GNU/Linuxtarget applications, the Linaro family of toolchains provides a large selection of choices, for various specific needs (little/big endian, 32/64-bits, etc).
Please note the distinction between the target platform and the host/development platform.
Note: Be sure you select the proper toolchain for the target platform, otherwise builds will not succeed, or the generated applications will fail to run. Do not try to use the GCC ARM Embedded to build GNU/Linux applications, because the executables will not run on anything than bare metal, and do not try to use the Linaro toolchains for bare metal applications.
The installation details described below assume the selection of the GCC ARM Embedded toolchain. For other toolchains, please follow the specific installation instructions.
Due to portability reasons, the GNU ARM Eclipse plug-ins do not include any toolchain binaries, but they can be downloaded either from the GCC ARM Embedded project page, or, even better, from the All downloads page, where it is a bit easier to identify which file is required.
Versions from 4_7 up to 4_9-2015q3 were tested and are known to work properly.
The following steps can be performed on Windows:
gcc-arm-none-eabi-4_9-2015q3-20150921-win32.exe
, about 84 MB)...\Downloads\
folder) and double click it to start the installerauthenticate with the administrative password, to allow the installer write in system locations
accept the destination folder, usually a version specific sub-folder of C:\Program Files\
Note: It is highly recommended to do not to change the install path, since the plug-in tries to automatically discover the toolchain in this default location.
in the final window be sure you disable adding the toolchain path to the environment
readme.txt
filetest if the compiler is functional; use the actual install path:
C:\Users\Liviu Ionescu\>"C:\Program Files\GNU Tools ARM Embedded\4.8 2014q2\bin\arm-none-eabi-gcc.exe" --version
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.8.4 20140526 (release) [ARM/embedded-4_8-branch revision 211358]
For Windows, the next step would be to install the build tools (make & rm).
The complete toolchain documentation is available in the ...\share\doc\pdf\
folder.
If you’ll ever need to remove the toolchain, there is an uninstall.exe program available in the toolchain root folder.
The following steps can be performed on OS X:
gcc-arm-none-eabi-4_9-2015q3-20150921-mac.tar.bz2
, about 66 MB)$HOME/Downloads
folder)/usr/local/
unpack the archive in the destination folder
Note: It is highly recommended to do not use a different install path, since the plug-in tries to automatically discover the toolchain in this default location.
$ sudo mkdir -p /usr/local
$ cd /usr/local
$ sudo tar xjf ~/Downloads/gcc-arm-none-eabi-4_9-2015q3-20150921-mac.tar.bz2
/usr/local/gcc-arm-none-eabi-4_9-2015q3
test if the compiler is functional; use the actual install path:
$ /usr/local/gcc-arm-none-eabi-4_8-2014q1/bin/arm-none-eabi-gcc --version
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.8.4 20140526 (release) [ARM/embedded-4_8-branch revision 211358]
DO NOT add the toolchain path to the user or system path!
The complete toolchain documentation is available in the .../share/doc/pdf/
folder.
If you’ll ever need to remove the toolchain, just remove the /usr/local/gcc-arm-none-eabi-4_9-2015q3
, there are no other components stored in system folders.
In case you have MacPorts installed, be sure you remove the MacPorts path from the user path (edit the.profile in your home folder and comment out the line where /opt/local/
is added in front of the PATH), especially if you installed any toolchain inside MacPorts, since this will be a serious source of confusion.
The following steps were performed on Ubuntu 14.04 LTSx64 (please adjust them accordingly for other distributions):
since the toolchain executables are 32-bits apps, when running on 64-bits machines, be sure you install the following 32-bits libraries (for different versions check the toolchain README for the actual list):
$ sudo apt-get -y install lib32z1 lib32ncurses5 lib32bz2-1.0
on Ubuntu 15.04 the following libraries are required:
$ sudo apt-get -y install lib32ncurses5
on Ubuntu 12 LTSx64 all 32-bits libraries were packed in ia32-libs, so you can also use, but be prepared to get a lot of useless libraries:
$ sudo apt-get -y install ia32-libs
download the latest Linux install tarball file from Launchpad (currently gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2
, more than 60 MB)
Note: DO NOT install the ARM GCC package that comes with your distribution, especially if it is newer than the one provided by Launchpad, since generally it is not supported, and debugging sessions might fail.
$HOME/Downloads/
folder)/usr/local/
unpack the archive in the destination folder
Note: It is highly recommended to do not use a different install path, since the plug-in tries to automatically discover the toolchain in this default location.
$ cd /usr/local
$ sudo tar xjf ~/Downloads/gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2
/usr/local/gcc-arm-none-eabi-4_9-2015q3
test if the compiler is functional; use the actual install path:
$ /usr/local/gcc-arm-none-eabi-4_8-2014q1/bin/arm-none-eabi-gcc --version
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.8.3 20140228 (release) [ARM/embedded-4_8-branch revision 208322]
DO NOT add the toolchain path to the user or system path!
The complete toolchain documentation is available in the .../share/doc/pdf/
folder.
If you’ll ever need to remove the toolchain, just remove the /usr/local/gcc-arm-none-4_9-2015q3
, there are no other components stored in system folders.
To be sure you did not miss this recommendation, here it is again:
DO NOT add the toolchain path to the user or system path!
If there would be only one single version of one single toolchain in existence, then it wouldn’t be a problem, but as soon as you start real world applications, you will face at least the need to keep multiple versions of the same toolchain installed, if not multiple toolchains, and this is when your trouble starts.
The GNU ARM Eclipse plug-in has an advanced toolchain path management (presented in more detail in the separate page). Use it!