2011-09-23 17 views
7

Farò parte dello sviluppo del driver di dispositivo per Android. In preparazione, voglio cogliere le basi e avanzare le mie capacità per questo.Sviluppo driver dispositivo Android - Punto di ingresso

Sono stato su VB e JAVA da 2 anni a questa parte, quindi non sono sicuro della programmazione in C. Il driver di dispositivo Linux è un nuovo mondo anche per me.

Attualmente, secondo i suggerimenti che ho trovato in diversi forum, la risorsa sottostante era un buon punto di partenza.

Q1: Posso sentire i vostri suggerimenti per questo.

  1. http://lwn.net/Kernel/LDD3/
  2. http://www.freesoftwaremagazine.com/articles/drivers_linux

Q2: Sai tutorial specifico per Android?

E inoltre, ecco i driver specifici di Android che dovrei imparare.

  1. USB
  2. Bluetooth
  3. Wifi
  4. Camera

Grazie per il vostro tempo!

+0

Questo è molto simile a: http://stackoverflow.com/questions/4953452/how-to-write- driver-per-Android. Ma ci sono più informazioni qui (e nessuna risposta valida in entrambi i casi.) –

risposta

5

Il primo libro che hai menzionato è molto buono (USB e rete sono descritti lì).

Altri libri vorrei suggerire sono: sorgenti del kernel /Documentation/kernel-docs.txt
(disponibile anche qui: https://www.kernel.org/doc/Documentation/kernel-docs.txt)

+0

Grazie, inoltre, trovo che il file sia utile. (Fonte del kernel/Documentazione/kernel- doc.txt) – quiel

5

ho dovuto eseguire il porting di Android kernel ed i piloti ad una piattaforma personalizzata. Il Kernel Android è fondamentalmente un Kernel Linux (2.6.x) con alcune modifiche. Il kernel e i driver sono scritti principalmente in C e dovrete entrarci. Se hai già esperienza in altre lingue, lo supererai anche tu. Ci sono tonnellate di libri su questo e tutorial sul WEB. Non dimenticare di sentirti a tuo agio con tutta quella roba da "puntatore". Questa è la cosa principale in C. Il linux Kernel se pieno di puntatore alle strutture dati e ancor più, puntatore a funzioni impacchettate in strutture dati.

Ecco come ho ottenuto le informazioni e le conoscenze di cui avevo bisogno. Per Linux Kernel, i libri di O'Reilly sono fantastici. Quello mi riferisco a tutto il tempo per i driver di periferica sono:
"Understanding The Linux Kernel"
"Linux Device Drivers"

Per quanto riguarda le risorse molto specifiche per la scrittura del kernel Android roba, ho cercato per questo per mesi e finisco sempre per usare le risorse di Linux e ho fatto il lavoro.

Buona fortuna, buon divertimento e non dimenticare è sempre bene per voi per ottenere nuove competenze

Problemi correlati