| 	
	
	
		
		|||||||
  | 
		
| 
 | 
![]()  | 
	
	
| 
		 | 
	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: 01:51.









		
		
		


 
 







