Devies drivers programmeren voor eigen systeem.

Moderators: jkien, Xilvo

Reageer
Berichten: 2.589

Devies drivers programmeren voor eigen systeem.

Graag had ik begrepen hoe je met code (assm) je hardware kan aansturen en het bepaalde functie kun laten doen. Hierbij kom ik dan dadelijk terecht ik wat een os doet hierover heb ik dan ook al wat gelezen maar de juiste aansturing van bepaalde hardware blijf me toch nog een vraag, globale principes werden me duidelijk niet hoe ik het concreet moet doen.

Daarom dat ik menuetos downloaden een volledig os geschreven in assm hierin zitten stukken code waarin men bijvoorbeeld gaat testen welke netwerk kaart je hebt en die dan stap voor stap gaat bestuderen.

Mijn vraag is nu waar vind ik info over dit aspect van hardware besturing? Mijn bedoeling is niet een os te schrijven maar eerder een stuk code waarmee een computer opstart en dan pakketje naar de netwerkkaart stuurt en ontvangt. Veel verwijzen dergelijke boeken naar de technische fiche van zo’n netwerk kaart echter als ik iets opzoek op het internet kom ik meestal op een commerciële website uit waar weinig technisch detail te bespeuren is.

Iemand enig idee waarmee te beginnen? Groeten.

Berichten: 158

Re: Devies drivers programmeren voor eigen systeem.

Besturingsysteem programmatuur schrijven is één van de grootste uitdagingen voor een doorgewinterde programmeur, en er zijn er slechts een handjevol die zover komen dat ze informatie van het netwerk kunnen ontvangen. Mocht je toch echt willen doorzetten, lees dan eens mijn wikibook Ontwerp en bouw een besturingssysteem. Het is nog niet af, maar je kan er een goed begin mee maken, en het is in het Nederlands. Verder kan je hulp en voorbeelden krijgen via de forums en de wiki op de Engelse site OSDev. Om goed met dit onderwerp om te kunnen gaan zal je een redelijk goede beheersing van het Engels moeten hebben, omdat bijna alle informatie die je vindt in het Engels is. Veel succes!
"Niet gehinderd door enige kennis van zaken..."

Gebruikersavatar
Berichten: 2.364

Re: Devies drivers programmeren voor eigen systeem.

Nou, je moet de PCI scannen en de netwerkkaart eruit vissen. Contact met devices doe je via de ASM-commando's IN en OUT. Bijvoorbeeld:

inb al, 0x60 vraagt een byte van poort 0x60. Dat is je toetsenbordpoort, dus wat hier uit komt is een ingedrukte toets.

Hoe je de pci scant, staat hier. Een network controller heeft class 0x02 en ethernet heeft subclass 0x0. Die zoek je eruit en uit een van de BARs haal je het poort waar je data heen wilt sturen. Je moet weten welke BAR je nodig hebt, en dat staat in design documents van je kaart. Hier staan er een paar genoemd.
“Quotation is a serviceable substitute for wit.” - Oscar Wilde

Berichten: 2.589

Re: Devies drivers programmeren voor eigen systeem.

Allebei ontzettend bedankt.

Reageer