Autor Thema: Ist das ein Kernel?  (Gelesen 5991 mal)

LittleFox

  • Beiträge: 306
    • Profil anzeigen
    • LF-Net.org
Gespeichert
« 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

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 22. August 2012, 20:09 »
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? ;)
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

LittleFox

  • Beiträge: 306
    • Profil anzeigen
    • LF-Net.org
Gespeichert
« Antwort #2 am: 22. August 2012, 20:26 »
Nein, spielt keine Rolle :D
Mir waren nur ein paar Parallelen aufgefallen (Treiber, Management, etc.) und müsste wieder mal ans OSdev denken :D

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 23. August 2012, 19:16 »
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

LittleFox

  • Beiträge: 306
    • Profil anzeigen
    • LF-Net.org
Gespeichert
« Antwort #4 am: 23. August 2012, 19:20 »
OK - dann halt nicht :D
Der einzige Task der läuft ist ja auch reingelinkt - aber ok :D

Grüße,
LittleFox

 

Einloggen