Autor Thema: Kernel statt BIOS?  (Gelesen 3094 mal)

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« am: 30. November 2005, 12:28 »
Hallo,

ich habe einen P.U.M.P. (Parallel Universe MP3 Player). Dieser ist in einem 486er verbaut und funktioniert in etwa so: Ich schicke einen MP3-Datenstrom an den Parallelport und dieser wird dann abgespielt, die Decodierung wird also vom PUMP erledigt.

Dazu habe ich mir ein Gehäuse gebaut mit einem 486er AT-Gehäuse, 33 Mhz und 1 MB RAM (reicht völlig). Da der Rechner den POST nicht verkürzen kann (zählt immer 5x den RAM hoch), dauert allerdings der Systemstart ziemlich lange. Dann wird von der Festplatte (IDE) ein DOS geladen, was dann das eigentliche Abspielprogramm startet.

Die Bootzeit von fast 2 Minuten nervt allerdings unheimlich, weil das BIOS elendig lange braucht, um den RAM hochzuzählen und die Hardware zu initialisieren.

Daher hatte ich den Gedanken, einen sehr kompakten, minimalen Kernel in den BIOS-EPROM zu brennen und damit direkt die wesentlichen Komponenten zu initialisieren und zu benutzen. Das hätte außerdem den Vorteil, dass ich keine Grafikkarte bräuchte (das BIOS verweigert das Booten ohne Graka) und halt das Booten sehr viel schneller vonstatten ginge.

Brauchen würde ich:
=> eine serielle Schnittstelle (Konsole)
=> eine parallele Schnittstelle (PUMP)
-- das dürfte sich relativ einfach implementieren lassen --
=> IDE-Interface (ATA & ATAPI, also HD & CD)
=> Netzwerkschnittstelle (RTL8029, 10 MBit ISA)

und entsprechende Dateisysteme natürlich (iso9660, joliet, minix, nfs?)

--------------

Daher meine Frage: Geht das?
Ich erinnere mich düster, dass es ein Projekt Linux im BIOS-Chip gab, aber ich finde es nicht mehr :-(

Wo würden die größten Probleme liegen?

Gruß,

Svenska

SSJ7Gohan

  • Beiträge: 398
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 30. November 2005, 13:30 »
Du willst also dein eigenes OS benutzen, um den Player anzusteuern?
Ich denke mal, das Schwerste wird sein, dass du im BIOS erstmal einige Sachen initialisieren musst, um die du normalerweise herumkommst. Ausserdem gibt es nur relativ wenige Infos über das BIOS.

Du kannst dir ja mal das Bochs BIOS ansehen.

DarkThing

  • Beiträge: 652
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 30. November 2005, 15:20 »
Also es geht auf jeden Fall, es gibt immerhin einige Projekte bei denen ein komplettes BIOS programmiert wird. Such einfach mal nach so was wie open soure bios. Da kommt der eine oder andere interesante Link - Das OpenBIOS Projekt sah auf den ersten Blick recht interessant aus.

DarkThing

  • Beiträge: 652
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 08. December 2005, 16:33 »
Wenn du immer noch an BIOS-Programmierung interessiert bist, kann ich dir mal ein Assembler-Listing von nem BIOS für den 8086 schicken. Das enthält nur die absuluten Grundlagen, ist dafür aber recht klein und überschaubar. Interessant sind hier vor allem die Initialisierungen von diversen ICs usw und natürlich die Speicheradressen.

 

Einloggen