日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

1Android系统移植与驱动开发概述

發(fā)布時間:2023/12/9 Android 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1Android系统移植与驱动开发概述 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、Android系統(tǒng)架構(gòu)分為四層,從下至上依次為Linux內(nèi)核層,C/C++代碼庫、Android SDK API、應(yīng)用程序,要熟悉每一層的內(nèi)容以及功能;

2、Android移植分為應(yīng)用移植和系統(tǒng)移植,系統(tǒng)移植的主要工作是移植Linux驅(qū)動和移植HAL,Android移植的基本原則是盡可能找到驅(qū)動和HAL的源代碼,在源代碼的基礎(chǔ)上修改要容易得多,如果實在找不到源代碼,只能從頭開始編寫。Android移植很大程度上是Linux內(nèi)核移植,Linux內(nèi)核移植主要是移植驅(qū)動程序,不同Linux版本的驅(qū)動程序不能通用,需要修改源代碼,并且要在新的Linux內(nèi)核下重新編譯才可以運(yùn)行在新的Linux內(nèi)核版本下;

3、驅(qū)動開發(fā)與內(nèi)核版本的依賴程度很高,所以做驅(qū)動開發(fā)之前,要明確Linux內(nèi)核版本,目前Linux內(nèi)核主要維護(hù)的三個版本是:Linux2.4、Linux2.6和Linux3.x;查看Linux系統(tǒng)內(nèi)核版本的方法有2種:使用命令【uname -a】或者【cat /proc/version】;需要注意的是,/proc不是普通的文件系統(tǒng),而是系統(tǒng)內(nèi)核的映象,該目錄中的文件是存放在系統(tǒng)內(nèi)核之中的,它以文件系統(tǒng)的方式為訪問系統(tǒng)內(nèi)核數(shù)據(jù)的操作提供接口;

4、Linux內(nèi)核版本好的組成:主版本號、次版本號、修訂版本號、微調(diào)版本號、為特定的Linux系統(tǒng)特別調(diào)校的描述;

5、要想學(xué)習(xí)好Linux驅(qū)動開發(fā),要做到以下幾點:

(1)?? 準(zhǔn)備一個自己熟悉的Linux操作系統(tǒng),用于開發(fā)和測試Linux驅(qū)動;

(2)?? 準(zhǔn)備一塊開發(fā)板;

(3)?? 學(xué)習(xí)GUN C;

(4)?? 學(xué)習(xí)相關(guān)硬件知識;

(5)?? 不斷地實踐;

6、Linux設(shè)備驅(qū)動的作用:對硬件進(jìn)行抽象,降低應(yīng)用程序與硬件的耦合度;

7、Linux設(shè)備分為:

(1)?? 字符設(shè)備:必須以串行順序依次進(jìn)行訪問的設(shè)備;

(2)?? 塊設(shè)備:可以以任意順序進(jìn)行訪問,以塊為單位進(jìn)行操作;

(3)?? 網(wǎng)絡(luò)設(shè)備

8、任何的Linux驅(qū)動都有一個裝載函數(shù)(裝載驅(qū)動時調(diào)用)和一個卸載函數(shù)(卸載驅(qū)動時調(diào)用),裝載函數(shù)和卸載函數(shù)分別通過module_init和module_exit宏指定;

9、Linux驅(qū)動只與Linux內(nèi)核有關(guān),與Linux系統(tǒng)無關(guān),只要使用相同的內(nèi)核,驅(qū)動就可以通用;判斷內(nèi)核是否相同的方法就是Linux內(nèi)核版本號,只有組成內(nèi)核版本號的五部分完全相同,才能說明兩個Linux系統(tǒng)的內(nèi)核是相同的;

10、??????????? Android驅(qū)動與Linux驅(qū)動的區(qū)別就是Android增加了HAL,一般的Android驅(qū)動都會有對應(yīng)的HAL,但也不是必須的,通過NDK可以直接訪問Linux驅(qū)動,但Google建議最好為Linux驅(qū)動編寫對應(yīng)的HAL程序庫;

轉(zhuǎn)載于:https://www.cnblogs.com/mch0dm1n/p/5443202.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的1Android系统移植与驱动开发概述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。