1. 程式人生 > 其它 >二、字元裝置驅動開發1

二、字元裝置驅動開發1

一、應用程式和驅動的互動原理

驅動就是獲取外設、或者感測器資料,控制外設,資料會提交給應用程式。Linux驅動編譯既要編寫一個驅動,還要編寫一個簡單的測試應用程式。

1、使用者空間和核心空間

Linux作業系統核心和驅動程式執行在核心空間;

應用程式執行在使用者空間

2、應用程式

1)應用程式訪問核心資源,通過:系統呼叫、異常(中斷)和陷入,三種方式;

2)每個系統呼叫都有一個系統呼叫號;

3)系統呼叫處於核心空間,應用程式無法直接訪問,因此需要“陷入”到核心,方法就是軟中斷。陷入核心以後還要指定系統呼叫號;

二、字元裝置驅動開發流程

1、Linux裡面一切皆檔案,驅動裝置表現就是一個/dev下的檔案。應用程式呼叫open函式開啟裝置。應用程式通過write函式向/dev/xxx寫資料。如果要關閉裝置那麼就是close函式。

2、編寫驅動的時候,也需要編寫驅動對應的open、close、write函式。字元裝置驅動file_operations結構體。