Linux 驅動程式觀念解析, #7: 觀念大追擊

jollen 發表於 May 4, 2006 10:27 AM

您是否能看圖說明範例的觀念。

作者/陳俊宏
www.jollen.org

TIP

fops所指的driver function其實是被Linux kernel所「回呼」(callback)。

Linux驅動程式將fops「註冊」至kernel裡後,並不是被user application直接呼叫,而是透過system call interface,因此fops所指的函數應是被kernel回呼。

Callback的機制有一個好處是,當函數被呼叫時,表示此時系統符合該函數被回呼的條件。因此,driver function可以預期自己是在符合一些條件的環境下執行。Callback機制另一個特點是,Linux kernel會傳遞「適當」的參數給driver function,driver function可以直接使用所接收的參數資料。

這張圖是範例 (debug card 0.1.1) 的執行圖 (Execute Flow/Path),如果您能根據範例程式清楚地說明此圖,表示您已經掌握最主要的 Linux 驅動程式觀念了!

讀者留言 (3)

  • VICK 於 October 21, 2011 16:47:

    您好,我是學生。
    從您的blog上獲益良多,不知道是否能寄圖片給我,讓我學得更透徹呢?感謝!
    e-mail:cvcv62075@gmail.com


  • 匿名 於 February 1, 2012 18:45:

    我是鄉民, 這頁的圖show 不出來...
    Cross couldn't find this file:./WebSites/EmbeddedLinux/publish/LDD/07a.jpg

  • coming 於 April 25, 2013 12:20:

    真的很感謝你
    從你的blog上我獲得很多驅動的概念
    但有些圖片無法顯示
    是否可寄給我,讓我可以學的更清楚
    感謝你
    k761228eric@gmail.com

留言功能維護中。將於近日重新開放。

連絡作者

Jollen Chen,Moko365(仕橙3G教室)講師,熱愛研究 Linux 與 Android 技術。曾為 Motorola、HTC、Foxconn、LG、OPPO、騰迅、廣達電腦、緯創、仁寶等超過 50 家企業講授課程。目前在 MokoVersity 擔任軟體工程師,撰寫 Node.js 程式,也在幾家科技廠兼任 Android Framework 研發顧問。您可透過電子郵件 <jollen (at) jollen (dot) org> 或這裡與我連絡。