Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Con la prima rete 5G Standalone attiva in Italia, WINDTRE compie un passo decisivo verso un modello di connettività intelligente che abilita scenari avanzati per imprese e pubbliche amministrazioni, trasformando la rete da infrastruttura a piattaforma per servizi a valore aggiunto
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro punta a diventare uno dei riferimenti assoluti nel segmento dei camera phone di fascia alta. Con un teleobiettivo Hasselblad da 200 MP, una batteria al silicio-carbonio da 7500 mAh e un display da 6,78 pollici con cornici ultra ridotte, il nuovo flagship non teme confronti con la concorrenza, e non solo nel comparto fotografico mobile. La dotazione tecnica include il processore MediaTek Dimensity 9500, certificazione IP69 e un sistema di ricarica rapida a 80W
DJI Romo, il robot aspirapolvere tutto trasparente
DJI Romo, il robot aspirapolvere tutto trasparente
Anche DJI entra nel panorama delle aziende che propongono una soluzione per la pulizia di casa, facendo leva sulla propria esperienza legata alla mappatura degli ambienti e all'evitamento di ostacoli maturata nel mondo dei droni. Romo è un robot preciso ed efficace, dal design decisamente originale e unico ma che richiede per questo un costo d'acquisto molto elevato
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-10-2008, 17:53   #1
|giacomo|
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....
|giacomo| è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2008, 18:24   #2
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Che tipo di driver vuoi sviluppare? In altre parole: cosa vorresti "pilotare"?
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2008, 18:36   #3
|giacomo|
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?
|giacomo| è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2008, 19:04   #4
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
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:
Ecco volevo specificare propio all' inizio poi pensavo fosse uguale
Su Windows si possono sviluppare diverse tipologie di driver, ed in baso al tipo cambia il livello di difficoltà (da elevatissimo diventa elevato! ).

Consulta questo sito.
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2008, 19:09   #5
|giacomo|
Member
 
Iscritto dal: Oct 2007
Messaggi: 83
Grazie mille x il sito...cmq si immaginavo fosse una cosa assai difficile..ma magari pian piano, con l aiuto di persone piu esperte..il mio e solo un passatempo nulla di frettoloso o necessario quindi...cmq..tu quindi mi consiglieresti (come minor male s' intende ) di pilotare un dispositivo semplice semplice creato da me?
|giacomo| è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2008, 19:20   #6
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Inizia con lo studiare BENE il C, senza quello non vai da nessuna parte...
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2008, 19:22   #7
|giacomo|
Member
 
Iscritto dal: Oct 2007
Messaggi: 83
Quote:
Originariamente inviato da variabilepippo Guarda i messaggi
Inizia con lo studiare BENE il C, senza quello non vai da nessuna parte...
Benissimo!era gia nei miei programmi futuri a dire il vero.
|giacomo| è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2008, 19:46   #8
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
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.
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2008, 21:01   #9
71104
Bannato
 
L'Avatar di 71104
 
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 ), e aggiungo che i due linguaggi che conosci ti saranno perfettamente inutili: che i drivers nel 2008 si sviluppino in assembly è un mito nato dall'ignoranza (visto che l'apprendimento in queste cose è molto arduo); un driver per Windows è sviluppato completamente in C, neanche una riga di assembly. se non ci credi scarica il WDK (Windows Driver Kit) e guardati tutti i drivers di esempio, non troverai una riga di assembly che sia una.
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
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2008, 21:21   #10
|giacomo|
Member
 
Iscritto dal: Oct 2007
Messaggi: 83
Quote:
Originariamente inviato da 71104 Guarda i messaggi
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 ), e aggiungo che i due linguaggi che conosci ti saranno perfettamente inutili: che i drivers nel 2008 si sviluppino in assembly è un mito nato dall'ignoranza (visto che l'apprendimento in queste cose è molto arduo); un driver per Windows è sviluppato completamente in C, neanche una riga di assembly. se non ci credi scarica il WDK (Windows Driver Kit) e guardati tutti i drivers di esempio, non troverai una riga di assembly che sia una.
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
Grazie mille per la risposta esaustivissima!..allora mi mettero a studiare il C..sinceramente anche io (nell' ignoranza) credevo che l assembly fosse il linguaggio principale per lo sviluppo di un driver..e non solo..per quanto riguarda la piattaforma da sciegliere sono ancora indeciso sinceramente...magari mentre studio il C cerco intanto di documentarmi e vedere quale delle due si adatta piu al mio scopo..Inoltre..dato che mi sembra di capire che hai una certa preparazione sull argomento (come ti stimo) secondo te e piu facile "pilotare" una periferica gia fatta o qualcosa di creato da me?
|giacomo| è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2008, 21:30   #11
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
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.
Su MSDN si trovano molte informazioni e la documentazione ufficiale è decisamente completa, ma sono in tanti a preferire l'approccio organico ad un percorso di studio, approccio che solo un buon libro può dare. Inoltre sui buoni libri si trovano consigli, non inclusi nella documentazione tecnica, legati all'esperienza degli autori (quelli su DDK/WDK/WDM/WDF/etc vengono solitamente scritti da membri dei rispettivi team Microsoft). Poi se si è abituati ad usare un metodo di studio "custom" allora non ci sono problemi...

Quote:
credevo che l assembly fosse il linguaggio principale per lo sviluppo di un driver
Concordo con 71104, l'Assembly (come linguaggio) non ti servirà quasi per niente nello sviluppo di driver.
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2008, 21:33   #12
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da |giacomo| Guarda i messaggi
secondo te e piu facile "pilotare" una periferica gia fatta o qualcosa di creato da me?
banalmente, è più facile pilotare una periferica dalle specifiche tecniche semplici; tra l'altro se la periferica l'hai creata tu le specifiche tecniche le conosci già. esistono invece periferiche per le quali le specifiche sono trade secret dell'azienda che le produce, e quindi creare un driver potrebbe anche essere praticamente impossibile, o comunque assolutamente irragionevole per un hobbysta.

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
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2008, 21:48   #13
|giacomo|
Member
 
Iscritto dal: Oct 2007
Messaggi: 83
Quote:
Originariamente inviato da variabilepippo Guarda i messaggi
Su MSDN si trovano molte informazioni e la documentazione ufficiale è decisamente completa, ma sono in tanti a preferire l'approccio organico ad un percorso di studio, approccio che solo un buon libro può dare. Inoltre sui buoni libri si trovano consigli, non inclusi nella documentazione tecnica, legati all'esperienza degli autori (quelli su DDK/WDK/WDM/WDF/etc vengono solitamente scritti da membri dei rispettivi team Microsoft). Poi se si è abituati ad usare un metodo di studio "custom" allora non ci sono problemi...



Concordo con 71104, l'Assembly (come linguaggio) non ti servirà quasi per niente nello sviluppo di driver.
Fin ora tutti i linguaggi che ho studiato per conto mio li ho studiati da tutorial su internet e per approffondire poi sui libri..quindi sapresti mica consigliarmi qualche bel libro per quando avro finito di studiarmi il C??Grazie!
|giacomo| è offline   Rispondi citando il messaggio o parte di esso
Old 26-10-2008, 21:52   #14
|giacomo|
Member
 
Iscritto dal: Oct 2007
Messaggi: 83
Quote:
Originariamente inviato da 71104 Guarda i messaggi
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
Questa non la sapevo!!Quindi potrebbe risultarmi addirittura piu facile?A questo punto mi sorge il dubbio..creo un driver o mi conviene usare il secondo metodo,lasciando la creazione di driver a quando la mia esperienza e livello di studi saranno piu avanzati??Il mio scopo era solo quello di "divertirmi" ad attaccare qualcosa al pc e vedere che funzione per "mia" opera.
|giacomo| è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2008, 13:04   #15
Jean-Louis
Junior Member
 
Iscritto dal: Oct 2008
Città: Pisa
Messaggi: 15
Quote:
Originariamente inviato da |giacomo| Guarda i messaggi
Fin ora tutti i linguaggi che ho studiato per conto mio li ho studiati da tutorial su internet e per approffondire poi sui libri..quindi sapresti mica consigliarmi qualche bel libro per quando avro finito di studiarmi il C??Grazie!
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

Quote:
Originariamente inviato da 71104 Guarda i messaggi
un driver per Windows è sviluppato completamente in C, neanche una riga di assembly. se non ci credi scarica il WDK (Windows Driver Kit) e guardati tutti i drivers di esempio, non troverai una riga di assembly che sia una.
Visto che ho l'occasione, ne approfitto anch'io per una domanda

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.
Jean-Louis è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2008, 13:48   #16
agente mm8
Senior Member
 
Iscritto dal: Mar 2008
Messaggi: 401
credo proprio che dovresti aprire un'altra discussione, Jean-Louis
agente mm8 è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2008, 14:15   #17
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da Jean-Louis Guarda i messaggi
Visto che ho l'occasione, ne approfitto anch'io per una domanda

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.
per il momento è tutto gratuito. registrati al sito http://connect.microsoft.com/ e dopodiché vai a questa pagina:
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.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2008, 14:45   #18
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
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.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2008, 19:56   #19
|giacomo|
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!!
|giacomo| è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2008, 19:57   #20
|giacomo|
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!
|giacomo| è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi Wind Tre 'accende' il 5G Standalone in Italia: s...
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh OPPO Find X9 Pro: il camera phone con teleobiett...
DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
La missione con equipaggio Shenzhou-21 h...
Il Galaxy S26 Edge potrebbe essere ancor...
Google riaccenderà una centrale n...
Crollo per Pornhub nel Regno Unito:-77% ...
La Germania accende il suo cannone laser...
Il meglio di Amazon in 2 minuti: tira ar...
ECOVACS risponde a Eureka e dimezza il p...
Durissimo colpo per Nintendo: l'ufficio ...
Scope elettriche al minimo storico su Am...
Blue Jay e Project Eluna: robotica e AI ...
Scede a 949€ il Samsung Galaxy S25 Ultra...
Blue Yeti Nano in super offerta su Amazo...
Netflix sta preparando un'offerta per Wa...
Prezzo impossibile, è sceso ancor...
Torna il migliore dei mini PC economici:...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:33.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v