Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Mic Mini 2: audio 48 kHz / 24-bit e protocollo OsmoAudio sotto i 100 Euro
DJI Mic Mini 2: audio 48 kHz / 24-bit e protocollo OsmoAudio sotto i 100 Euro
DJI presenta Mic Mini 2, un sistema microfonico wireless ultra-compatto progettato per democratizzare l'audio di alta qualità nella fascia entry-level. Con un peso di soli 11 grammi per il trasmettitore elimina i fastidi tipici dei modelli più pesanti sui vestiti. Nonostante la miniaturizzazione Mic Mini 2 offre prestazioni tecniche di rilievo: registrazione omnidirezionale a 48 kHz/24-bit, tre preset vocali (Regular, Bright, Rich) e un sistema di cancellazione attiva del rumore a due livelli.
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.
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


DJI Mic Mini 2: audio 48 kHz / 24-bit e protocollo OsmoAudio sotto i 100 Euro DJI Mic Mini 2: audio 48 kHz / 24-bit e protocol...
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...
La propulsione ottica con metajet potreb...
La missione Artemis III potrebbe essere ...
Mad Catz M.M.O. 7+: il mouse MMO da cult...
SAS porta il calcolo quantistico nelle a...
Un miliardo di dollari da SAS per portar...
SAS si apre all'IA di terzi: Viya integr...
Quantinuum si appresta a debuttare in Bo...
Censis: il 60% degli italiani evita i me...
Cloud sovrano: Microsoft potenzia Azure ...
Spionaggio industriale: l'edge è ...
Cosa cambia davvero su un'auto elettrica...
Agenti AI più costosi dei dipende...
GeForce RTX 5070 Laptop da 12 GB al debu...
Le aziende e i prodotti candidati all'EH...
Il materiale che cambia tutto: funziona ...
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: 20:43.


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