Ich bin daran interessiert, den Raspberry Pi als reine Embedded-CPU-Einheit für die Entwicklung von Embedded-Anwendungen einzusetzen. Da der Raspberry Pi eine leistungsstarke CPU mit viel Speicher hat, ist er ein ausgezeichnetes Embedded-Board.
Ist es möglich, den Raspberry Pi ohne ein Linux-Betriebssystem zu verwenden? Wie kann ich das machen?
operating-systems
electronics
FarhadA
quelle
quelle
Antworten:
Ich habe mich mit Bare-Metal-Programmierung auf dem Raspberry Pi befasst und es hört sich so an, als wollten Sie das tun. Es gibt mehrere gute Forenthemen zum Thema Bare-Metal-Programmierung mit einigen Leuten, die sich viel Mühe gegeben haben, um ihren Code zum Laufen zu bringen. Sehen Sie sich diese an, um zu beginnen:
Anleitung zum Einstieg in Bare Metal auf Raspi
Programmieren des RPi auf dem Bare Metal
Programmieren in Basic on Bare Metal Tutorial 1
Im Allgemeinen können Sie auch zum Bare-Metal-Forum von Raspberry Pi gehen und sich dort umschauen.
Nach meinem Verständnis müssen Sie aufgrund der im Broadcom-Chip integrierten Startreihenfolge von der SD-Karte booten. Ich versuche, den Link für die Startsequenz zu finden, aber mein Google Fu funktioniert nicht. Ich bearbeite ihn später, wenn ich ihn finde.
quelle
Die einzige Möglichkeit zum Booten ist eine mit Fat32 formatierte SD-Karte, die von Poweron auf GPU-Firmware geladen wird und eine beliebige arm-Binärdatei mit dem Namen kernel.img ausführt An diesem Punkt
quelle
Ich habe einen IBM S / 390-Emulator in C # erstellt, der theoretisch unter Mono / Linux ausgeführt wird, da er in CIL-Code kompiliert wird und keine nicht unterstützten .NET-Ressourcen verwendet. Dies ermöglicht eingebettete Lösungen, die plattformunabhängige Steuertabellen mit einem benutzerdefinierten Interpreter für Zustandsmaschinen verwenden. Im Hintergrund würde es jedoch immer noch wichtige Linux-Betriebssysteme geben.
quelle
Beispiel eines vollautomatischen Minimal-Bare-Metal-Blinkers
Getestet auf Ubuntu 16.04 Host, Raspberry Pi 2. Verwendung:
Legen Sie eine SD-Karte in den Host ein
Mach das Bild:
Woher:
/dev/mmblck0
ist das Gerät der SD-Kartep1
ist die erste Partition des Gerätes (/dev/mmblck0p1
)Legen Sie die SD-Karte in PI ein
Schalten Sie das Gerät aus und wieder ein
GitHub-Upstream: https://github.com/cirosantilli/raspberry-pi-bare-metal-blinker/tree/d20f0337189641824b3ad5e4a688aa91e13fd764
start.S
Haupt c
ldscript
make.sh
quelle