Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-01-2011, 22:45   #1
seymour.
Junior Member
 
Iscritto dal: Jan 2011
Messaggi: 17
[c ] .. chiarimenti generici sul creare driver in generale

Tempo fa affascinato dalla programmazione ho acquistato un libro sul c anche con la speranza di poter scrivere da solo i driver che mi mancavano con linux .... dopo averlo studiato ero capace di fare calcolatrici e programmi vari ma i driver per me sono sempre stati un mistero ...

cosa bisogna fare per creare un driver? bisogna conoscere l'hardware probabilmente ma come? smontandolo? esiste documentazione?

faccio un esempio ....tempo fa ho visto un filmato su come collegare un laser a una porta usb e mi sono chiesto ...' in che dannatissmo modo posso fare un programma che mi fa lampeggiare quel laser????????????' ....

so che la domanda è generica e abbastanza assurda ma ... aiuto XD

ps. nel regolamento di sezione si dice di specificare il compilatore , mi potreste spiegare il motivo?
seymour. è offline   Rispondi citando il messaggio o parte di esso
Old 07-01-2011, 10:58   #2
seymour.
Junior Member
 
Iscritto dal: Jan 2011
Messaggi: 17
forse sono stato poco chiaro? XD ......

se è così chiedetemi tutto
seymour. è offline   Rispondi citando il messaggio o parte di esso
Old 07-01-2011, 12:45   #3
AngeL)
Senior Member
 
L'Avatar di AngeL)
 
Iscritto dal: May 2006
Città: Salerno
Messaggi: 936
Premetto di non essere un esperto, comunque che io sappia esistono delle librerie che ti mettono a disposizione funzioni bell'e fatte (esempio).
Se invece è proprio il driver che vuoi scrivere, dai un'occhata qui, ma è un mondo per sadici!

Ultima modifica di AngeL) : 07-01-2011 alle 12:48.
AngeL) è offline   Rispondi citando il messaggio o parte di esso
Old 07-01-2011, 13:41   #4
seymour.
Junior Member
 
Iscritto dal: Jan 2011
Messaggi: 17
cavolo molto interessante questi due link sopratutto quello da sadici peccato che usino windows XD grazie mille
seymour. è offline   Rispondi citando il messaggio o parte di esso
Old 07-01-2011, 15:39   #5
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
La prima cosa da fare è separare la programmazione di un device driver in due blocchi.

Il primo riguarda l'interfaccia tra i driver e il sistema operativo e trovi un buon tutorial qui http://www.freesoftwaremagazine.com/.../drivers_linux

Considera che il driver viene caricato/scaricato/riavviato dal sistema operativo e che tutte le sue funzionalità sono esposte tramite l'interfaccia del sistema operativo, quindi si capisce facilmente che devi sottostare a delle regole specifiche.

L'altra parte è ovviamente quella che riguarda come programmare l'hardware e lì dipende tutto dall'hardware. In generale si può dire che il tutto si riduce alla scrittura/lettura di valori da registri specifici della periferica e/o all'invio nella memoria della periferica di dati/programmi ( pensa agli shader delle schede video ).

Direi che la parte difficile è capire come la periferica s'interfaccia alla macchina ( una periferica usb pone problemi diversi da una pci express ), quali sono le sue procedure di inizializzazione e programmazione e spesso compaiono cose assurde come i timings, cioè inviati un dato al registro X e poi dopo tot millisecondi leggi dal registro Y.

Ovviamente queste informazioni le sa chi fa l'hardware e quindi o usi il reverse engineering per disassemblare i driver ufficiali e capire che fanno o il produttore è così gentile da rendere pubbliche le specifiche.
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 07-01-2011, 20:41   #6
seymour.
Junior Member
 
Iscritto dal: Jan 2011
Messaggi: 17
aaa ecco inizio a capire .....

però scusa l'ignoranza ma le faccende riguardanti le porte usb oppure pci ecc non sono gestite già di base dal sistema operativo? devo comunque metterci le mani io??

(che brutta l'ignoranza)
seymour. è offline   Rispondi citando il messaggio o parte di esso
Old 07-01-2011, 20:44   #7
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quote:
Originariamente inviato da seymour. Guarda i messaggi
aaa ecco inizio a capire .....

però scusa l'ignoranza ma le faccende riguardanti le porte usb oppure pci ecc non sono gestite già di base dal sistema operativo? devo comunque metterci le mani io??

(che brutta l'ignoranza)
eh certo che sono gestite dal sistema operativo, ma una periferica pci express deve recuperare la sua configurazione dal bus pciex, lo stesso dicasi per una periferica usb

una periferica usb, ad esempio, deve capire su quale bus usb si trova, quindi configurarsi di conseguenza, oppure deve tramite plug&play settare l'irq, l'apertura in ram per l'i/o, ecc...
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 07-01-2011, 20:51   #8
seymour.
Junior Member
 
Iscritto dal: Jan 2011
Messaggi: 17
e dimmi una cosa .. questo vale per qualsiasi periferica?
voglio dire una stampante usb ha bisogno di tutto questo, ma per una ventola usb la cui unica funzione è quella di girare alternativamente piano e veloce il discorso resta lo stesso?

(abbi pazienza forse sto capendo )
seymour. è offline   Rispondi citando il messaggio o parte di esso
Old 07-01-2011, 20:57   #9
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quote:
Originariamente inviato da seymour. Guarda i messaggi
e dimmi una cosa .. questo vale per qualsiasi periferica?
voglio dire una stampante usb ha bisogno di tutto questo, ma per una ventola usb la cui unica funzione è quella di girare alternativamente piano e veloce il discorso resta lo stesso?

(abbi pazienza forse sto capendo )
ovviamente, perchè la periferica appena collegata alla porta usb non sanno niente di sè stessa, di quali parti dello spazio d'indirizzamento deve usare, di quali irq allocare, ecc....

poi tieni presente che pure la programmazione cambia, perchè se devi inviare un byte al registro 0x4 della periferica non ci puoi arrivare direttamente come si fa ad esempio con l'altoparlante di sistema o il controller della tastiera, ma devi arrivarci tramite usb e quindi devi istruire il bus usb riguardo il trasferimento di dati ( ovviamente il sistema operativo in questo ti aiuta )
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 07-01-2011, 21:06   #10
seymour.
Junior Member
 
Iscritto dal: Jan 2011
Messaggi: 17
grande ora l'ultima domanda e la più difficile ...

come faccio a imparare tutte queste cose? conosci qualche documento o qualche link oppure anche solo qualche parola chiave per iniziare la ricerca ..... qualsiasi cosa
seymour. è offline   Rispondi citando il messaggio o parte di esso
Old 07-01-2011, 21:27   #11
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
spassatela http://lwn.net/Kernel/LDD3/

però senza perdere troppo tempo ci sono delle guide sul wiki di osdev.org e osdever.net

ovviamente un libro è un libro e 18 capitoli sono difficile da riassumere in un paio di pagine
pabloski è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Strata fa girare un modello da 125 milia...
La bolletta diventa 'gamer': in Germania...
Trump istituisce una task force sull'int...
Una fuga di dati riporta le immagini del...
Il quantum computing incontra l'industri...
Nintendo Switch 2 celebra i 40 anni di T...
Nacon presenta Revolution 5 Unlimited: i...
L’IA entra nelle imprese, ma la governan...
OpenAI citata in giudizio per l'attacco ...
Il segreto di Windows XP svelato: il tru...
L'intelligenza artificiale Ataraxos batt...
LG OLED B6E 55'' a 899€ e OLED evo G5 48...
Trump spinge l'Europa, il G7 apre i rubi...
La Via Lattea potrebbe essere nata da mi...
Una GTX 1080 Ti su Windows XP nel 2026: ...
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: 12:27.


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