如何在Linux使用者態開發驅動
如何在 Linux 使用者態開發驅動
使用者態的驅動應用場景主要是以下幾種,如果有其他的,希望各位朋友拍磚
1 、功能基本集中在晶片,驅動主要做控制晶片用途的
2 、加速器,功能獨立,無需核心排程的
使用者態驅動最大的好處就是程式碼靈活,可以自己定自己的程式碼架構。不好的地方也就是核心無法識別裝置,還有中斷處理需要用到核心部分無法全部。
安信接Windows驅動開發外包
常用的使用者態的驅動開發
1 、開啟 devmem 後,使用 MMAP 對映出晶片實體地址對應的虛擬地址,在使用者態訪問虛擬地址加偏移就能訪問到晶片的暫存器;
2 、採用 UIO 方式,在核心態對映地址後,在使用者態透過開啟 devuioxxx 方式,再使用 MMAP 對映一次,就可採用跟方式 1 相同的方式訪問晶片 reg 或是 memory
這兩種方式各有優缺點
方式 1 :優點是實現簡單,如果不需要用到中斷,可以不用管核心態的內容,關注使用者態程式碼就好。缺點是程式碼執行的程式要有 root 許可權,不然無法訪問 devmem ,如果要使用中斷還是會涉及到核心態的驅動;
方式 2 :優點是無需要 root 許可權,中斷可以直接在使用者態獲取。缺點是必須要在核心態做初始化;
筆者這裡主要總結了平時工作中常用的使用者態 Linux 驅動開發方法,可能還有些更方便的方法目前還未用到,也請多多交流指教。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946382/viewspace-2780873/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何在 Linux 中配置使用 SSD (固態驅動器)Linux
- 【linux】驅動-12-併發與競態Linux
- 探索AI驅動Web開發動態UIAIWebUI
- 使用者行為驅動開發(UserAction Driven Development)dev
- 驅動開發:配置Visual Studio驅動開發環境開發環境
- Linux驅動開發筆記(一):helloworld驅動原始碼編寫、makefile編寫以及驅動編譯Linux筆記原始碼編譯
- Linux驅動開發筆記(四):裝置驅動介紹、熟悉雜項裝置驅動和ubuntu開發雜項裝置DemoLinux筆記Ubuntu
- linux驅動之LED驅動Linux
- Linux裝置驅動開發詳解:基於Linux4.0核心Linux
- 驅動開發:探索DRIVER_OBJECT驅動物件Object物件
- ArmSoM系列板卡 嵌入式Linux驅動開發實戰指南 之 字元裝置驅動Linux字元
- Linux驅動開發: Ubuntu(PC機)系統上編譯驅動並載入測試LinuxUbuntu編譯
- 驅動開發入門
- 【Spring註解驅動開發】聊聊Spring註解驅動開發那些事兒!Spring
- window驅動開發總結
- 驅動開發書籍大全
- 驅動程式開發步驟
- 如何在 Linux 桌面新增使用者Linux
- Linux驅動開發筆記(三):基於ubuntu的驅動、makefile編寫以及編譯載入流程Linux筆記Ubuntu編譯
- Linux 驅動之IoctlLinux
- 學Linux驅動: 應該先了解驅動模型Linux模型
- linux核心匯流排驅動模型-驅動篇Linux模型
- 【linux】驅動-7-平臺裝置驅動Linux
- 領域模型驅動開發(1)模型
- RK3399 camera驅動開發
- 談“測試驅動的開發”
- 驅動開發常見縮寫
- 基於WDF的驅動開發
- 驅動篇——開發環境配置開發環境
- 教你如何在Linux 桌面新增使用者Linux
- NVIDIA開始開源其Linux核心圖形驅動程式Linux
- 【linux】驅動-6-匯流排-裝置-驅動Linux
- 前端開發-領域驅動設計前端
- 用列舉來驅動 TableView 開發View
- TDD(測試驅動開發)死了嗎?
- 什麼是測試驅動開發
- 關於召回《Linux裝置驅動開發詳解-基於最新的Linux 4.0核心》的通知Linux
- 『狀態』驅動的世界:ReactiveCocoaReact