• Integration einer PTXdist-Toolchain. PTXdist in ein grafisches IDE basierend auf Eclipse.
  • Erstellen und Zusammenstellen eines kleinen Projekts
  • Debuggen einer Anwendung auf dem Modul


  • Toolchain für Cross-Compiling
  • Eclipse-Umgebung


  • Im Tutorial wurde das TQMa53 als Referenzmodul verwendet


Dieses Tutorial wurde auf einem PC mit Ubuntu 12.04 durchgeführt.
Es wird eine installierte PTXdist Toolchain benötigt. Die Installation dieser Toolchain wird auf der Seite: XXXXXXX beschrieben

Es wurde Eclipse „Indigo“ verwendet, da die Cross-Kompilierung hier standardmäßig unterstützt wird. Bei einer Installation von Eclipse in Ubuntu 12.04 über die Shell mit dem Befehl

sudo apt-get install eclipse-plattform

fehlt die Unterstützung für Cross-Kompilierung. Daher empfiehlt es sich, das komplette Paket direkt vom folgenden Link herunterzuladen:

http://www.Eclipse.org/cdt/downloads.php


Für die ordnungsgemäße Ausführung von Eclipse mit der OSELAS Toolchain müssen zwei Dateien angelegt werden:

  1. Environment Konfigurationsdatei: setup_tqma53
PATH=$PATH=
:/opt/OSELAS.Toolchain-2011.11.1/arm-cortexa8-linux-gnueabi/gcc-4.6.2--glibc-2.14.1-binutils-2.21.1a-kernel-2.6.39-sanitized/bin:$PATH
 
export CROSS_COMPILE=arm-cortexa8-linux-gnueabi-
  1. Konfigurationsdatei für Eclipse: eclipse_tqma53
#!/bin/bash
source ~/setup_tqma53
cd ~/eclipse
./eclipse&

Die Datei eclipse_tqma53 muss ausführbar gemacht werden. Nun kann Eclipse mit dem Befehl

./eclipse_tqma53 

über das Terminal gestartet werden.

In diesem Tutorial wurden die beiden Dateien im Benutzerordner erstellt. Eclipse wird ebenfalls direkt im Benutzerordner installiert. Wenn Eclipse in ein anderes Verzeichnis installiert worden ist, müssen die Pfade entsprechend angepasst werden.

Um ein neues Projekt zu erstellen, aus dem Menü File→ New> C-Project auswählen

Bild 1

Im C Project Fenster vergeben Sie einen Namen für das neue Projekt (in diesem Fall: Beispiel_1). Als Projekttyp Empty Project auswählen und im Abschnitt Toolchains >Cross GCC markieren.

Bild 2

Durch klicken auf Finish wird die Umgebung für unser neues Projekt erzeugt.

Bild 3

Zunächst muss ein Source File für das neue Projekt angelegt werden.

Bild 4

Dazu im Menü File→ New> Source File auswählen.

Bild 5

In dem Popup-Fenster einen Namen für das Source file vergeben (einschließlich Erweiterung). In diesem Fall heißt das Source File „hello.c“.

Bild 6

Sobald das Source File generiert wurde, kann dieses mit Code befüllt werden. Im Fall dieses Tutorials ist es eine einfache „Hello World“ Anwendung.

Bild 7

Als letzten Schritt vor dem Kompilieren setzen wir zwei Variablen innerhalb des Projekts. Dazu muss Beispiel_1 mit der rechten Maustaste angeklickt und im Kontext Menü Properties ausgewählt werden.

In dem Popup-Fenster den Menüpunkt C/C ++ Build erweitern und Settings auswählen.

Bild 8

Die Variablen Präfix und Path im Abschnitt Cross Settings müssen wie folgt gesetzt sein.

  • Präfix: arm-cortexa8-linux-gnueabi-
  • Path:/opt/OSELAS.Toolchain-2011.11.1/arm-cortexa8-linux- gnueabi/gcc-4.6.2-glibc-2.14.1-binutils-2.21.1a-kernel-2.6.39-sanitized/bin

Die Variablen müssen zwei mal gesetzt werden; einmal für die Konfiguration Release und einmal für die Konfiguration Debug. Die Konfiguration kann im Dropdown Menü im oberen Teil des Fensters ausgewählt werden.

Nachdem die Variablen für beide Konfigurationen gesetzt wurden, die Schaltfläche OK anklicken.

Um das Projekt zu kompilieren, wählen Sie die Schaltfläche Build Project. In der Registerkarte Console kann man im unteren mittleren Teil den Fortschritt des Kompiliervorgangs beobachten.

Bild 9

Um Quellcode, der auf den Kernel-Header verweist, zu kompilieren, muss eine Variable im Projekt hinzufügt werden, so dass der Compiler weiß, wo diese Ressourcen zu finden sind.

Um die Variable anzupassen, müssen die Projekteigenschaften geöffnet werden (Rechtsklick auf das Projekt→ Properties). Als nächstes den Abschnitt C/C++ General öffnen, Path and Symbols öffnen, den Reiter Includes anwählen und bei Languages →GNU C auswählen.

Bild 10

Um auf den entsprechenden Kernel zu verweisen, muss bei Include directories ein Eintrag hinzugefügt werden. Dazu auf Add klicken. In dem sich öffnenden Popup Fenster den Pfad, der auf den Kernel verweist, eintragen. Für dieses Tutorial gilt:

/opt/project/OSELAS.BSP-TQ TQMa53 / Plattform-MBa53 / sysroot-target / kernel-headers / include

Bei der Option Add to all configurations einen Haken setzen damit dieser Pfad nur einmal gesetzt werden muss. Danach kann das Fenster geschlossen werden.

Es können auch weitere Pfade angegeben werden, damit die zugehörigen Paket-Header und/oder Bibliotheken eingebunden werden. Für das Tutorial lauten die Pfade wie folgt:

  • /opt/Project/OSELAS.BSP-TQ-TQMA53/platform-MBa53/sysroot-target/usr/include
  • /opt/Project/OSELAS.BSP–TQ-TQMA53/platform-MBa53/sysroot-target/include

Zunächst muss eine Verbindung mit dem Target hergestellt werden. Im Fall des Tutorials ist dies das TQMa53 Modul. Dazu wird RSE (Remote System CSR-Tool Explorer)1 verwendet.

Auf dem Target System müssen zusätzlich die gdb-Server und openssh Pakete (Inklusive SFTP-Server-Option) installiert werden, damit das Debugging auf dem Target durchführt werden kann.

Um das Fenster für RSE hinzuzufügen, unter Window > Show view> Other …>auswählen. Dann den Menüpunkt Remote Systems öffnen und Remote Systems auswählen.

Bild 11

Um eine neue Verbindung zu erstellen, das Verbindungssymbol anklicken:

Bild 12

Ein neues Fenster wird eingeblendet; dort muss der Remote Typ eingestellt werden. In unserem Fall ist dies Linux, anschließend auf Next klicken.

Bild 13

Im nächsten Fenster werden die Verbindungsdaten eingegeben:

  • Host name: Hostname oder IP des Targets hier eintragen1
  • Connection name: Der Verbindungsname ist frei wählbar
  • Description: Hier kann die Verbindung kurz beschrieben werden

Der zugeordnete Standard Hostname ist TQM. Ist das Target während der Konfiguration nicht mit dem Netzwerk verbunden, muss die Option Vertify host name deaktiviert werden. Alternativ kann die IP Adresse des Targets eingegeben werden.

Bild 14

Mit Finish beenden.

Im nächsten Fenster ssh.files auswählen; dann auf Next klicken.

Bild 15

Im folgenden Fenster vor processes.shell.linux einen Haken setzen und auf Next klicken.

Bild 16

Im darauf folgenden Fenster ssh.terminals auswählen und die Schaltfläche Finish anklicken.

Bild 17

Sobald die neue Verbindung konfiguriert ist, kann man sich darüber zum Target verbinden. (Bei der Initialisierung der Verbindung sind Benutzername und Passwort erforderlich.)

Auf dem Target muss ein Passwort für den Root-Benutzer vergeben werden. Dazu in der Konsole des Starterkits folgenden Befehl ausführen:

TQM root @: ~ passwd  root

Danach das gewünschte Passwort vergeben.

Disclaimer
TQ-Systems GmbH provides the Board Support Packages (BSP) free of charge. The software included in the shipment has been configured individually for the starter kits. The software is only intended to evaluate the module. The use of the Board Support Packages (BSP) is only allowed within the scope of functionality described by TQ-Systems GmbH. TQ-Systems GmbH does not accept any liability for all further changes of the Board Support Package and for any damage resulting from its use.