Forum: Mikrocontroller und Digitale Elektronik Raspberry Pi auf unterster Ebene programmieren


von Volker (Gast)


Lesenswert?

Hallo, ich habe mir die Frage gestelt ob es möglich ist den Raspberry PI 
(ich denke speziell an den RPI 2 Modell B) wie einen Mikrocontroller auf 
unterster Ebene zu programmieren? Da ja der Mikrocontroller genauso wie 
der PI ein "System on a Chip" oder "Single Board Computer" ist, sollte 
es doch wie für die Mikrocontroller genauso ein Datenblatt oder eine 
DOku für den PI geben oder täusche ich mich? Habe bisher nichts finden 
können.
Ich hätte sozusagen gerne eine Art "Papier" in dem ich nachschlagen kann 
wie man den PI programiert (darf auch gerne in Assebler gehalten sein).

Grüße
Volker

von Pete K. (pete77)


Lesenswert?

Du kennst wiring.pi?

Man könnte in die Sourcen von wiring.pi schauen, um zu sehen, wie der 
BCM2835 programmiert wird.

Hier schon geschaut? --> 
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2835/

: Bearbeitet durch User
von Volker (Gast)


Lesenswert?

Pete K. schrieb:
> Du kennst wiring.pi?
>
> Man könnte in die Sourcen von wiring.pi schauen, um zu sehen, wie der
> BCM2835 programmiert wird.
>
> Hier schon geschaut? -->
> https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2835/

Hallo Pete, danke das scheinen mir sehr gute Quellen zu sein.

von (prx) A. K. (prx)


Lesenswert?

Solange du immer noch in einem der dafür üblichen Betriebssystem bleiben 
willst ist das in gewissen Grenzen möglich. Grenzen ergeben sich für 
Programme auf Anwendungsebene in Form nicht präzise definierbarem 
Zeitverhalten und ziemlich anderem Umgang mit Interrupts. Es kann auch 
sein, dass man sich für die Aufgabe einen Device-Driver für das 
Betriebssystem schreiben muss.

Wenn du hingegen den Pi komplett ohne Betriebssytem programmieren 
willst, dann wird es etwas komplizierter:
Beitrag "Besser als Raspberry Pi Zero"

: Bearbeitet durch User
von Rainer V. (Gast)


Lesenswert?

Hallo,

suche mal nach "Bare Metal Programming" Da gibt es eine ganze Menge 
Infos und Beispiele. Habe die Links jetzt gerade nicht zur Hand.
Habe selbst mal daran gedacht, den PI so zu nutzen, aber die Fülle der 
Doku sowohl von ARM als auch vom BCM hat mich doch eher 
verschreckt...Vielleicht bist du da ja optimistischer. Ich wünsche dir 
jedenfalls viel Erfolg!

Gruß Rainer

von Rico W. (bitkipper)


Lesenswert?

Dies ist zwar nur für den alten Pi, dafür aber sehr verständlich und 
lehrreich:

http://www.valvers.com/open-software/raspberry-pi/step01-bare-metal-programming-in-cpt1/

Es gibt bisher fünf Teile des Artikels nach deren Durcharbeiten der 
Ducrchblick schon klarer ist. Danach kannst du dich auf den neuen 
stürzen...

von heinz (Gast)


Lesenswert?


von Kaj (Gast)


Lesenswert?

Interessant ist dieser Beitrag:
http://raspberrypi.stackexchange.com/questions/7122/level-of-hackability-of-raspberry-pi
Besonders die Thematik zu dem VCOS-Blob ist hervorzuheben.
Du wirst also niemals die ganze Kontrolle, wie z.B. bei einem AVR, haben 
koennen, da man offenbar immer diesen Binari-Blob benoetigt.

von (prx) A. K. (prx)


Lesenswert?

Kaj schrieb:
> Besonders die Thematik zu dem VCOS-Blob ist hervorzuheben.

Ja, das ist schon interessant. Das Ding ist eigentlich ein Videosystem, 
das es sich leistet, zusätzlich einen ARM-Prozessor mit drauf zu haben. 
Wobei ein Bare Metal Anwender den ARM dann wohl auch ignorieren und 
direkt auf dem Videosystem programmieren kann. Dann hat er die volle 
Kontrolle.

Da bzw. in den Links steht dann noch etwas mehr zu dem Videocore:
https://en.wikipedia.org/wiki/VideoCore#Linux_support

: Bearbeitet durch User
von Garl Kustav (Gast)


Lesenswert?

Da hats hier auf mikrocontroller.net einen Artikel: 
http://www.mikrocontroller.net/articles/Hardwarenahe_Programmierung_am_Raspberry_Pi


Schau mal die linkliste durch, vielleicht kannst du ja den Artikel 
weiterführen.

von heinz (Gast)


Lesenswert?

>Du wirst also niemals die ganze Kontrolle
https://github.com/hermanhermitage/videocoreiv-qpu

so ganz stimmt die Aussage nicht mehr.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Gegenfrage:
Wie gut kennst du dich mit der Programmierung "normaler" 
Mikroprozessoren oder ARM Kernen aus?

Ansonsten brauchst du nichts weiter als das BCM2835-ARM-Peripherals.pdf 
und einmal UBoot um die Images deines Programms auf den RasPI zu 
kopieren (am besten per LAN).

Naja und nen GCC.

von Kaj (Gast)


Lesenswert?

Ich hab hier nochmal ein interessantes GitHub-Repo zu dem Thema 
gefunden:
https://github.com/dwelch67/raspberrypi

Vielleicht hilft es ja noch mal wem :)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.