Android 深度探索(卷1)HAL 與驅動開發java
第一章Android 系統移植與驅動開發概述linux
心得體會網絡
本章第一節介紹Android 系統架構,一共分爲四層,從下到上依次爲:架構
1.第一層:linux內核,主要包括驅動程序以及管理內存、進程、電源等資源的程序。工具
2.第二層:C/C++代碼庫,主要包括Linux的.so文件以及嵌入到APK程序中的NDK代碼。學習
3.第三層:Android SDK API,直接面嚮應用程序的JAVA APKblog
4.第四層:應用程序,直接面向最終用戶的JAVA應用程序(APK程序)進程
其中重點講解第一層 Linux 內核。這一層主要包括Linux的驅動程序以及內存管理、進程管理、電源管理等程序。內存
對於第二節主要是Android移植工做,主要包括移植Linux 驅動和移植HAL(硬件抽象層)資源
這裏着重對HAL瞭解一下:通常的Android驅動都有對應的HAL,不過HAL也不是必須的,經過NDK也能夠直接訪問LINUX驅動。
NDK(Native Development Kit):是一系列工具的集合,提供了一系列的工具,幫助開發者快速開發C(或C++)的動態庫,並能自動將so和java應用一塊兒打包成apk。
接下來的內容主要是設備的分類以及特色。驅動針對的是存儲器和外設(包括CPU內部集成的存儲器和外設),而不是針對CPU核。
Linux將存儲器和外設分爲三類,分別爲字符設備(Character devices),塊設備(Block devices),網絡設備(Network devices)。
最後介紹了下Linux驅動:LED ,只是簡單介紹。
本章主要是對Android和Linux驅動作一個簡單的介紹,是的咱們隊Linux驅動有一個感性認識,併爲更好地學習Linux驅動的方法和技巧打下基礎。
http://www.cnblogs.com/xl9313/