2016-12-29 3 views
-2

Je regarde quelle pièce de matériel devrais-je acheter (NIC ou FPGA ou ASIC etc.) que je pourrais me relier à mon système, et écrire le conducteur de dispositif pour implémenter et apprendre des fonctions typiques de conducteur de dispositif Ethernet comme - piéger/recevoir et envoyer paquet/Reprogrammation du matériel etc? Comment puis-je apprendre tout cela à la maison?Comment apprendre la programmation du pilote de périphérique Ethernet?

Répondre

0

Je pense que si votre "système" est un ordinateur, il devrait avoir une carte réseau (ou vous pouvez en acheter un). Quoi qu'il en soit, vous avez besoin d'un ordinateur pour écrire un pilote ... alors téléchargez les sources du noyau et regardez la source du pilote pour la carte réseau que vous utilisez.

+0

mais NIC aurait prédéfini IRQ - pour la réception de paquets. Est-il possible de reprogrammer la carte réseau de sorte qu'elle déclenche l'interruption vers la CPU uniquement lorsque certains types de paquets sont reçus? –

+0

Je pense généralement non; vous pouvez les programmer pour augmenter l'IRQ uniquement pour les paquets unicast et non pour les paquets, mais en dehors de cela, il n'y a pas grand-chose d'autre. Sinon, il y a des puces plus complexes, conçues pour les systèmes embarqués, qui peuvent faire ce que vous voulez; ils interfacent avec le CPU hôte via une ligne série parallèle, SPI ou même asynchrone normale, par ex. https://www.sparkfun.com/products/retired/9471 – linuxfan