Lowlevel
Lowlevel => OS-Design => Thema gestartet von: LittleFox am 22. August 2012, 16:25
-
Hi,
auf Arbeit verwende ich gerade einen Microcontroller (einen etwas größeren, 128KB Speicher -> XMega128A1) und programmiere eine Firmware für den.
Da das Programm später leicht austauschbar sein soll, sind die ganzen Funktionen für das Board in einer statischen Bibliothek enthalten.
Kann man diese Bibliothek schon einen Kernel nennen obwohl sie mit im Programm liegt?
Die Bibliothek verwaltet die I/O-Pins, hat Treiber für UART/SPI/SD-Karten/TWI/FAT integriert und bietet Funktionen für das Programm an.
Das ging mir nur gerade durch den Kopf, vielleicht könnt ihr mich da ja aufklären :D
Grüße,
LittleFox
-
Ich würde das eher nicht Kernel nennen. Eher so eine Art libOS wie bei einem Exokernel-OS.
Aber spielt das eine Rolle, solange die Lib tut, was sie soll? ;)
-
Nein, spielt keine Rolle :D
Mir waren nur ein paar Parallelen aufgefallen (Treiber, Management, etc.) und müsste wieder mal ans OSdev denken :D
-
Hallo,
ein Kernel kann Tasks ausführen. Im weiteren Sinne kann er die sogar (von irgendwo) laden und ausführen. Zumindest letzteres dürfte auf dem XMega nicht möglich sein, weil der RAM nicht ausführbar ist.
Es gibt allerdings Echtzeitbetriebssysteme (z.B. FreeRTOS), die auf einem Echtzeitkernel basieren und die Tasks statisch eingelinkt haben.
Solange du nur eine Hardware-Abstraktion baust, ist es kein Kernel. :-)
Gruß,
Svenska
-
OK - dann halt nicht :D
Der einzige Task der läuft ist ja auch reingelinkt - aber ok :D
Grüße,
LittleFox