Pregunta

¿alguien sabe cómo acceder a dispositivos tales como un puerto Ethernet en una placa base o en una tarjeta PCI?

¿Hay registros especiales? Códigos de operación? ¿Tengo que hacer una llamada al sistema operativo? Si es así, ¿cómo?

Gracias de antemano.

¿Fue útil?

Solución

Depende de lo particular chips Ethernet MAC que está tratando de hablar. Incluso los chips de la misma familia a menudo tienen pequeñas diferencias en la forma en que operan. Esta es la razón por los sistemas operativos modernos tienen el concepto de "conductor":. El fabricante de hardware normalmente escribe el conductor porque saben que el hardware y el controlador proporciona una traducción entre el hardware y el sistema operativo lo que quiere ver

A menudo se puede obtener la documentación del fabricante del chip MAC para escribir su propio controlador. Una vez más, usted tiene que saber exactamente lo que el chip que está tratando de hablar con el fin de obtener las especificaciones adecuadas. Algunos chips no tienen documentación pública, pero eso no es generalmente un problema con chips de Ethernet.

Otros consejos

La respuesta más simple, aunque probablemente no lo que está buscando, sería escribir el código C para acceder a la tarjeta, compilarlo, y ver el código generado por el compilador.

es probable que vaya a través del controlador NIC directamente, o utilizar una biblioteca como winpcap El código C. El soporte integrado para raw sockets en Windows, por ejemplo, fue desactivado por motivos de seguridad.

Sin embargo, esta no es la mejor manera de aprender cómo funcionan las tarjetas de red. Por eso, recoger una hoja de datos de una tarjeta de red incrustado popular como LAN91C111 leer cómo acceder a ella. que le enseñará mucho sobre la interfaz Eterthet en la forma cruda.

Esto todavía no es una buena caja de arena suficiente para estudiar el lenguaje ensamblador en, en mi humilde opinión. Para ello, simplemente aplicar unos pequeños programas algorítmicos en el montaje -. Como árbol binario de búsqueda

Puede utilizar las llamadas a la propia tarjeta, utilizando inupt y las instrucciones de salida o algo similar. Cada tarjeta de red es diferente, por lo que tendrá la documentación del fabricante.

El siguiente nivel es las llamadas a funciones de DOS, suponiendo que estés usuing de Windows. Estos le permitirán acceder a las funciones limitadas de una tarjeta ethernet utilizando llamadas estándar MSDOS. Usted puede encontrar estos en la documentación antigua MSDOS. La mayoría de ellos siguen trabajando en las versiones posteriores de Windows, si no me equivoco.

tendrá que escribir a las direcciones de puerto específico. Esta página wiki podría empezar.
MemoryMappedIO

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top