Linux 內核:設備驅動模型 學習總結


背景

其實之前就轉載過別人針對Linux的設備驅動模型(Linux Device Driver Model,LDDM)的文章,但是受限於自身的能力,因此花了點時間重新學習了一下。

前人寫的文章很好,我很受用。因此,我也嘗試通過我自己的方式來整理了一下。

基於 Linux 內核 v3.14。

目錄

標題 說明
1、sysfs與kobject基類 介紹了搭建設備驅動模型的基石,kobject這個基類與sysfs的關系。
2、driver-bus-device與probe 介紹設備--總線--驅動框架,以及probe流程。
3、class與device 介紹設備類如何組織在sysfs中的device
4、uevent與熱插拔 介紹probe時發送uevent到用戶空間,以及用戶空間是如何處理的
5、平台設備驅動 介紹platform設備框架,以加深對設備--總線--驅動框架
6、設備資源管理 介紹內核如何解決設備驅動中的資源管理問題
附錄:Linux 內核:sysfs 有關的API sysfs api

首先對sysfs的核心數據kobject,kset等數據結構做出了分析,正是通過它們才能向用戶空間呈現出設備驅動模型。

接着,以/sys/bus目錄的建立為例,來說明如何通過kobject和kset來建立該bus目錄。隨后,介紹了驅動模型中表示總線,設備和驅動的三個數據結構。

然后,補充了uevent的一些知識。

最后介紹了platform總線(bus/platform)的注冊,再介紹了虛擬的platform設備(devices/platform)的添加過程。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM