This article illustrates how to install on a Ubuntu Linux PC the complete toolchain to cross compile the Linux Kernel, the Linux device drivers, the Linux applications and the boot loader like as AT91Bootstrap and its derivates like AcmeBoot and AriaBoot.
This procedure has been tested on Linux Ubuntu 16.04.2.
Install the GCC, G++ cross compilers and support programs by typing:
$ sudo apt-get install libc6-armel-cross libc6-dev-armel-cross $ sudo apt-get install binutils-arm-linux-gnueabi $ sudo apt-get install libncurses5-dev
If you are using an Arietta, Aria or FOX G20 board:
$ sudo apt-get install gcc-arm-linux-gnueabi $ sudo apt-get install g++-arm-linux-gnueabi
If you are using an Acqua or RoadRunner board:
$ sudo apt-get install gcc-arm-linux-gnueabihf $ sudo apt-get install g++-arm-linux-gnueabihf
Now you are ready to cross-compile on your PC all the source available for the Acme Boards based on Microchip MPUs.
Let's try to cross compile a Hello World example in C and running it on an Acme board.
This is the example:
#include "stdio.h" int main(void) { printf("Hello world !\n"); return 0; }
Compile it by typing, if you are using an Arietta, Aria or FOX G20 board:
~$ arm-linux-gnueabi-gcc hello.c -o hello
or, if you are using an Acqua or RoadRunner board:
~$ arm-linux-gnueabihf-gcc hello.c -o hello
As you can see we are using the ARM version of gcc just installed on your PC. It will generate an executable file for your Linux board.
Copy the executable file on the board via ssh:
~$ scp hello root@[your_board_ip]:/root
Then open a command session on your board and run the example:
~# ./hello Hello world !
Let's try to cross compile a Hello World example in C++ and running it on an Acme board.
This is the example:
#include "iostream" using namespace std; int main(int argc, char *argv[]) { cout << "Hello world !" << endl; return 0; }
Compile it typing, if you are using an Arietta, Aria or FOX G20 board:
~$ arm-linux-gnueabi-g++ hello.cc -o hello
or, if you are using an Acqua or RoadRunner board:
~$ arm-linux-gnueabihf-g++ hello.cc -o hello
As you can see we are using the ARM version of gcc just installed on your PC. It will generate an executable file for your Linux board.
Copy the executable file on the board via ssh:
~$ scp hello root@[your_board_ip]:/root
Then open a command session on your board and run the example:
~# ./hello Hello world !
Source: https://www.acmesystems.it/arm9_toolchain