In this lesson, you will go through the process of configuring the Toradex Software Development Kit (SDK) for cross-compilation of C/C++ code to the ARM architecture, which uses the GNU C Compiler (GCC).
The SDK provided in this guide is built with OpenEmbedded, for the Toradex pre-built Embedded Linux Image. After completing the module 2, you may want to check the OpenEmbedded (core) article as well as the Linux SDKs one for more information.
There are also alternatives to the SDKs built with OpenEmbedded. You may consult the article How to setup environment for Embedded Linux application development for information about how to use the Linaro toolchain instead.
In this lesson you will:
Download the Toradex SDK to the home directory of your computer.
Download the 64-bit SDK from here.
It includes the cross-toolchain for building applications on the host machine, as well as the target root filesystem with development headers.
Warning: Make sure to use a matching SDK version (e.g. for Linux version 2.7, download SDK version 2.7). All available SDK versions are found here.
Open the Linux terminal and go to the home directory. Install the SDK using the following commands. Use the default installation directory:
Note: This assumes that you downloaded your toolchain file in your home folder! Make sure to check where you downloaded the toolchain file and navigate accordingly using the cd command.
user@host:~$ cduser@host:~$ chmod +x angstrom-glibc-x86_64-armv7at2hf-neon-v2016.12-toolchain.shuser@host:~$ ./angstrom-glibc-x86_64-armv7at2hf-neon-v2016.12-toolchain.shAngstrom SDK installer version nodistro.0=========================================Enter target directory for SDK (default: /usr/local/oecore-x86_64):You are about to install the SDK to "/usr/local/oecore-x86_64". Proceed[Y/n]? y
Note: The lib paths are hard-coded in the moment of the installation-extraction. If you use a custom directory path and by any circumstance, you need to move it to another location afterward, make sure to re-install the SDK.
Export the variables for cross-compilation.
Attention: You must execute this step every time you open a new terminal window or tab for cross-compilation.
Warning: In the command above, notice that there are a dot and space before the path to the script.
This lesson only covers the basics of setting up a toolchain for cross compilation, therefore this FAQ section is meant as an information complement.