日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

九、linux设备节点注册

發布時間:2025/4/5 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 九、linux设备节点注册 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

臨時占位,還沒弄好,后期再修改

一、雜項設備? ?

?????雜項設備可以說是對一部分字符設備的封裝,還有一部分不好歸類驅動也歸到雜項設備。
為什么會引入雜項設備?
????????? 第一、節省主設備號
????????– 如果所有的驅動都是用字符設備,那么所有的設備號很快就用完了,總共就255個主設備號。
????????? 第二、驅動寫起來相對簡單
????????– 如果直接使用封裝好的雜項設備,那么就可以減少一步注冊主設備號的過程。

????????雜項設備初始化部分源文件“drivers/char/ misc.c”,這一部分通過Makefile可知,是強制編譯的。而且是Linux官方(不是三星官方)出來的時候就帶的,為了一些簡單的驅動更容易實現。
????????這部分了解即可,里面的內容也比較簡單,就是給字符驅動做一個簡單的封裝。

二、雜項設備注冊文件

????????雜項設備注冊頭文件:?include/linux/miscdevice.h

????????結構體miscdevice以及注冊函數如下所示:

?????????? 常用的參數
????????????????– .minor設備號
????????????????– .name生成設備節點的名稱
????????????????– .fops指向一個設備節點文件

????????Linux中一切皆文件,上層調用底層也是通過讀取文件的方式,注冊設備節點,本質也是新建一個特殊的文件,包含文件名,打開、關閉、操作等函數
????????? 包含文件結構體的頭文件是“include/linux/fs.h ”
????????? 文件的結構體file_operations如下所示

?? 文件的結構體file_operations參數很多,根據需求選擇。
? 必選的是參數是
– .owner一般是THIS_MODULE,
– .open打開文件函數
– .release關閉文件函數
? 這里在必選之外使用參數(為了介紹接下來的GPIO的操作)
– .unlocked_ioctl對GPIO的操作,應用向底層驅動傳值

?驅動代碼,在probe_linux_module基礎上寫devicenode_linux_module驅

– 寫代碼的時候,注意一下函數調用順序
? 編譯,在開發板上加載驅動生成設備節點
– 在/dev中查看是否生成了設備節點

總結

以上是生活随笔為你收集整理的九、linux设备节点注册的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。