Programmierumgebung unter Linux erstellen und testen
Einrichtung der Entwicklungsumgebung
Vorbereitung des Raspberry Pi
Um den Raspberry Pi als Entwicklungsplattform für ARM64-Bit Assembler zu nutzen, verwenden wir das Standard-Linux-System „Raspberry Pi OS (64-bit)“, das uns von der Raspberry Pi Foundation zur Verfügung gestellt wird. Dies kann über den „Raspberry Pi Imager“ auf eine SD-Karte gespielt oder direkt von der offiziellen Website heruntergeladen werden.
Erste Schritte:
- Installation des Raspberry Pi OS:
- ο Laden Sie den „Raspberry Pi Imager“ auf Ihren Computer herunter und installieren Sie ihn.
- ο Starten Sie den „Raspberry Pi Imager“ und wählen Sie das 64-bit-Raspberry Pi OS.
- ο Schreiben Sie das Image auf eine SD-Karte.
- Erster Start und Konfiguration:
- Legen Sie die fertig beschriebene SD-Karte in Ihren Raspberry Pi ein und starten Sie diesen.
- Beim ersten Start wird das Betriebssystem möglicherweise einige zusätzliche Pakete installieren und konfigurieren. Gegebenenfalls werden Updates heruntergeladen und installiert, was dringend empfohlen wird.
- Stellen Sie sicher, dass der Raspberry Pi mit dem Internet verbunden ist, bis alle notwendigen Werkzeuge installiert sind.
Arbeiten im Terminal
Wir werden viel im Terminal arbeiten, um Assemblerprogramme zu schreiben, zu kompilieren und auszuführen. Hier sind einige grundlegende Terminalbefehle, die Sie beherrschen sollten:
ls:
Zeigt eine Liste der Dateien und Verzeichnisse im aktuellen Verzeichnis. Beispiel: ls cd:
Wechselt das Arbeitsverzeichnis. Beispiele: cd ~: Wechselt in das Home-Verzeichnis. cd Kapitel1: Wechselt in das „Kapitel1“-Verzeichnis, wenn es im aktuellen Verzeichnis existiert. cd ..: Wechselt in das übergeordnete Verzeichnis. cd /: Wechselt in das Hauptverzeichnis. mkdir:
„Make Directory“ erstellt ein neues Verzeichnis im aktuellen Arbeitsverzeichnis. Beispiel: mkdir MeinVerzeichnis: Erstellt ein neues Verzeichnis namens „MeinVerzeichnis“. pwd:
Zeigt das aktuelle Arbeitsverzeichnis an. Beispiel: pwd nano:
Ein einfach zu bedienender Texteditor für das Terminal. Beispiel: nano dateiname.s: Öffnet oder erstellt die Datei "dateiname.s" im Nano-Editor. Installation von Tools Um Assemblerprogramme zu schreiben, zu kompilieren und zu debuggen, benötigen wir bestimmte Werkzeuge. Diese können aus dem Terminal heraus installiert werden:
Installation des GCC-Compilers und der notwendigen Tools:
Öffnen Sie ein Terminalfenster und führen Sie den folgenden Befehl aus: sudo apt update sudo apt upgrade sudo apt install gcc gdb make Installation des GNU Assembler (as) und Linker (ld):
Diese Tools sind normalerweise Teil des binutils-Pakets: sudo apt install binutils Überprüfung der Installation:
Überprüfen Sie, ob die Tools korrekt installiert wurden, indem Sie ihre Versionen anzeigen: gcc --version as --version ld --version gdb --version Beispiel: Ein einfaches Hello World-Programm schreiben und ausführen Als erstes Assemblerprogramm schreiben wir eine einfache „Hello World“-Anwendung:
Erstellen und Bearbeiten der Assembler-Datei:
nano hello.s Schreiben des Hello World-Programms:
.section .data hello: .asciz "Hello, World!\n"
.section .text .global _start
_start:
ldr x0, =hello // Load the address of the string into x0 bl printf // Call printf function mov x0, 0 // Return 0 from main mov x8, 93 // syscall number for exit svc 0 // Make the system call to exit
Kompilieren und Linken des Programms:
aarch64-linux-gnu-gcc -o hello hello.s -nostartfiles -lc Ausführen des Programms:
./hello Falls alles ordnungsgemäß funktioniert, sollten Sie die Ausgabe „Hello, World!“ im Terminal sehen.
Diese Einführung soll Ihnen den Einstieg erleichtern und Ihnen die grundlegenden Schritte und Werkzeuge zur Verfügung stellen, die Sie benötigen, um Assemblerprogramme auf dem Raspberry Pi zu schreiben und auszuführen. Viel Spaß beim Programmieren!
Damit wir auf einfacher Weise auf dem Raspberry Pi programmieren können, verwenden wir das Standard-Linux System (Raspberry Pi OS (64-bit)), welches wir von Foundation zur Verfügung gestellt bekommen. Diese kann über den "Raspberry Pi Imager" auf eine SD-Karte gespielt werden, oder direkt heruntergeladen werden.
Bei einem ersten Start des Images werden noch einige Dinge nachinstalliert und/oder müssen konfiguriert werden. Er führt auch noch Updates durch, welche ich dringend empfehle. Damit alles funktioniert, sollte der Raspberry Pi zumindest solange Online sein, bis wir alle Tools zur Verfügung haben, die wir benötigen.
Wir werden viel im Terminal/Console arbeiten. Dazu solltest du dich bereite jetzt etwas darin üben, wie hier eingaben erfolgen. Zunächst mal ein paar wichtige Befehle, die wir immer wieder benötigen: ls -> Dies zeigt dir das Verzeichnis an, in welchen du gerade bist. cd -> Hiermit kannst du das verzeichnis wechseln. Beispiele:
cd ~: wechselt in dein Verzeichnis cd Kapitel1: wechselt in das "Kapitel1"-Verzeichnis, wenn es auf dem aktuellen Verzeichnis exsitiert (ls) cd ..: Wechselt auf das Vorherige Verzeichnis cd \: Wechstelt auf das Hauptverzeichnis
mk -> "MakeDir" erzeugt im aktuellen Verzeichnis ein Verzeichnis:
mk MeinVerzeichnis: Erzeugt das Verzeichnis "MeinVerzeichnis"