Hauptseite: Unterschied zwischen den Versionen

Aus C und Assembler mit Raspberry
Markierung: Manuelle Zurücksetzung
 
(52 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
<strong>Seite wird zur Zeit Überarbeitet!!!</strong>
== <strong>C und ARM-Assemblerprogrammierung mit dem Raspberry</strong> ==


Die Ursprüngliche Seite kann über https://www.satyria.de/arm2 erreicht werden
[[Datei:EinhornOrg.png|frameless|300x300px]]
 
Matthias Steiner
 
Satyria Press © by 2020-2025
 
 
=== Vorwort ===


== <strong>ARM-Assemblerprogrammierung mit dem Raspberry</strong> ==
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.


[[Datei:EinhornOrg.png|frameless|300x300px]]
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!


Matthias Steiner
== Sponsor ==
Wenn ihr uns etwas unterstützen möchtet, schaut einfach mal hier vorbei:


Satyria Press © by 2020-2024
[[Datei:Logo hexenlaedle.png|frameless|200x200px|link=https://www.hexenlaedle.de]]


== Inhalt ==
== Inhalt ==
Zeile 30: Zeile 50:
*[[Grafik (PI5)]]
*[[Grafik (PI5)]]
*[[Chars (PI5)]]
*[[Chars (PI5)]]
*Das Terminal (PI5)


== Raspberry Pi 5 C ==
== Raspberry Pi 5 C ==
Zeile 40: Zeile 61:
*[[printf in BareMetal (PI5)]]
*[[printf in BareMetal (PI5)]]


== Raspberry Pi 4 ==
== Raspberry Pi 4 Assembler 32-Bit ==
*[[Programmierumgebung erstellen (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)]]
**[[Beispiel Timer-Interrupt (PI4)]]
*[[Interrupt Teil 2 (PI4)]]
== ARM64 Assembler ==
*[[Programmieren mit ARM64 Assembler]]
== Zusätzliches Material ==
== Zusätzliches Material ==
*[[Links der verwendeten Software]]
== Anhang ==
== Anhang ==
*[[GNU Compiler Collection]]
*[[ARM-Befehlssatz]]
**[[Grundlegende Befehle]]
<!--**[[ARMv8-Übersicht]]-->
*[[Raspberry PI Modelle]]
**[[Basisadressen der Modelle]]
*[[LINKS]]
*[[Bare-Metal Debugging (JTAG, RPI 4)]]
----
*[[Die wichtigsten Linux-Terminal-Befehle]]
== Translations/Traducciones ==
== Translations/Traducciones ==
*[[English]]
*[[English]]

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!

Wenn ihr uns etwas unterstützen möchtet, schaut einfach mal hier vorbei:

Inhalt

Raspberry Pi 5

Raspberry Pi 5 Assembler

Raspberry Pi 5 C

Raspberry Pi 4 Assembler 32-Bit

Raspberry Pi 4 C (64-Bit)

ARM64 Assembler

Zusätzliches Material

Anhang


Translations/Traducciones