Install the ARM cross compiler toolchain on your Linux PC

This article illustrates how to install on a Linux PC the complete toolchain to cross compile the Linux Kernel, device drivers and applications for the Acme Systems Linux board.

This procedure has been tested on Debian "Bookworm" 12.

Install the Cross Compilers, utilities, etc.

Install the GCC, G++ cross compilers and support programs by typing:

sudo apt update sudo apt install libc6-armel-cross libc6-dev-armel-cross binutils-arm-linux-gnueabi libncurses5-dev build-essential bison flex libssl-dev bc

If you are using an Acqua or RoadRunner board:

sudo apt install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf

If you are using an Arietta, Aria or FOX G20 board:

sudo apt install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi

Now you are ready to cross-compile on your PC all the source available for the Acme Boards based on Microchip MPUs.

Try the cross C compiler

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 class='acmetable' file for your Linux board.

Copy the executable class='acmetable' 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 !

Try the cross C++ compiler

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 class='acmetable' file for your Linux board.

Copy the executable class='acmetable' 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 !

Products related

H10

Features Index Buy

Single Board Computer based on RoadRunner Linux SOM (Included)
  • Low power consumption
  • Two USB Host 2.0 ports (one configurable as USB client on the USB-C connector)
  • One 10/100 Mbit/s Lan port
  • 2 Acme Sensor ports
  • Huge set of GPIOS, SPI, I2C and serial lines

Features Index Buy

Battery-free energy harvesting solar powered LoRa sensor
  • Low power consumption:
    Stand-by mode 4.29 µW
    Transmit mode 66 mW
  • Energy harvesting from in-door ambient light (Just 50 lux)
  • Energy storage based on hybrid supercap
  • Open source RIOT OS
  • Ready for LoRa and LoRaWan
H10

Features Buy

A collection of sensors ready to be connected to the FOX Board D27 and Berta-H10 fast prototiping board.
  • High-accuracy
  • Small footprint
  • High reliability
  • Low-power
  • Cost effective
  • Pluggable by FPC cable