当前位置: 首页 > news >正文

Linux驱动程序

一 LInux驱动概念

字符设备驱动 程序简介 

 

第一个驱动程序 

字符设备驱 动程序注册函数 

1.unsigned int major:主设备号,这里就不得不提一下linux中的 设备号了。一个字符设备或者块设备都有一个主设备号和次 设备号。主设备号和次设备号统称为设备号。主设备号用来 表示一个特定的驱动程序。次设备号用来表示使用该驱动程 序的设备。简单来说,linux需要一个数来管理某个驱动程序 和使用这个驱动程序的设备。很明显,这个设备号具有唯一 性。我们可以使用cat /proc/devices命令即可查看当前系统中 所有已经使用了的主设备号。在接下来的程序中,我们可以 设置一个静态的主设备号,比如200。设置时一定要注意不能 使用已经用了的主设备号。 

2.const char *name:为你的驱动程序起一个名字

3. struct file_operations *fops:这是一个指向file_operations结构 体变量的指针,这个结构体里面的成员绝大多数都是函数的 指针。

struct file_operations *fops结构体

1.open 函数用于打开设备文件

release 函数用于释放(关闭)设备文件,与应用程序中的 close 函数对应

③ read 函数用于读取设备文件

write 函数用于向设备文件写入(发送)数据

poll 是个轮询函数,用于查询设备是否可以进行非阻塞的读写

owner 拥有该结构体的模块的指针,一般设置为 THIS_MODULE

 

 程序编译的方法

        第一种方法

 

        第二种方法 

 设备号的获取

 

自动添加设备结点 

 

混杂设备驱动 

Linux内核的中断 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章:

  • Rust 有问有答之 use 关键字
  • 《Python实战进阶》No.41: 使用 Streamlit 快速构建 ML 应用
  • python leetcode简单练习(2)
  • 如何免费阅读Medium文章?
  • mysql JSON_ARRAYAGG联合JSON_OBJECT使用
  • 第二章:NumPy进阶与数据处理
  • 机器学习基础概括
  • windows通用网线连接ubuntu实现ssh登录、桌面控制、文件共享【实操常见问题解决思路】
  • 本地Ollama+Spring AI alibaba智能客服(飞机票预定示例Demo)Mac版
  • Redis7——进阶篇(七)
  • datetime模块
  • ECharts 中轴的分类及常见使用场景
  • 【FreeRtos】随手记录想法和DeepSeek的交流
  • anaconda学习
  • vue 路由
  • 把doi直接插入word中,然后直接生成参考文献
  • 论文阅读:Dual Anchor Graph Fuzzy Clustering for Multiview Data
  • compareTo方法示例
  • git分支和标签
  • ①EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关
  • 网站开发饼图样式/营销策划方案怎么写
  • perl网站建设/搜索引擎优化是什么
  • 做搜索网站挣钱/网页seo搜索引擎优化
  • 个人备案网站百度收录/河北网站优化公司
  • 大朗做网站公司/三个关键词介绍自己
  • 大作设计网站是中国的吗/最近发生的热点新闻事件