Ich bin ein High-Level-App-Entwickler (C #, Python) und möchte mir bei der Entwicklung von Low-Level-Embedded-Anwendungen die Hände schmutzig machen. Die Universität Cambridge hat eine Reihe von Tutorials veröffentlicht, in denen Sie lernen, wie Sie ein Betriebssystem für den Raspberry Pi namens Baking Pi erstellen. Ich habe vor, meine Frage zu diesem Tutorial hier zu posten und die Antworten im Laufe der Zeit zu aktualisieren. Vielleicht sogar einige Punkte posten, die ich selbst herausgefunden habe.
Also habe ich Lektion 1 mitverfolgt und bin schon verwirrt. Hier ist der Seitenlink .
Der erste Teil des Tutorials besagt, dass wir (ich nehme an) den GPIO-Controller einschalten müssen, indem wir den Wert 0x20200000 schreiben, um r0 zu registrieren. Ich kann solche relevanten Informationen nirgendwo im Datenblatt finden. ( Link ). Ich habe mir den GPIO-Bereich angesehen, aber keinen Hinweis auf 16 Register oder r0 gesehen. Wo sind diese Informationen?
AKTUALISIEREN
Zunächst wird im Tutorial über das Einschalten der OK-LED, der Status-LED, gesprochen. Möglicherweise fragen Sie sich, wo im Handbuch steht, dass GPIO 16 an die OK-LED angeschlossen ist. Das wird es nicht. Sie müssen sich die Himbeer-Schaltpläne ansehen und herausfinden, mit welchem GPIO das status_led verbunden ist. Hier ist der Link zu den Schaltplänen. Seite 2, Block BCM2835.
Ziel ist es also, den GPIO16-Pin auszuwählen. (Weitere Updates folgen ...)
quelle
Vielen Dank an Jivings und Emcconville für die Beantwortung der Frage.
Im Datenblatt pdf, Seite 6, Abschnitt ARM physikalische Adresse , gibt es einen Abschnitt, der besagt
Auf Seite 90 wird in der ersten Zeile der Tabelle Folgendes angegeben:
Der 0x7E200000 übersetzt also in die physikalische Adresse 0x20200000, bei der es sich um das 0-Bit der GPIO-Funktionsauswahl handelt.
Für r0 gibt es im ARM 16 Allzweckregister, in denen wir Nummern speichern können. Deshalb wählt er im Tutorial r0, da es das erste freie Register ist.
quelle
Die Registrierung
r0
durchr12
sind allgemeine Zwecke. Am einfachsten ist es natürlichr0
. Wie Jivings hervorhob, listet das Handbuch jede Adresse auf und besagt:quelle