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