Android深度探索与驱动开发(一)
Android移植可分為兩個部分:應(yīng)用移植和系統(tǒng)移植。應(yīng)用移植是指將應(yīng)用程序移植到某一特定硬件平臺上。由于不同硬件平臺之間的差異,Android?SDK?API也有可能存在差異,或者將應(yīng)用程序從低版本Android移植到高版本的Android上。為了保證應(yīng)用程序可以在新的硬件平臺上正常運(yùn)行,需要對源碼進(jìn)行一些修改。當(dāng)然,如果沒有或無法獲取源碼,只有重新在新的平臺上實現(xiàn)了。一般Android應(yīng)用移植并不涉及驅(qū)動和HAL程序庫的移植。
???Android系統(tǒng)移植是指讓Android操作系統(tǒng)在某一特定硬件平臺上運(yùn)行。使一個操作系統(tǒng)在特定硬件平臺上運(yùn)行的一個首要條件就是該操作系統(tǒng)支持硬件平臺的CPU架構(gòu)。Linux內(nèi)核本身已經(jīng)支持很多常用的CPU架構(gòu),因此將Android在不同的CPU框架之間移植并不用做過多的改動。想要Android在不同硬件平臺上正常運(yùn)行,只支持CPU架構(gòu)還不行,必須要讓Android可以識別平臺上的各種硬件。這些工作主要也是由Linux內(nèi)核完成的。其中主角就是Linux驅(qū)動。
???學(xué)習(xí)Linux驅(qū)動編程一定要了解Linux驅(qū)動只與Linux內(nèi)核有關(guān),與用戶使用的Linux系統(tǒng)無關(guān)。也就是說,不管哪個Linux系統(tǒng),只要使用了同樣的Linux內(nèi)核,驅(qū)動就可以通用。唯一可以判斷Linux內(nèi)核是否相同的方法就是Linux內(nèi)核版本號。其實,學(xué)習(xí)Android驅(qū)動開發(fā),實際上就是學(xué)習(xí)Linux驅(qū)動開發(fā),只是Android增加了一個HAL,這是Android特有的。一般Android都會有對應(yīng)的HAL,不過HAL也不是必須的,通過NDK也可以直接訪問Linux驅(qū)動。
轉(zhuǎn)載于:https://www.cnblogs.com/li-xiaobin/p/5427880.html
總結(jié)
以上是生活随笔為你收集整理的Android深度探索与驱动开发(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求复仇者联盟4终局之战的1080p资源
- 下一篇: 吸氧多少钱啊?