標籤:
ndroid系統移植的主要工作
系統移植:讓android作業系統在某一個特定平台上運行,條件是 作業系統支援硬體平台的CPU架構、移植linux驅動、移植HAL(HAL位於第二層,android SDK通過HAL直接存取linux驅動),後兩個是android系統移植的主要工作。
應用移植:第四層的應用程式一直到一個特定平台上,由於硬體平台之間有差異,android SDK API有可能存在差異,需要對原始碼進行修改,並不涉及驅動和HAL程式庫。
說到 Android 驅動是離不開 Linux 驅動的。Android 核心採用的是 Linux2.6 核心 (最近Linux 3.3 已經包含了一些 Android 代碼)。但 Android 並沒有完全照搬 Linux 系統核心,除了對Linux 進行部分修正,還增加了不少內容。android 驅動 主要分兩種類型:Android 專用驅動 和 Android 使用的裝置驅動(linux)。
Android 專有驅動程式:
1)Android Ashmem 匿名共用記憶體; 為使用者空間程式提供分配記憶體的機制,為進程間提供大塊共用記憶體,同時為核心提供回收和管理這個記憶體。
2)Android Logger 輕量級的LOG(日誌) 驅動;
3)Android Binder 基於 OpenBinder 架構的一個驅動;
4)Android Power Management 電源管理模組;
5)Low Memory Killer 低記憶體管理器;
6)Android PMEM 實體記憶體驅動;
7)USB Gadget USB 驅動(基於 gaeget 架構);
8)Ram Console 用於調試寫入日誌資訊的裝置;
9)Time Device 定時控制裝置;
10)Android Alarm 硬體時鐘;
Android 上的裝置驅動:
1)Framebuff 顯示驅動;
2)Event 輸入裝置驅動;
3)ALSA 音頻驅動;
4)OSS 音頻驅動;
5)v412網路攝影機:視頻驅動;
6)MTD 驅動;
7)藍牙堆疊;
8)WLAN 裝置驅動;
第一章讀書筆記