Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Moto G77: display AMOLED e buona autonomia per il midrange economico
Recensione Moto G77: display AMOLED e buona autonomia per il midrange economico
Motorola propone in fascia media il nuovo Moto G77 5G, uno smartphone che punta sul display AMOLED da 1.5K a 120Hz, e sulla fotocamera da 108 MP con stabilizzazione ottica per affrontare la fascia media. Il tutto insieme a una batteria da 5200mAh in soli 7,3 millimetri di spessore, con una scocca certificata con standard militari
DJI Lito 1 e Lito X1 recensione: i nuovi droni per principianti che non si fanno mancare nulla
DJI Lito 1 e Lito X1 recensione: i nuovi droni per principianti che non si fanno mancare nulla
DJI ha appena ufficializzato la serie Lito, la sua nuova gamma di droni entry-level destinata a chi si avvicina per la prima volta alla fotografia aerea. Al centro dell'annuncio ci sono due modelli ben distinti per fascia di prezzo e specifiche tecniche: DJI Lito 1 e DJI Lito X1. Entrambi si collocano sotto la soglia regolamentare dei 249 grammi, che permette di volare con requisiti burocratici più semplici rispetto ai droni più pesanti.
Sony World Photography Awards 2026: i premiati, anche italiani, il punto sulla fotografia di oggi
Sony World Photography Awards 2026: i premiati, anche italiani, il punto sulla fotografia di oggi
Siamo stati a Londra per la premiazione dei Sony World Photography Awards 2026, l'evento a tema fotografia più prestigioso. Fra sorprese e novità, ne approfittiamo per fare il punto sulla fotografia contemporanea, in cui la didascalia è sempre più necessaria a cogliere il senso della quasi totalità degli scatti.
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


Recensione Moto G77: display AMOLED e buona autonomia per il midrange economico Recensione Moto G77: display AMOLED e buona auto...
DJI Lito 1 e Lito X1 recensione: i nuovi droni per principianti che non si fanno mancare nulla DJI Lito 1 e Lito X1 recensione: i nuovi droni p...
Sony World Photography Awards 2026: i premiati, anche italiani, il punto sulla fotografia di oggi Sony World Photography Awards 2026: i premiati, ...
Una settimana con Hyundai Ioniq 5 N-Line: diverte e convince Una settimana con Hyundai Ioniq 5 N-Line: divert...
Recensione OPPO Find X9 Ultra: è lui il cameraphone definitivo Recensione OPPO Find X9 Ultra: è lui il c...
DJI Osmo Action 4 a 189€: la action cam ...
MAN eTGX da 480 kWh diventa un power ban...
OpenAI ha speso troppo e non incassa qua...
G435 LIGHTSPEED a 35€ su Amazon: Logitec...
DMA, la Commissione UE chiede a Google d...
3 delle 7 offerte migliori di Amazon son...
Microsoft e OpenAI rinegoziano l'accordo...
Logitech G512 X: la tastiera gaming con ...
Caricabatterie universale UE: scatta l'o...
ECOVACS DEEBOT T50 PRO OMNI Gen2 a soli ...
ASUS TUF da 23,8'' a soli 99€ su Amazon:...
Steam Deck 2 è in lavorazione: Va...
AI su Ubuntu: quello che sta arrivando p...
Il Termostato WiFi Meross Matter a soli ...
Valve, Steam Machine e Steam Frame devon...
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: 13:04.


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