Android深度探索(卷1)HAL與驅動開發 第一章

來源:互聯網
上載者:User

標籤:

android系統架構套件括四層:

最上層是應用程式層(Application層)

第二層是應用程式框架層(Framework層)

第三層是系統運行庫層(Android Runtime 層,有人將二、三層統一到了一起)

最底層是Linux核心層(包括硬體驅動)。

Linux將儲存空間和外設分為3個基礎大類:

字元裝置。   塊裝置。     網路裝置。

(字元裝置指那些必須以串列順序依次進行訪問的裝置,如觸控螢幕、磁帶磁碟機、滑鼠等。塊裝置可以按任意順序進行訪問,以塊為單位進行操作,如硬碟、eMMC等。字元裝置和塊裝置的驅動設計有出很大的差異,但是對於使用者而言,它們都要使用檔案系統的操作介面open()、close()、read()、write()等進行訪問。)

裝置驅動的作用:

任何一個電腦系統的運轉都是系統中軟硬體共同努力的結果,沒有硬體的軟體是空中樓閣,而沒有軟體的硬體則只是一堆廢鐵。硬體是底層基礎,是所有軟體得以啟動並執行平台,代碼最終會落實為硬體上的組合邏輯與時序邏輯;軟體則實現了具體應用,它按照各種不同的業務需求而設計,並完成使用者的最終訴求。硬體較固定,軟體則很靈活,可以適應各種複雜多變的應用。因此,電腦系統的軟硬體相互成就了對方。

但是,軟硬體之間同樣存在著悖論,那就是軟體和硬體不應該互相滲透入對方的領地。為儘可能快速地完成設計,應用軟體工程師不想也不必關心硬體,而硬體工程師也難有足夠的閑暇和能力來顧及軟體。譬如,應用軟體工程師在調用通訊端發送和接收資料包的時候,不必關心網卡上的中斷、寄存器、儲存空間、I/O連接埠、片選以及其他任何硬體詞彙;在使用printf()函數輸出資訊的時候,他不用知道底層究竟是怎樣把相應的資訊輸出到螢幕或者串口。

Android深度探索(卷1)HAL與驅動開發 第一章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.