2009-10-21 11 views
14

Sto lavorando a un sistema su cui sono attualmente in esecuzione kernel Linux e sistema di finestre di microindicazioni. Il codice dei driver di sistema linux correnti è disponibile per me. Voglio portarlo su Android, proprio come un progetto per hobby.Quali conoscenze/competenze sono richieste per trasferire Android su un dispositivo personalizzato?

puoi dirmi per favore che cosa è necessaria tutta la comprensione di linux-kernel per portarlo?

Per favore dammi riferimenti (Libri, Tutorials) per costruire intese.

Grazie, soleggiato.

P.S. Ho una conoscenza di base di Linux.

Configurazione del dispositivo è

 
450 Mhz ARM9, 
64 MB RAM, 
256 MB NAND 
480x272 resolution. 
+0

Parte del motivo potrebbe essere che si posato la tua domanda il Venerdì negli Stati Uniti. Anche la tua domanda confina con quella soggettiva. Non che sia una domanda sbagliata, semplicemente spiegando alcune possibili ragioni. –

+0

Il commento sopra riportato spiega perché questa domanda non riceve risposta per 2 giorni. – SunnyShah

risposta

6

Per avviare il porting di Android, è richiesta una conoscenza di base delle modifiche ai kernel Linux. Inoltre, dovrai capire quali driver oltre a Linux sono richiesti. linuxfordevices descrive cosa è stato modificato nel kernel Linux per il gusto di Android. Forniscono anche collegamenti utili come un diff delle modifiche che hanno apportato ....

Su architettura Android, ho trovato la presentazione di YouTube Architettura Android] 1 utile.

Mi aspetto alcuni problemi nella risoluzione del display. Le applicazioni Android prevedono una serie di risoluzioni standard. Come primo passo, suggerisco di limitare la visualizzazione alla dimensione successiva più piccola e quindi di migliorarla una volta che è attiva e funzionante.

Dal momento che ho esaminato Adroid per l'utilizzo in e-reader, sono molto interessato al porting me stesso. Per questo motivo, mi sono registrato per un (web based) training su hardware Android (porting). Ho cercato libri ecc.sull'argomento, ma i libri che ho trovato erano molto più sull'uso di Android e sulla scrittura di applicazioni.

+0

Grazie Adarian, il punto di formazione basato sul Web è utile. – SunnyShah

+0

Grazie! Lo apprezzo davvero. – Adriaan

9

Dal momento che si dispone già di Linux installato e funzionante sul vostro bordo molto probabilmente non sarà necessario avere una profonda comprensione del kernel. Dovrà essere modificato, tuttavia, per includere le seguenti funzionalità specifiche di Android aggiuntive. Questo può essere facile come applicare alcune patch ma potrebbe essere più coinvolto.

  • memoria insufficiente Killer
  • Android Logger
  • Android memoria condivisa Subsystem (Ashmem)
  • Android Power Management (Wakelocks)
  • Binder IPC

nello spazio utente, utilizza Android il proprio software di visualizzazione chiamato Surface Manager, quindi non si utilizzerà Nano-X Window System (precedentemente noto come Microwindows).

Per una panoramica di ciò che sarà probabilmente coinvolto in una porta, darei una lettura a Android Porting Guide.

siti Web su porting Android ad altri dispositivi basati su ARM che possono includere suggerimenti utili:

  1. Beagleboard (Cortex)
  2. Zoom OMAP (Cortex)
  3. Nokia Internet Tablet (ARM9E)
  4. Neo 1973 (ARM9TDMI)
  5. Intel Bulverde Evaluation Board (XScale)
  6. Sharp Zaurus SL-C760 (XScale)

gruppi online che possono B e in grado di aiutare:

+0

Hi tkryger, so che parte del driver devo scrivere per la mia scheda nel dispositivo. Quanto kernel Linux è stato modificato da Android? Qual è l'architettura di Android? C'è qualche guida passo passo o tutorial per questo? Il che mi dice semplicemente dove devo scrivere la risoluzione dello schermo predefinita, Cache Prefrences. – SunnyShah

+0

Normalmente su schede di sviluppo otteniamo BSP, Android ha qualcosa di simile a BSP? Quali documenti hanno letto gli sviluppatori di Beagle Board prima di eseguire il porting su Android? – SunnyShah

+1

Non sono sicuro di quante modifiche al kernel siano necessarie per supportare Android. Probabilmente non molti. Penso che la maggior parte delle funzionalità di Android siano in userland. Una buona descrizione con una foto dell'architettura è disponibile su http://developer.android.com/guide/basics/what-is-android.html o se ti piacciono i video più vai su http://www.youtube.com/watch? v = Mm6Ju0xhUW8 –

Problemi correlati