如何在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
- linux驅動開發總結(一)Linux
- linux usb 驅動開發 抓包工具Linux
- 第一個linux驅動開發包Linux
- 使用者行為驅動開發(UserAction Driven Development)dev
- 抱怨驅動開發
- 驅動開發:配置Visual Studio驅動開發環境開發環境
- Linux下的硬體驅動——USB裝置(下)(驅動開發部分)(轉)Linux
- 驅動開發:探索DRIVER_OBJECT驅動物件Object物件
- Linux驅動開發入門與實踐(一)Linux
- Linux驅動開發筆記(一):helloworld驅動原始碼編寫、makefile編寫以及驅動編譯Linux筆記原始碼編譯
- Linux驅動開發筆記(四):裝置驅動介紹、熟悉雜項裝置驅動和ubuntu開發雜項裝置DemoLinux筆記Ubuntu
- 【敏捷開發】驅動測試開發敏捷
- 驅動開發入門
- 白痴驅動開發方法
- "測試"驅動開發
- 《Linux裝置驅動開發詳解(第2版)》——第1章Linux裝置驅動概述及開發環境構建1.1裝置驅動的作用Linux開發環境
- 使用者故事驅動的敏捷開發 – 1. 規劃篇敏捷
- 使用者故事驅動的敏捷開發 – 2. 建立backlog敏捷
- linux驅動之LED驅動Linux
- 驅動開發書籍大全
- 驅動程式開發步驟
- Windows的驅動開發模型Windows模型
- 行為驅動開發iOSiOS
- Windows驅動開發入門Windows
- window驅動開發總結
- Linux驅動開發: Ubuntu(PC機)系統上編譯驅動並載入測試LinuxUbuntu編譯
- ArmSoM系列板卡 嵌入式Linux驅動開發實戰指南 之 字元裝置驅動Linux字元
- UDAD 使用者故事驅動的敏捷開發 – 演講實錄敏捷
- 【Spring註解驅動開發】聊聊Spring註解驅動開發那些事兒!Spring
- 談“測試驅動的開發”
- 基於WDF的驅動開發
- 驅動篇——開發環境配置開發環境
- 領域模型驅動開發(1)模型
- 小議測試驅動開發
- Linux SD卡驅動開發(一) —— SD 相關基礎概念LinuxSD卡
- 開發Linux系統裝置驅動程式並不難(轉)Linux