GNU ARM Eclipse Installation

Eine Entwicklungsumgebung und eine Hardware-Debug-Schnittstelle für ARM-Mikrocontroller kann schnell einmal mehrere Tausend Euro kosten. In unserer Anleitung zeigen wir, wie man eine kostenlose Software dazu einrichtet.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 11 Min.
Von
  • Felix Pfeifer
Inhaltsverzeichnis

ARM-Debggen mit Eclipse

Im folgenden wird die Installation von GNU ARM Eclipse und allen weiteren benötigten Programmen gezeigt. Die Schritte haben wir unter Windows und Linux getestet. Eine sehr detaillierte Anleitung in englischer Sprache wird auch auf der Webseite von GNU ARM Eclipse angeboten.

GNU ARM Eclipse ist eine Entwicklungsumgebung, die in Java programmiert ist. Deshalb braucht man einen Java-Interpreter, um Eclipse starten zu können. Eclipse enthält keinen Compiler oder Debugger. Eclipse kann aber all diese Programme aufrufen und steuern. Eine Sammlung von Compiler, Debugger, Assembler und Software zum Bearbeiten von binären Dateien nennt man Toolchain. Um mit Eclipse ARM-Mikrocontroller programmieren zu können, benötigt man also eine passende Toolchain, außerdem eine Software zum Steuern des Hardware-Debuggers und optional einen Emulator für die Hardware.

Als erstes besorgt man sich die sogenannte Toolchain. Das ist eine Sammlung von Software, die den Compiler, Linker und Debugger enthält. Prinzipiell sind hier verschiedene Toolchains möglich, aber die GNU ARM Embedded Toolchain wird vom GNU-ARM-Eclipse-Projekt empfohlen. Die Toolchain muss nicht installiert werden, es genügt, wenn man das Download-Archiv in ein Verzeichnis entpackt.

Die Toolchain ist eine Sammlung von 32-Bit-Software. Unter einem 64-Bit-Linux muss man deshalb dafür sorgen, dass auch 32-Bit-Programme ausgeführt werden können und gegebenenfalls folgende Pakte nachträglich installieren: lib32z1, lib32ncurses5 und lib32bz2-1.0 oder alternativ ia32-libs. Unter Ubuntu-Linux benutzt man dazu apt-get:

sudo apt-get -y install lib32z1 lib32ncurses5 lib32bz2-1.0

Um die Software zu testen, öffnet man ein Terminal (in Linux) oder die Windows-Eingabeaufforderung und navigiert mit cd in den Ordner, in dem die Toolchain abgespeichert wurde. Der Name des Ordners ist: gcc-arm-none-eabi-5_3-2016q1, das kann je nach Version auch abweichen. Von dort aus navigiert man weiter in das Unterverzeichnis bin und gibt das Kommando arm-none-eabi-gcc --version in die Shell ein. Unter Linux sieht das Kommando so aus: ./arm-none-eabi-gcc --version. Die Ausgabe sollte in etwa so aussehen, wie im Bild:

Test der Toolchain

Ohne eine funktionierende Toolchain ist GNU ARM Eclipse unbrauchbar. Sollten statt der Ausgabe Fehlermeldungen erscheinen, überprüft man am besten nochmal die vorherigen Schritte.

Dieser Schritt ist nur für Windows nötig. Nach dem Download der Windows Build Tools führt man den Installer mit den Voreinstellungen aus.

Nach dem Download von OpenOCD installiert man es mit der voreingestellten Konfiguration.

Alternativ kann man die J-Link Software von Segger installieren, falls man diese Hardware benutzen möchte. Eine detaillierte Anleitung zum J-Link findet man auf der Projektseite von GNU ARM Eclipse. Die Anleitung zum Debugging im Heft baut jedoch auf OpenOCD auf, die Schritte sind aber dennoch ähnlich.

Linux:

Unter Linux muss man das OpenOCD-Softwarepaket per Hand installieren. Dazu gibt man folgende Kommandos in einer Konsole ein:

sudo mkdir -p /opt/gnuarmeclipse
cd /opt/gnuarmeclipse
sudo tar xvf ~/Downloads/gnuarmeclipse-openocd-debian64-0.10.0-201601101000-dev.tgz
sudo cp openocd/0.10.0-201601101000-dev/contrib/99-openocd.rules /etc/udev/rules.d/

In der dritten und vierten Zeile muss das Kommando je nach Version und Downloadpfad an den Pfad und den Dateinamen des heruntergeladenen Software-Archivs angepasst werden.

Windows:

OpenOCD benötigt unter Windows außerdem Treiber für die Boards und JTAG-USB-Debug-Interfaces. Unter Linux sind die Treiber in der Regel schon vorhanden. Für die Discovery Boards von STM und deren Debug-Interface ST-Link geht es hier zur Download-Seite. Für den kostenlosen Download muss man sich aber auf st.com registrieren. Für viele günstige JTAG-USB-Debug-Interfaces, die auf einem FTDI-Chip basieren, ist die Software Zadig hilfreich um passende Treiber zu installieren. Wie wir das Programm zum Einrichter der Treiber für den Hardware-Debugger Olimex ARM-USB-TINY-H benutzt haben, wird im Heftartikel ARM Debuggen mit Eclipse in der Anleitung unter Punkt 9 gezeigt.

Die Installation ist optional, es wird aber im Verlauf des Artikels ein Beispiel zu QEMU geben. QEMU ist ein Emulator, mit dem man Code auf einem virtuellen Board ausführen kann. Auf der Seite zum GNU-ARM-Eclipse-QEMU landet man aktuell zuerst beim Download der Quellcodes. Scrollt man dort nach unten gelangt man zum Next-Button, nach dessen Betätigung werden die Downloads für den Installer von GNU-ARM-Eclipse-QEMU angezeigt. Auch diesen führt man nach dem Herunterladen mit den Voreinstellungen aus.

Unter Linux installiert man dieses Paket für die aktuell stabile 64-Bit-Version beispielsweise wie folgt:

cd /opt/gnuarmeclipse
sudo tar xvf ~/Downloads/gnuarmeclipse-qemu-debian64-2.4.50-201510290935-dev.tgz

Java ist eine Vorraussetzung für Eclipse und muss deshalb mindestens als Java JRE (Java Runtime Environment) installiert sein. Wer schon Java, oder das Java JDK (Java Development Kit) installiert hat, kann diesen Schritt überspringen. Zum Download gelangt man hier, muss dann jedoch noch den Reiter Downloads wählen sowie die JRE-Java-Distribution und die Lizenz bestätigen.

Unter Ubuntu-Linux kann man Java alternativ mit dem Kommando sudo apt-get install default-jdk installieren. Es gibt jedoch auch auf der Downloadseite vom Java-Hersteller Oracle eine Linuxversion.

Hier gelangt man direkt zum Download der Packages von Eclipse. Dort wählt man das Paket Eclipse IDE for C/C++ Developers, weil darin schon einige wichtige benötigte Plug-Ins enthalten sind. Bis der Download startet, dauert es ein paar Sekunden, um den Nutzer auf die Möglichkeit einer Spende an das Entwicklungsteam aufmerksam zu machen. Eine Spende ist aber für einen erfolgreichen Download nicht nötig.

Das Archiv entpackt man am besten in das Verzeichnis, in dem auch schon die Toolchain entpackt wurde. Das Eclipse-Programm befindet sich in dem entpackten Ordner und kann von dort aus direkt gestartet werden. Unter Windows klickt man dazu doppelt auf Eclipse, beziehungsweie Eclipse.exe.

Alternativ kann man den Eclipse Installer von der Download-Seite benutzen. Auch dort muss man die Eclipse IDE for C/C++ Developers auswählen. Die Installation kann aber unter Umständen sehr zeitraubend sein und bringt nur dann Vorteile, wenn mehrere Leute am gleichen PC Eclipse nutzen möchten.

Nach der Installation von Eclipse startet man die Entwicklungsumgebung. Beim ersten Mal muss man einen Ordner beziehungsweise Workspace wählen, in dem Eclipse die Projekte speichert. Hat man keine zweite Installation von Eclipse, kann man hier den voreingestellten Wert benuzten. Nun installiert man die GNU ARM Eclipse Plug-Ins. Der einfachste Weg ist dabei in Eclipse im Menü Help den Eclipse Marketplace zu nutzen. Im Browser öffnet man den Link zu den GNU ARM Eclipse Plugins und zieht von dort den Button Install in das Fenster des Eclipse Marketplace. Nach der Installation der Plugins muss Eclipse neugestartet werden.

Die Packs enthalten Code-Bibliotheken, wie zum Beispiel die CMSIS-Bibliotheken für die verschiedenen Hersteller, Mikrocontroller und Boards. Zumindest für die Zielplattform, für die man entwickeln möchte, muss man sich die passenden Packs installieren.

Um Packs zu installieren, wählt man im Menü Window / Perspective / Open Perspective / Other und in dem neuen Fenster Packs und klickt OK. Falls in Eclipse immer noch der Willkommensreiter Welcome angezeigt wird, schließt man diesen. Man sollte sich nun in der leeren Packs-Perspektive befinden.

Zuerst muss die Liste der installierbaren Packs gefüllt werden. Das passiert über den Button Update. Die Packs werden über die Herstellerseiten bezogen. Bei der Erzeugung der Packliste wird die Herstellerseite auf Verfügbarkeit geprüft. Deswegen kann man bei Fehlern von nicht zwingend benötigten Packs getrost Ignore klicken.

Innerhalb des Hauptfensters von Eclipse werden verschiedene Unterfenster angezeigt, sogenannte Views (Ansichten). Es gibt eine große Anzahl von Ansichten, die man nie gleichzeitig überblicken oder gebrauchen kann. In einer Perspektive wird eine Auswahl von Ansichten zusammengefasst, die sinnvoll für eine bestimmte Aufgabe ist. Mit der C/C++-Perspektive ist es zum Beispiel besonders einfach durch C/C++-Code zu navigieren.

Um in Eclipse zwischen den verschiedenen Perspektiven schnell umzuschalten, benutzt man die Buttons in der oberen rechten Ecke. Das Fenstersymbol mit dem C steht für die C/C++-Perspektive, das Paketsymbol für die Packs-Perpektive und der Käfer für die Debug-Perspektive. Sollte das gewünschte Symbol nicht in der oberen rechten Ecke erscheinen, dann kann man das Menü benutzen: Window / Perspective / Open Perspective / Other.

Im Reiter Packs sollte sich jetzt eine lange Liste nach Herstellern sortierter Packs befinden. Auf jeden Fall installiert man die CMSIS-Bibliothek des Herstellers ARM. Das geschieht mit einem Rechtsklick auf den Namen des Pakets und einen Klick auf Install. CMSIS ist die von ARM zur Verfügung gestellte Hardwareabstraktionsschicht, mit der die Programmierung der ARM-Mikrocontroller von verschiedenen Herstellern einheitlicher und vor allem wesentlich vereinfacht wird. Eine ausführlichere Einführung gibt es im Artikel "ARM-Training" in Heft 03/16 ab Seite 78.

Weitere Packs kann man je nach eigenem Bedarf installieren, beziehungsweise nach zur Verfügung stehender Hardware. Man sollte immer warten, bis das aktuell installierte Pack fertig installiert ist. Den Fortschritt kann man in der unteren rechten Ecke des Eclipse-Fensters ablesen.

Möchte man die passenden Packs für einen bestimmten Mikrocontroller, oder ein bestimmtes Board installieren, dann wählt man links in den Reitern Devices für einen Mikrocontroller oder Boards. Darunter wählt man in den Aufklappmenüs den gewünschten Hersteller und nach dem Aufklappen die Baureihe des Chips, beziehungsweise das Board. Nun werden in der Ansicht Packs im mittleren Bereich von Eclipse nur die für die getroffene Auswahl benötigten Packs angezeigt. Diese installiert man dann genau wie das CMSIS-Pack. Man sollte sich dabei nicht verwirren lassen, dass die meisten Packs von anderen Herstellern stammen, als von dem der Hardware.

(fpf)