SoloCodigo
Programación Específica => Programación de Aplicaciones para Dispositivos => Mensaje iniciado por: mario_o82 en Domingo 15 de Enero de 2006, 21:04
-
Hola a todos
Soy estudiante de Electronica y me gustaría aprender a hacer mis propios Drivers, pues eventualmente podría necesitar controlar dispositivos.
Se que existen Drivers por la red que podría utilizar pero realmente quiero aprender a hacerlos yo mismo para que se adapten a lo que yo quiero hacer.
Se que existe el DDK de windows pero la verdad no lo tengo.
Me gustaría que alguien me indicara como puedo programar uno, con C... o con ASM... o indicarme donde puedo bajar esa información, pues la he buscado mucho y solo he encontrado un libro de ASM del 97 donde dice que los driver son programas COM con extensión SYS... pero no se si eso aun es cierto.
Gracias!
-
DDK tiene un precio de US$300 aprox.en microsoft y lo necesitaras, pues supongo que querras hacer drivers PCI,USB,etc. Actualmente los drivers son programas tipo SERVICE (programas que por lo general no poseen una interfaz de usuario y se instalan al encerder el PC) los puedes hacer con exito en lenguaje C++ y C#.Yo personalmente hice uno para una tarjeta tipo PCI que desarrollamos en la empresa donde trabajo fue hecho con el DDK de microsoft en C# para correr en ambiente .NET
-
El DDK de Windows es gratuito, solo tenes que pagar el envio del CD y si bajas el ultimo modelo es absolutamente gratis: http://www.microsoft.com/whdc/driver/wdf/KMDF_pkg.mspx (http://www.microsoft.com/whdc/driver/wdf/KMDF_pkg.mspx)
Tambien podes bajar varias versiones de esta pagina (ilegalmente claro):
http://down.szipc.com/OS/ (http://down.szipc.com/OS/)
En cuanto a desarrollar drivers de modo kernel lo podes hacer tanto en C como en C++ (teniendo bastante cuidado con el manejo de memoria), no se recomienda assembly porque dificulta muchisimo la portabilidad de los mismos y no tenes DDK para el mismo.
lalo_soft me deja bastante intrigado lo que comentas sobre hacer un driver en C#, supongo que sera un driver de modo usuario y no lo habras hecho con el DDK ya que el mismo no trae el compilador de C# (csc sino cl o ml). Segun tengo entendido un driver de modo kernel seria imposible de hacer en C# ya que el .NET corre pura y exclusivamente en modo usuario, nadie seria capaz de interpretarlo en modo kernel. No se podrian siquiera resolver las dependencias (DLLs) que necesita el ejecutable.
-
DDK Suite 3 tiene un precio de us$199 mas tax,no es un regalo y tiene un precio muy elevado por solo enviarte un CD.Pues otras empresas nos han enviado CD o DVD con sus programas gratis(sin siquiera pagar el costo del CD ni flete).Microsoft no regala DDK(nosotros tuvimos que comprarlo) lo que regala en una version parcializada llamada WDF o algo asi.
-
Estas MUY confundido y no respondiste mi pregunta.
WDF es Windows Driver Foundation, el nuevo modelo de desarrollo de drivers de Microsoft que reemplaza a WDM (Windows Driver Model). No es una version parcial ni mucho menos.
El DDK se puede obtener gratis SIN LUGAR A LA MENOR DUDA:
http://www.microsoft.com/whdc/devtools/ddk/default.mspx (http://www.microsoft.com/whdc/devtools/ddk/default.mspx) pone order y compara la diferencia entre esa suite y el DDK 199 contra 0, hay que saber lo que uno necesita ...
Aca tenes la lista de contenidos del Suite 3: http://www.microsoft.com/whdc/devtools/ddk...te/default.mspx (http://www.microsoft.com/whdc/devtools/ddk/suite/default.mspx)
Ahi vas a ver que tu DDK Suite 3 no es el DDK real sino que es una SUITE justamente que trae mas cosas pero una de ellas, y la mas importante por lejos es el verdadero DDK: The Microsoft Windows XP SP1 DDK y The Microsoft Windows Server 2003 DDK.
Si te trajeron un solo CD te estafaron, esa suite trae 16 CDs en total, 2 son versiones diferentes del DDK (hay muchas, al menos una por version de Windows) y lo demas es accesorio.
-
Hola .
Veo que conoceis el tema de la creacion de drivers .
Podrias explicarme un poco sobre este tema , he leido muchos doc en español y en ingles pero estoy hecho un verdadero lio .
No se realmente que necesito hacer para mi proyecto .
La idea es basicamente hacer una tarjeta de sonido usb y enviar los datos por el usb hacia el ordenador .
Pero el problema es que no se como decirle a windows que mi dispositivo es una tarjeta de sonido .
Necesito una aclaracion .
Hace tiempo tuve que dejar otro proyecto por este mismo motivo .
Poca documentacion en Español y la que encuentro en ingles , como que me satura un poco . ( He leido mucho pero no me aclaro :blink: )