Vorwort: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „Für ARM-Assembler gibt es bisher nicht viel. Selbst im Internet wird man nicht so schnell fündig, wie man es sich vorstellt. Aber warum ARM-Assembler? In sehr vielen Geräten wird der ARM-Befehlssatz verwendet: in den meisten Smartphones und Tabletcomputern sowie in eingebetteten Systemen. Und gerade jetzt, als ich dies schreibe, wurde in einer Pressemitteilung verkündet, dass der neue Apple MAC einen Prozessor erhält, der diesen Befehlssatz spricht.…“ |
KKeine Bearbeitungszusammenfassung |
||
| (3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 14: | Zeile 14: | ||
In der Vorgängerversion dieser Beschreibung hatte ich angekündigt, dass ich auf dem Raspberry Pi 4 eine USB-Unterstützung integrieren möchte. Dies erwies sich als sehr aufwendig und wurde letztlich nicht umgesetzt. Auf dem Raspberry Pi 5 werde ich es aber weiterhin versuchen. | In der Vorgängerversion dieser Beschreibung hatte ich angekündigt, dass ich auf dem Raspberry Pi 4 eine USB-Unterstützung integrieren möchte. Dies erwies sich als sehr aufwendig und wurde letztlich nicht umgesetzt. Auf dem Raspberry Pi 5 werde ich es aber weiterhin versuchen. | ||
----- | |||
{| style="width: 100%; | |||
| style="width: 33%;" | | |||
| style="width: 33%; text-align:center;" | [[Hauptseite|< Hauptseite >]] | |||
| style="width: 33%; text-align:right;" | [[Grundlegendes zu Assembler|Weiter (Grundlegendes zu Assembler) >]] | |||
|} | |||
Aktuelle Version vom 23. August 2024, 10:29 Uhr
Für ARM-Assembler gibt es bisher nicht viel. Selbst im Internet wird man nicht so schnell fündig, wie man es sich vorstellt. Aber warum ARM-Assembler? In sehr vielen Geräten wird der ARM-Befehlssatz verwendet: in den meisten Smartphones und Tabletcomputern sowie in eingebetteten Systemen. Und gerade jetzt, als ich dies schreibe, wurde in einer Pressemitteilung verkündet, dass der neue Apple MAC einen Prozessor erhält, der diesen Befehlssatz spricht. Warum das so ist, verrate ich später.
Viele fragen sich, warum man Assembler lernen sollte, wenn es doch viele Alternativen gibt, die vermeintlich einfacher sind. Für vieles bieten sich diese Alternativen an, aber es gibt immer Situationen, in denen Hochsprachen an ihre Grenzen stoßen. Besonders, wenn man sich mit „Bare Metal“-Programmierung auf dem Raspberry Pi beschäftigt, findet man viele Beispiele in C oder C++. Doch auch hier wird oft Assembler genutzt, um das System zu starten, bevor überhaupt „C“ oder „C++“ verwendet werden kann. Insbesondere bei „Bare Metal“-Programmierung sind die Vorteile von Hochsprachen eingeschränkt, da viele Funktionen von Bibliotheken abhängen, die hier nicht verwendet werden können.
Manchmal erscheint es mir auch sehr kryptisch, wie in C oder C++ auf die Register des Raspberry Pi zugegriffen wird. Auch die Handbücher, die wir zur Verfügung haben, sind eher für Assembler ausgelegt. Hat man den Dreh erst einmal raus, ist Assembler jedoch kein Hexenwerk.
Der Nutzen von Assembler liegt auch im tieferen Verständnis der Arbeits- und Funktionsweise eines Systems, die durch Hochsprachen oft verborgen bleibt. An vielen Hochschulen wird Assembler noch immer gelehrt, um ein Verständnis für die Rechnerarchitektur und ihre Funktionsweise zu vermitteln.
Ich habe versucht, dieses Buch sowohl als Grundlage als auch zum Nachschlagen nutzbar zu machen. Es wird zunächst nur eine Onlineversion geben, bei der ich hoffe, dass andere Nutzer helfen, Inhalte zu verbessern. Ich hoffe also auf eure Unterstützung, um daraus etwas Großartiges zu machen.
Dieses Buch beschreibt zum einen die Programmierung des Raspberry Pi 4 im 32-Bit-Modus und „Bare Metal“. Zusätzlich werden auch 64-Bit-Informationen enthalten sein. Der hier gezeigte Code wird nur auf dem Raspberry Pi 4 funktionsfähig sein. Allerdings werde ich in den entsprechenden Kapiteln auch auf die Vorgängerversionen des Raspberry Pi eingehen und erläutern, wie die Umsetzung dort erfolgen könnte.
Seit Dezember 2023 besitze ich auch einen Raspberry Pi 5. Dieser unterstützt keinen 32-Bit-Assembler mehr. Bei der Umsetzung der Raspberry Pi 4-Beispiele stellte ich fest, dass vieles nicht mehr so funktioniert wie bei den Vorgängermodellen. Das erste Hindernis war die Grafikanzeige, und auf Rückfragen bei den Entwicklern stellte sich heraus, dass manches nicht mehr unterstützt wird. Dennoch habe ich versucht, das gleiche Prinzip in einem eigenen Kapitel zu beschreiben.
In der Vorgängerversion dieser Beschreibung hatte ich angekündigt, dass ich auf dem Raspberry Pi 4 eine USB-Unterstützung integrieren möchte. Dies erwies sich als sehr aufwendig und wurde letztlich nicht umgesetzt. Auf dem Raspberry Pi 5 werde ich es aber weiterhin versuchen.
| < Hauptseite > | Weiter (Grundlegendes zu Assembler) > |