第九章 讀書筆記

來源:互聯網
上載者:User

標籤:

第九章 硬體抽象層 HAL

在傳統的Linux.系統中Linux驅動一般有兩種類型的代碼:訪問硬體寄存器的代碼和商務邏輯有碼。對於訪問硬體寄存器的代碼,並沒有什麼秘密可言,因為這都是調用的 Linux 核心的標準函數進行的標準操作4 而Linux驅動的商務邏輯部分對擊有些企業或個人並不想將原始碼公開。儘管這些Lipux.驅動都是免費給使用者使用的,由於這些Linux 驅動的實現涉及一些,技術專利或商業秘窯,如果公開原始碼會有很大麻煩。但作為Linux.驅動,又不得不公開原始碼。這 是由於Linux 核心採用了 GPL協議,而GPL協議要求所有使用基於GPL協議的原始碼的程式必須開源(由於 Linux 驅動屬於 Linux 核心的一部分,因此Linux 驅動必須開源)。

編寫一款支援 HAL 的 Linux 驅動程式步驟。

第 1 步:編寫 Linux 驅動 “編寫 Linux 驅動”,從表明上看是廢話,但如果要為 Linux 驅動添加 HAL,而且想盡量保護敏 感資料。 Linux 驅動的代碼就要盡量簡潔,儘可能將商務邏輯放到 HALLibrary 中。

第 2 步:編寫 HAL Library HAL Library。但這類庫檔案有一個介面。通過 HAL _MODULE_INFO _ SYM 變數實現。 Service Library 就是通過在這個介面中定義的 ID 定位 HAL Library 的。

第 3 步:編寫 Service Library 。儘管這步並不是必需的,但新的 HAL 架構要求我們這樣做。 Service Library 也是 Linux Library。 這一步比較靈活。 Service Library 可以是一般的 Linux Library,也可以是別I Library。

 

http://www.cnblogs.com/yangsasa/

 

第九章 讀書筆記

聯繫我們

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