Android系統移植與驅動開發概述

來源:互聯網
上載者:User

標籤:

 

1.1android系統架構

第一層 linux核心:驅動程式以及管理記憶體、進程、電源等資源的程式

第二層 c/c++程式碼程式庫 linux的.so檔案以及嵌入到APK程式中的NDK代碼

第三層 android SDK API直接面嚮應用程式的JAVA APK

第四層 應用程式

1.2Android系統移植的主要工作

系統移植:讓android作業系統在某一個特定平台上運行,條件是 作業系統支援硬體平台的CPU架構、移植linux驅動、移植HAL(HAL位於第二層,android SDK通過HAL直接存取linux驅動),後兩個是android系統移植的主要工作。

應用移植:第四層的應用程式一直到一個特定平台上,由於硬體平台之間有差異,android SDK API有可能存在差異,需要對原始碼進行修改,並不涉及驅動和HAL程式庫

1.3查看核心版本

方法1:在linux終端執行:uname -a

方法2:在終端執行:cat /proc/version

1.4linux核心版本命名規則

1.5如何學習linux驅動

一個用於開發與測試linux驅動的linux作業系統

一塊開發板 測試驅動程式是否能在支援android的開發板上正確運行

學習GUN C GUN C是對標準c的擴充

相關硬體知識並不斷實踐

1.6 linux裝置驅動

將同一類型但不同型號的裝置抽象成統一介面,這個介面就是驅動,驅動直接和硬體互動。

字元裝置,塊裝置,網路裝置

Linux都有一個裝載函數(裝載驅動時調用)mobule_init和一個卸載函數(卸載驅動時調用)mobule_exit

Linux驅動只與linux核心有關,與linux系統無關。只有核心版本號碼可以判斷linux核心是否相同。學習android驅動開發本質上就是學習linux驅動開發,android比linux增加了一個HAL,不過HAL也不是必須的,通過NDK也可以直接存取linux驅動。

Android系統移植與驅動開發概述

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.