2013-05-24 14 views
10

Sono a conoscenza di I2C in un livello molto semplice che si basa nel kernel di Linux, ma non ho idea di implementare un driver I2C di base.I2C Driver in Linux

Cercando di spostamento per un inizio in I2C driver di periferica . potresti suggerire qualche tutorial per principianti con mappatura del codice sorgente !!

risposta

22

linux-source/Documentation/i2c/ha molte delle informazioni necessarie. .../writing-clients.txt è un buon punto di partenza.

Dai un'occhiata alla versione online:

https://www.kernel.org/doc/Documentation/i2c/writing-clients

C'è una sorta bene di un tutorial a:

http://renjucnair.blogspot.ca/2012/01/writing-i2c-client-driver.html

Qui è un buon commento su qualcuno di scrivere un I2C driver e ha un tutorial:

http://www.embedded-bits.co.uk/2009/i2c-in-the-2632-linux-kernel/

Ecco alcuni esempi di codice:

http://code.google.com/p/ldd-templates/source/browse/drivers/i2c/sample-i2c-client.c

+0

Grazie Ahmed !! Mi piacciono i tuoi post. Sento, posso vedere il mio codice funzionare dal 2 ° link che hai fornito. Link impressionanti .. svalutato !! – San

+1

sicuro .. Qui l'ho accettato !! – San

+0

[Questo] (https://www.kernel.org/doc/Documentation/i2c/writing-clients) è un po 'confuso, normalmente in un microcontrollore si inizializzeranno i registri, la frequenza di clock, la modalità di funzionamento, corrispondente pins, ecc., chi fa tutto questo in questo caso? –

4

conducente I2C è implementato come un driver in Linux piattaforma di kernel.So prima è necessario capire il modello di Linux per i dispositivi di piattaforma.

prega di passare attraverso di seguito la documentazione sotto kernel Linux per i dispositivi di piattaforma: https://www.kernel.org/doc/Documentation/driver-model/platform.txt

È inoltre necessario comprendere la struttura del bus sotto linux kernel.Please fare riferimento al link qui sotto: http://www.mjmwired.net/kernel/Documentation/driver-model/bus.txt

ora è possibile google per i driver I2C e ulteriori studi.

-2

Dai un'occhiata ai moduli smbus disponibili per molti linguaggi di programmazione ... quindi scrivi il driver per il tuo dispositivo i2c attorno a quello.

Problemi correlati