第一章 android系統移植與驅動開發概述linux
Android的系統架構分爲四層:android
第 1 層: Linux 內核;網絡
第 2 層:·CIC+刊電碼庫;架構
第 3 層:Android SDK API學習
第 4 層:應用程序blog
系統移植主要工做ci
Andrpid移植可分爲兩部分:.應用移植和系統移植。開發
除了 cinux 驅動須要移植外,在 Android 系統中還增長了一個硬件而象層。若是爲 Android 增長了新的驅動或修改原來的驅動代碼, HAL 中的代碼就要作相應的調整。所以, Android 移植的主要工做以下 :
移植 linux驅動博客
移植 HALio
查看linux內核版本
方法一:在終端執行 uname –a命令
方法二:。在終端執行 cat /proc/version命令
內核版本號的定義規則
內核版本號的定義規則由下面幾部分組成
主版本號
次版本號;
修訂版本號;
微調版本號 ;
爲特定的 Linux 系統特別調校的描述。
設備的分類
字符設備;
塊設備;
網絡設備;
Linux 驅動只與 Linux 內核有關,與用戶使用的 Linux 系統無關。也就是說,無論是哪一個 Linux 系統,只要使用了一樣的Linux內核,驅動就能夠通用。惟一能夠判斷 Linux 內核是否相同的方法就是 Linux內核版本號。只有組成內核版本號的五部分徹底相同,才能說明兩個 Linux 系統的內核是相同的。從這一點能夠看出,學習 Android 驅動開發,實際上就是 學習 Linux 驅動開發,只是 Android 增長了一個 HAL,這是Android 特有的。通常的 Android 驅動 都會有對應的 HAL,不過 HAL 也不是必需的,經過 NDK 也能夠直接訪問 Linux 驅動。
個人博客地址http://www.cnblogs.com/qianzhanluojin/