Hauptseite: Unterschied zwischen den Versionen
K →Anhang |
|||
| (15 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 6: | Zeile 6: | ||
Satyria Press © by 2020-2025 | Satyria Press © by 2020-2025 | ||
=== Vorwort === | |||
Herzlich willkommen auf unserer Seite zur Bare-Metal-Programmierung für den Raspberry Pi 4 und Pi 5! Diese Webseite richtet sich sowohl an Anfänger als auch an fortgeschrittene Programmierer, die tief in die Welt der hardwarenahen Programmierung eintauchen möchten. | |||
Ursprünglich sollte diese Seite sich ausschließlich mit Assembler beschäftigen, wurde jedoch im Laufe der Zeit um C erweitert. Daher finden Sie hier zunächst grundlegende Informationen zu Assembler. Wenn Ihr Interesse in der C-Programmierung liegt und Sie mit Windows arbeiten, empfehlen wir Ihnen mit dem Kapitel '''[[Programmierumgebung erstellen (Konsole)]]''' zu beginnen. Für Linux-Nutzer ist das Kapitel '''[[Programmierumgebung erstellen unter Linux]]''' der richtige Startpunkt. | |||
Im Kapitel '''Raspberry Pi 4 Assembler 32-Bit''' beschreiben wir die Assembler-Programmierung für den Raspberry Pi 4. Dieses Kapitel hat zwar bereits einige Jahre auf dem Buckel, bleibt aber weiterhin relevant und wertvoll. Hier finden Sie detaillierte Erklärungen der ARM-32-Bit-Befehle mit anschaulichen Beschreibungen und Beispielen, was besonders Anfängern den Einstieg erleichtern soll. | |||
Das Kapitel '''Raspberry Pi 4 C (64-Bit)''' entstand im Laufe unserer Arbeit am Raspberry Pi 5 und bietet eine umfassende Beschreibung der 64-Bit-C-Programmierung für den Raspberry Pi 4. Dies wird auch später die USB-Programmierung einschließen, eine Funktion, die wir später auf den Raspberry Pi 5 übertragen werden. So haben alle Projekte einen gemeinsamen Ausgangspunkt. | |||
Das Kapitel '''Raspberry Pi 5''' ist der ideale Startpunkt für die Programmierung des Raspberry Pi 5 in Assembler und C. Es führt Sie von der Installation des Hostsystems (Windows/Linux) bis zur abschließenden Programmierung in C und Assembler. | |||
Im Anhang finden Sie viele nützliche Informationen, wie eine Beschreibung der '''GNU Compiler Collection''', eine Auflistung des '''ARM-Befehlssatzes''' (im Aufbau), verschiedene '''Raspberry Pi Modelle''' und einige hilfreiche '''Links''' zu anderen Projekten. Ein aktuelles Projekt zum Thema '''Debugging''' ist ebenfalls dort zu finden. | |||
Wir hoffen, dass Sie auf unserer Seite viel Freude haben und sich gut zurechtfinden! Bei Fragen oder Kommentaren schicken Sie uns gerne eine E-Mail an assem@satyria.de. Wir freuen uns über Ihre Rückmeldungen und Anregungen. | |||
Viel Spaß beim Programmieren! | |||
== Sponsor == | |||
Wenn ihr uns etwas unterstützen möchtet, schaut einfach mal hier vorbei: | |||
[[Datei:Logo hexenlaedle.png|frameless|200x200px|link=https://www.hexenlaedle.de]] | |||
== Inhalt == | == Inhalt == | ||
| Zeile 49: | Zeile 73: | ||
== Raspberry Pi 4 C (64-Bit) == | == Raspberry Pi 4 C (64-Bit) == | ||
*[[Unser erstes Programm in C (PI4)]] | *[[Unser erstes Programm in C (PI4)]] | ||
*[[Lass die LED leuchten in C (PI4)]] | |||
*[[Fehlerbehandlung in C (PI4)]] | |||
*[[Grafik in C (PI4)]] | |||
*[[Chars in C (PI4)]] | |||
*[[Das Terminal in C (PI4)]] | |||
*[[Printf in BareMetal (PI4)]] | |||
*[[Systeminformationen (PI4)]] (noch kein Inhalt) | |||
*[[Interrupts (PI4)]] | |||
**[[Beispiel Timer-Interrupt (PI4)]] | |||
*[[Interrupt Teil 2 (PI4)]] | |||
== ARM64 Assembler == | == ARM64 Assembler == | ||
*[[Programmieren mit ARM64 Assembler]] | |||
== Zusätzliches Material == | == Zusätzliches Material == | ||
| Zeile 64: | Zeile 98: | ||
**[[Basisadressen der Modelle]] | **[[Basisadressen der Modelle]] | ||
*[[LINKS]] | *[[LINKS]] | ||
*[[Bare-Metal Debugging (RPI 4)]] | *[[Bare-Metal Debugging (JTAG, RPI 4)]] | ||
---- | ---- | ||
*[[Die wichtigsten Linux-Terminal-Befehle]] | *[[Die wichtigsten Linux-Terminal-Befehle]] | ||
Aktuelle Version vom 8. August 2025, 08:58 Uhr
C und ARM-Assemblerprogrammierung mit dem Raspberry
Matthias Steiner
Satyria Press © by 2020-2025
Vorwort
Herzlich willkommen auf unserer Seite zur Bare-Metal-Programmierung für den Raspberry Pi 4 und Pi 5! Diese Webseite richtet sich sowohl an Anfänger als auch an fortgeschrittene Programmierer, die tief in die Welt der hardwarenahen Programmierung eintauchen möchten.
Ursprünglich sollte diese Seite sich ausschließlich mit Assembler beschäftigen, wurde jedoch im Laufe der Zeit um C erweitert. Daher finden Sie hier zunächst grundlegende Informationen zu Assembler. Wenn Ihr Interesse in der C-Programmierung liegt und Sie mit Windows arbeiten, empfehlen wir Ihnen mit dem Kapitel Programmierumgebung erstellen (Konsole) zu beginnen. Für Linux-Nutzer ist das Kapitel Programmierumgebung erstellen unter Linux der richtige Startpunkt.
Im Kapitel Raspberry Pi 4 Assembler 32-Bit beschreiben wir die Assembler-Programmierung für den Raspberry Pi 4. Dieses Kapitel hat zwar bereits einige Jahre auf dem Buckel, bleibt aber weiterhin relevant und wertvoll. Hier finden Sie detaillierte Erklärungen der ARM-32-Bit-Befehle mit anschaulichen Beschreibungen und Beispielen, was besonders Anfängern den Einstieg erleichtern soll.
Das Kapitel Raspberry Pi 4 C (64-Bit) entstand im Laufe unserer Arbeit am Raspberry Pi 5 und bietet eine umfassende Beschreibung der 64-Bit-C-Programmierung für den Raspberry Pi 4. Dies wird auch später die USB-Programmierung einschließen, eine Funktion, die wir später auf den Raspberry Pi 5 übertragen werden. So haben alle Projekte einen gemeinsamen Ausgangspunkt.
Das Kapitel Raspberry Pi 5 ist der ideale Startpunkt für die Programmierung des Raspberry Pi 5 in Assembler und C. Es führt Sie von der Installation des Hostsystems (Windows/Linux) bis zur abschließenden Programmierung in C und Assembler.
Im Anhang finden Sie viele nützliche Informationen, wie eine Beschreibung der GNU Compiler Collection, eine Auflistung des ARM-Befehlssatzes (im Aufbau), verschiedene Raspberry Pi Modelle und einige hilfreiche Links zu anderen Projekten. Ein aktuelles Projekt zum Thema Debugging ist ebenfalls dort zu finden.
Wir hoffen, dass Sie auf unserer Seite viel Freude haben und sich gut zurechtfinden! Bei Fragen oder Kommentaren schicken Sie uns gerne eine E-Mail an assem@satyria.de. Wir freuen uns über Ihre Rückmeldungen und Anregungen.
Viel Spaß beim Programmieren!
Sponsor
Wenn ihr uns etwas unterstützen möchtet, schaut einfach mal hier vorbei:
Inhalt
Raspberry Pi 5
- Programmierumgebung erstellen (64-Bit)
- Einführung in C- und Assemblerprogrammierung mit dem Raspberry Pi 5
- Programm auf dem Raspberry Pi 5 ausführen
- Arbeiten mit Make und Linker-Script
Raspberry Pi 5 Assembler
- Unser erstes Programm (PI5)
- Lass die LED leuchten (PI5)
- Fehlerbehandlung
- Grafik (PI5)
- Chars (PI5)
- Das Terminal (PI5)
Raspberry Pi 5 C
- Unser erstes Programm in C (PI5)
- Lass die LED leuchten in C (PI5)
- Fehlerbehandlung in C (PI5)
- Grafik in C (PI5)
- Chars in C (PI5)
- Das Terminal in C (PI5)
- printf in BareMetal (PI5)
Raspberry Pi 4 Assembler 32-Bit
- Programmierumgebung erstellen (32-Bit)
- Systemprogrammierung / Bare Metal
- Das erste Programm
- General Purpose I/O
- System Timer
- UART
- Die Anzeige
- Zeichenfunktionen
Raspberry Pi 4 C (64-Bit)
- Unser erstes Programm in C (PI4)
- Lass die LED leuchten in C (PI4)
- Fehlerbehandlung in C (PI4)
- Grafik in C (PI4)
- Chars in C (PI4)
- Das Terminal in C (PI4)
- Printf in BareMetal (PI4)
- Systeminformationen (PI4) (noch kein Inhalt)
- Interrupts (PI4)
- Interrupt Teil 2 (PI4)
ARM64 Assembler
Zusätzliches Material
Anhang
- GNU Compiler Collection
- ARM-Befehlssatz
- Raspberry PI Modelle
- LINKS
- Bare-Metal Debugging (JTAG, RPI 4)