N108 ist ein volles Echtzeit-Betriebssystem für den TM4C123-Chip mit Unterstützung für externe LCDs. Der Kern des Betriebssystems wurde von Grund auf neu geschrieben. Das Betriebssystem stützt sich auf bestimmte externe Hardware, die ordnungsgemäß funktioniert, kann jedoch leicht so modifiziert werden, dass sie autark sind. Eine Liste der benötigten externen Hardware -Ressourcen finden Sie unten unten.
Das Betriebssystem wird durch eine Unix-ähnliche Hülle interagiert. Die Shell verwendet eine serielle Kommunikation über die UART0 der Platine, um Befehle zu senden, die Sie an das Betriebssystem N108 eingeben. Um mit dem Betriebssystem mit dem Betriebssystem Schnittstellen zu haben, verbinden Sie Ihr TM4C123-LaunchPad über USB an Ihren Computer und leiten Sie eine serielle Schnittstelle-wie Coolterm für Mac oder Putty for Windows-an und stellen eine Verbindung zum seriellen Anschluss her, den Sie verwenden. Von dort aus sollten Sie in der Lage sein, die Eingabeaufforderung der N108 Shell zu sehen. Sie können Befehle von dieser Schnittstelle ausstellen.
N108 verfügt über einen vollständigen Prozessladungsunterstützung, sodass Sie Ihre eigenen TM4C123-Programme mit diesem Betriebssystem unabhängig kompilieren und starten können, ohne das Betriebssystem zusammen mit Ihrem Programm neu kompilieren zu müssen. Um diese Funktion zu verwenden, kompilieren Sie Ihr unabhängiges Programm mit Keil Uvision (oder einem anderen eingebetteten Arm Compiler) und lassen Sie die ELF -Datei in eine SD -Karte mit FAT32 -Formatierung fallen. Schließen Sie die SD -Karte an Ihren TM4C123 an und führen Sie das Betriebssystem aus. Geben Sie aus der Shell des Betriebssystems 'Start' ein, wobei '' der Name der ARM -Elf -Datei ist, die Sie in der SD -Karte haben. Das Betriebssystem sollte das Programm starten und mit der Ausführung beginnen.
Das Betriebssystem unterstützt einen einzelnen Systemaufruf: OS_DISPLAYMESSAGE. Mit dem Anruf können Sie Strings an die an das Board angeschlossene LCD ST7735 drucken. Es werden 4 Parameter verwendet, um anzugeben, wo auf dem Bildschirm die Karte zum Text angezeigt werden soll. Weitere Aufrufe können einfach hinzugefügt werden, indem das statische const elfsymbol_t symbolbliche [] -Array unter OS_CRITICAL/OS.C und Hinzufügen eines Zeigers auf Ihre neue Funktion addiert wird.
Ich denke darüber nach, mehr Systemanrufe in diesen Bereich hinzuzufügen, um einen leichteren Zugriff auf TM4C -SOC -Ressourcen zu ermöglichen (anstelle der externen Ressourcen). TBD.
Das Betriebssystem, das nicht in der Box ist, basiert auf drei externen Hardware, die normal funktionieren: einen externen Chip, der den seriellen Treiber mit und zum Ausgeben von Befehlen (z. B. PC), LCD und SD -Kartenleser ausstellen kann. Der LCD wird als Ausgangsquelle (zusammen mit dem seriellen Port) verwendet, und der SD -Kartenleser wird vom Dateisystem und des Prozessloaders zum Laden und Ausführen externer Prozesse verwendet. Eine Liste serieller Schnittstellenbefehle finden Sie unten. Ich persönlich habe einen ST7735 verwendet, da es eine SSI-kompatible LCD- und SD-Schnittstelle ermöglicht. Das Schema dafür ist auch unten enthalten.
Dieses Betriebssystem ist für Variationen des ARM TM4C123 -Chips ausgelegt. Der größte Teil der Hardware -Abstraktionsschicht wird jedoch unter OS_CRITICAL/HardWaremanager gespeichert. Dieses Modul kann sehr leicht gegen Treiber getauscht werden, die auf anderen Geräten unterstützt werden. Das Betriebssystem verwendet die folgenden Hardware -Tools für den Kernbetrieb:
UART:
PLL:
GPIO:
SSI:
Der Code ist so konzipiert, dass er mit Texas Instruments Code Composer Studio verwendet werden soll. Klonen Sie einfach das Repository und importieren Sie das Projekt in Ihren CCS -Arbeitsbereich. Das Projekt sollte die Fledermaus aufbauen, ohne dass zusätzliche Arbeiten erforderlich sind.
Dieses Betriebssystem blinkt auf einem Ti TM4C123-Launchpad.
Das Betriebssystem verwendet einen externen ST7735 -LCD für zwei Dinge: als LCD und als externer SD -Kartenleser für sein Dateisystem. Mein Betriebssystem wurde auch für andere Zwecke verwendet - z. B. die Schnittstelle mit Sensoren -, also ignorieren Sie bitte alle fremden Verbindungen im zweiten Bild. Wichtig ist, dass die ST7735 verbunden ist.
Hier sind die Schaltpläne, wie Sie dies an Ihren Startpad anschließen können: 

Die primäre Schnittstelle zwischen dem Betriebssystem (auf der Platine ausgeführt) erfolgt über den seriellen UART-Anschluss an Bord. Sie können jedes Terminalprogramm auf Ihrem Computer-z. B. Cooledge auf Mac oder Putty unter Windows-verwenden, um diese Befehle an den Betriebssystem-Interpreter zu senden, sobald das Start abgeschlossen ist.
Aus dem Box unterstützt das Betriebssystem die folgenden Befehle, wie in Shell/Shell.c zu sehen:
char* commandFormat[] =
{
"help",
"runproc <processname>"
}
Sehr Barebones, aber die Idee hier ist, Ihre eigenen Befehle und die Schnittstelle zum Rest des Betriebssystems hinzuzufügen. Helfen Sie im Grunde genommen, dieselbe Liste auszudrucken, während RunProc einen externen Prozess lädt (gespeichert in der SD -Karte, die in das ST7735 -Breakout -Board eingefügt wurde) und beginnt mit der Ausführung dieses Programms. Im Leerlauf läuft nur der Dolmetscher.