Domanda

qualcuno sa come accedere a dispositivi come una porta Ethernet su una scheda madre o su una scheda PCI?

Ci sono registri speciali? Opcodes? Devo fare una chiamata al sistema operativo? Se sì, come?

Grazie in anticipo.

È stato utile?

Soluzione

Dipende dal particolare chip Ethernet MAC si sta cercando di parlare. chip anche nella stessa famiglia hanno spesso piccole differenze nel modo in cui esse operano. Questo è il motivo per cui sistemi operativi moderni hanno il concetto di "driver":. Il produttore dell'hardware di solito scrive il driver perché sanno l'hardware e il driver fornisce una traduzione tra l'hardware e ciò che il sistema operativo vuole vedere

Spesso è possibile ottenere la documentazione dal produttore del chip MAC per scrivere il proprio driver. Anche in questo caso, è necessario sapere esattamente quale chip si sta cercando di parlare al fine di ottenere le specifiche giuste. Alcuni chip hanno alcuna documentazione pubblica, ma che di solito non è un problema con i circuiti integrati Ethernet.

Altri suggerimenti

La risposta più semplice, anche se probabilmente non è quello che stai cercando, sarebbe quello di scrivere il codice C per accedere alla scheda, compilarlo e vedere il codice generato dal compilatore.

Il codice C è probabile che passare attraverso il driver NIC direttamente, o utilizzare una libreria come winpcap . Il supporto incorporato per socket raw su Windows, ad esempio, è stato disattivato per motivi di sicurezza.

Ma questo non è il modo migliore per imparare come funzionano le schede di rete. Per questo, scegliere una scheda tecnica di una scheda di rete incorporato popolare come LAN91C111 leggere come accedervi. che vi insegnerà molto su interfacciamento Eterthet nel modo grezzo.

Questa non è ancora una buona sandbox sufficiente per studiare l'assemblaggio in, IMHO. Per questo, basta implementare un paio di piccoli programmi algoritmici in assemblea -. Come albero binario di ricerca

È possibile utilizzare le chiamate alla scheda stessa, utilizzando inupt e istruzioni di uscita o qualcosa di simile. Ogni scheda ethernet è diverso, quindi avrai bisogno di documentazione fornita dal produttore.

Il livello successivo up è le chiamate di funzione DOS, supponendo che si sta usuing di Windows. Questi permetteranno di accedere a funzioni limitate di una scheda Ethernet utilizzando chiamate standard MSDOS. È possibile trovare questi nella vecchia documentazione di MS-DOS. La maggior parte di loro lavorano ancora in versioni successive di Windows, se non sbaglio.

Sarà necessario scrivere a indirizzi delle porte specifiche. Questa pagina Wiki potrebbe iniziare.
MemoryMappedIO

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top