Android嵌入式開發初學者的幾個注意點


 

 

一:首先你必須了解ARM平台 Android 移植與驅動核心開發,當然也可以是X86和其他的平台,不過其他平台的Android智能終端開發並不是很多。

Android嵌入式智能操作系統是基於Linux內核和驅動的,對於HTC、華為等公司開發Android操作系統時,需要專門將Android移植到 特定硬件平台下,同時將必要的驅動進行編寫及開發。成為Android的核心層開發者,在這種嵌入式設備廠商中謀得核心開發人員。

1. Android系統的開發框架和開發模型

做Android嵌入式開發,這個是必須的基礎,你必須清楚Android開發的整個框架,知道一些必要的開發模型和程序模塊,這個有助於你快速的理解Android嵌入式開發

2. Android系統體系及移植相關工具

1.1Android操作系統體系結構介紹,Android Linux內核移植介紹,文件系統,toolbox等移植,存儲驅動移植。Bootloader相應方案與移植以及Android虛擬器Dalvik移植介紹。

1.2ARM處理器介紹。

ARMv5TJS。

ARM中斷處理。

ARM體系結構與ARM處理器的體系結構。

IP核、芯片與開發板。

ARM處理器結構處理器模式。

. 寄放器。

. 流水線結構。

C語言內嵌匯編款式與編程實例。

1.3ARM指令系統。

.算術邏輯指令 .指令對狀態寄放器的影響 .對比指令 .分支指令 .移位 .指令位圖 .辨認機器指令。

1.4內存造訪與內存把持。

.數據總線與地址總線的應用與實例。

.STR/LDR 。

1.5ARM歷程調用標准。

.LDM/STM。

.反匯編。

.APCS。

.C語言函數與匯編的互相調用。

【案例】應用Android Linux patch進行Linux內核的構建

3. AndroidLinux內核移植與核心開發

2.1ARM處理器的Android系統構建。

2.2輸入輸出設備驅動移植 。

2.3存儲設備nand flash,MMC/SD卡驅動移植。

2.4Framebuffer移植 。

2.5 Touchscreen移植 。

2.6 Open Binder IPC移植。

【案例】

2.7在ARM處理器上移植Android實驗 。

2.8編寫Nand flash驅動。

2.9移植Framebuffer驅動。

2.10硬件相關部分(鍵盤、觸摸屏、LCD等)。

4. Android相關環境庫、以及Bionic系統移植

3.1libc移植 。

3.2libm移植 。

3.3libdl移植。

3.4libm移植。

3.5 busybox, toolbox移植。

【案例】

1.移植glibc。

2.移植busybox和toolbox。

5. Android Dalvik移植一

4.1 JNI Call Bridge相關原理 。

4.2 dx, dalvitvm原理和應用。

4.3 Dalvik指令款式。

4.4 Dalvik履行款式dex 。

4.5 Java字節碼款式。

6. Android Dalvik移植二

5.1 Dalvik Library原理 。

5.2 dalvit libcore核心庫移植。

5.3 dalvit/vm/native移植。

5.4 Dalvik Interpreter原理 。

5.5 Dalvik Mterp。

7. ARMAT&T匯編

6.1AT&T匯編語法詳解 。

6.2gas工具的應用 。

6.3label標簽的作用。

6.4數據與代碼的散播。

8. 鏈接腳本ld-script

7.1 段地址的斷定。

7.2 編寫ld-script。

7.3 ELF款式與libc函數庫的關系。

9. 時序電路根基

8.1電平信號 。

8.2 電路圖分析。

8.3時序圖分析。

8.4datasheet查看 。

8.5s3c2440的外圍器件結構。

8.6GPIO操作。

10. AMBA總線標准

9.1 AMBA總線標准 。

9.2 FCLK/HCLK/PCKL頻率分配與設置。

9.3 Watchdog計時操作。

9.4 UART操作 。

9.5 ARM中斷體系。

9.6 異常向量表。

9.7 ARM模式切換。

9.8 ARM中斷把持器 。

9.9 軟中斷。

9.10 Linux系統調用的實現。

11. Nand Flash把持器

10.1 Flash原理。

10.2 Nand把持器原理及時序分板。

10.3k9f1208時序分析。

12. 內存把持器

11.1 s3c2440物理地址散播 。

11.2 SDRAM原理與時序。

11.3 內存把持器的物理連接。

11.4 地址對齊 。

11.5 SRAM造訪。

13. 內存管理單元

12.1 MMU的原理 。

12.2ARM協處理器指令。

12.3 section模式。

12.4 small page模式 。

12.5 I & D TLBs 。

12.6 I & DCache。

12.7 哈佛結構的原理與實現。

14. DMA 直接內存造訪的機制與應用

13.1 DMA的狀態機 。

13.2 DMA的把持。

15. 觸摸屏接口與ADC接口 與實例

14.1 ADC原理 。

14.1 觸摸屏接口與把持。

16. LCD把持器

15.1 圖形顯示原理。

15.2 LCD把持器。

15.3 LCD時序。

15.4 LCD驅動相關的框架與體系 。

17. I2S音頻總線

16.1音頻硬件原理。

16.2 I2S時序。

16.3 s3c2440上I2S的操作。

16.4音頻設備的裸驅動討論。

18. CS8900網卡把持

17.1 邏輯鏈路層與MAC層。

17.2 CS8900原理與時序分析。

17.3后續網卡裸驅動討論與體系結構。

19. TCP/IP協議棧移植,與網絡體系結構

18.1 LwIP TCP/IP協議棧簡介 。

18.2 LwIP配置與編譯。

18.3 tftp配置與編譯。

20. Bootloader原理與移植

19.1u-boot的配置、編譯 。

19.2u-boot啟動歷程分析。

19.3ARM-Linux的啟動請求。

19.4 ARM-Linux kernel的ld-sript分析 。

19.5 u-boot到ARM-Linux的跳轉代碼分析 。

19.6應用mkimage制作啟動鏡像文件。

21. ARM-Linux原理與移植

20.1ARM-Linux的配置、編譯 。

20.2ARM-Linux啟動代碼分析。

20.3ARM-Linux 地址映射的關系。

20.4 Busybox的配置、編譯 。

22.ARM等平台的調試測試技巧

會熟悉的使用一些測試腳本對自己的驅動進行測試,或者對嵌入式硬件作簡單的測試,這個對於做Android嵌入式開發的開發人員十分的有必要!

最后

漫漫開發之路,我們只是其中的一小部分……只有不斷的學習、進階,才是我們的出路!才跟得上時代的進步!

Android嵌入式開發初學者的幾個注意點

 

這些資料免費領取方式點擊下方鏈接領取

https://www.jianshu.com/u/ee81236d2d37


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM