|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2007
Messaggi: 83
|
Creare driver
Ho aperto questo post per chiedere voi un aiuto e delle dritte sulla creazione di un driver per windows e per linux..so discretamente come lavora un so per quanto riguarda l' I/O, kernel ecc..o meglio so come agisce nulla di piu..come linguaggi utili conosco l assembly e java..quest' ultimo so che non e tra i piu adatti ma se c'e da studiare qualcosa di nuovo non mi tiro indietro..Se sapete darmi qualche indicazione,dritta o qualsiasi informazione e ben accetta..so che fare un driver e una cosa difficilissima..ma per passare il tempo....
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Che tipo di driver vuoi sviluppare? In altre parole: cosa vorresti "pilotare"?
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Oct 2007
Messaggi: 83
|
Ecco volevo specificare propio all' inizio poi pensavo fosse uguale..e piu facile "pilotare" un dispositivo gia fatto (chessò una cam) o magari un piccolo circuitino fatto da me che magari accende un led?
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
In entrambi i casi devi avere un bagaglio di conoscenze che richiede anni per essere acquisito... Nel caso di un dispositivo non realizzato da te devi avere a disposizione le specifiche tecniche complete o essere in grado di fare reverse engineering (cosa non banale!).
Quote:
Consulta questo sito. |
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Oct 2007
Messaggi: 83
|
Grazie mille x il sito.
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Inizia con lo studiare BENE il C, senza quello non vai da nessuna parte...
|
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Oct 2007
Messaggi: 83
|
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
I driver si sviluppano in C (e poco più) e non basta una conoscenza superficiale del linguaggio, bisogna avere molta esperienza nello sviluppo in C. Quando conoscerai BENE il C potrai pensare di acquistare libri sullo sviluppo di driver per il sistema operativo prescelto e studiare tutta la documentazione relativa.
|
|
|
|
|
|
#9 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
dico la mia: tanto per cominciare non è che allegramente puoi metterti a sviluppare driver per Windows E per Linux
sono due mondi completamente diversi, o l'uno o l'altro (e ti dirò, ho la netta sensazione che Linux sia più semplice, e non si tratta necessariamente di un vantaggio per Linux, anzi). quindi per prima cosa scegli il tuo sistema target. non scegliere Linux solo perché ti ho detto che è più semplice: è più semplice una volta che hai imparato, ma la documentazione in queste cose è di importanza fondamentale e in quanto a documentazione nessuno può battere MSDN (Microsoft Developer's Network), quindi può darsi invece che ti riesca meglio sviluppare drivers per Windows. in secondo luogo ribadisco il consiglio di un apprendimento totale del C (tranquillo, tutto sommato è un linguaggio molto semplice: il C++ è 10 volte più complesso come ultima questione, non credo che sia necessario spendere soldi e acquistare un libro: come ho già scritto, la qualità della documentazione che c'è in MSDN è assolutamente ottima, basta solo armarsi di pazienza, tempo, e leggere tutto dall'inizio alla fine. to', qui c'è l'inizio: http://msdn.microsoft.com/en-us/library/ms791699.aspx |
|
|
|
|
|
#10 | |
|
Member
Iscritto dal: Oct 2007
Messaggi: 83
|
Quote:
|
|
|
|
|
|
|
#11 | ||
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
Quote:
|
||
|
|
|
|
|
#12 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
la risposta breve: la seconda inoltre ti avviso che potrebbe non essere neanche necessario scrivere un driver: se ad esempio crei un circuito che si attacca al PC tramite una porta esterna (COM, LPT, USB, ...) allora puoi manovrarlo anche con un semplice programma applicativo. se scrivi il programma in Win32 puoi comunicare con le suddette porte usando l'interfaccia di I/O standard (CreateFile, ReadFile, WriteFile, ...) più qualche altra funzione aggiuntiva; se invece programmi in .NET puoi usare classi come queste: http://msdn.microsoft.com/en-us/libr....io.ports.aspx |
|
|
|
|
|
|
#13 | |
|
Member
Iscritto dal: Oct 2007
Messaggi: 83
|
Quote:
|
|
|
|
|
|
|
#14 | |
|
Member
Iscritto dal: Oct 2007
Messaggi: 83
|
Quote:
|
|
|
|
|
|
|
#15 | ||
|
Junior Member
Iscritto dal: Oct 2008
Città: Pisa
Messaggi: 15
|
Quote:
Quote:
sono completamente all'oscuro dello sviluppo di driver per windows, ma alcuni mesi fa provai a cercare qualche informazione per capire un po' come funzionavano... lo scopo era di vedere se riuscivo a capire come funzionava questo Filter Driver UsbSnoop sul sito c'è scritto che hanno utilizzato il WDK 6000, provai a girare sul sito della microsoft, ma non ho capito se questo WDK 6000 si può scaricare gratuitamente o se c'è una licenza da pagare... mi sapreste dare qualche informazione in più? Se c'è una licenza... quanto costa? Grazie mille. |
||
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Mar 2008
Messaggi: 401
|
credo proprio che dovresti aprire un'altra discussione, Jean-Louis
|
|
|
|
|
|
#17 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
https://connect.microsoft.com/site/s...spx?SiteID=148 per scaricarlo clicca su Download nel menu a sinistra. ti farà installare un download manager della Microsoft, il File Transfer Manager. |
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Se vuoi accendere LED o pilotare ingressi di semplici circuiti elettrici/elettronici, e ti bastano 0-5V a basso amperaggio, e ti va di usare la parallela
(quindi no driver, ma un programmino che piloti la parallela a tuo uso e consumo) Con il C# e' sufficientemente semplice. Ed anche praticamente pronto leggendo qui http://www.codeproject.com/KB/cs/csppleds.aspx
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
#19 |
|
Member
Iscritto dal: Oct 2007
Messaggi: 83
|
Quindi anche il C# potrebbe essere una buona alternativa?Pero cercando di capire un po quello che ce all interno di quel link in pratica crea quel programmino "solo" gestendo la porta seriale..cosa che se la memoria non m' inganna si può fare anche in java e assembler..correggetemi se sbaglio!!
|
|
|
|
|
|
#20 |
|
Member
Iscritto dal: Oct 2007
Messaggi: 83
|
[quote=Jean-Louis;24745210]Se deciderai di orientarti verso linux esiste un libro chiamato Linux Device Drivers (Third Edition) rilasciato con licenza CreativeCommons by-sa scaricabile liberamente da questo sito LDD3
Grazie per il consiglio!ora lo scarico! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:33.




















