驱动实战基础
来源:互联网 发布:ubuntu 安装教程 编辑:程序博客网 时间:2024/06/08 02:47
驱动学习实战一:
编写简单的驱动:
利用:lsmod rmmod insmode这个三个常见命令
驱动学习实战二:
register_chrdev详解(#include <linux/fs.h>) 老接口的函数
static inline int register_chrdev(unsigned int major, const char *name,const struct file_operations *fops)
参数: 1.major主设备号
参数的来源: 1.是0 那么系统会自动给你指定一个主设备号 2.自己利用lsmod的方式来,找一个没人用的主设备号
参数2: 名字 总结: 主次设备号 +name = 人 +名字
参数3: struct file_operations *fops这个是应用和驱动的接口 也就是核心
主要的作用是内核驱动人员向内核提供的接口。
写文件之前先看。
lsmod 查看当前注册的驱动
cat /proc/devices 虚拟文件系统
驱动学习是实战三:
register_chrdev内部将我们要注册的驱动的信息,存储在对应的位置
cat /proc/deviecs 查看内核中已经注册过的字符设备驱动(块设备驱动)
/proc文件系统是内核 利用数据结构虚拟出来的文件系统
驱动学习实战:学驱动的思维
1.在自己的思想中建立整体的框架
2.整体是一个什么样子的 ,谁调用谁,谁被谁调用 谁的作用是什么
3.在内核中找到相应的内核源代码,自己进行修改
4.你写的每一句代码心里必须清楚明白,不能似懂非懂
5.自己写的代码首先会先猜测,到底是那种可能,然后实验来验证这种可能
6.驱动人员的主要工作量:file_operations及其元素填充,注册驱动
- 驱动实战基础
- Windbg 调试驱动 实战
- 驱动基础
- 驱动基础
- 驱动基础
- 块设备驱动实战基础篇一 (170行代码构建一个逻辑块设备驱动)
- 块设备驱动实战基础篇二 (继续完善170行过滤驱动代码至200行)
- 块设备驱动实战基础篇一 (170行代码构建一个逻辑块设备驱动)
- 块设备驱动实战基础篇二 (继续完善170行过滤驱动代码至200行)
- 块设备驱动实战基础篇三 (BIO请求回调机制)
- 块设备驱动实战基础篇四 (逐渐成型,加入ioctl通信机制)
- 块设备驱动实战进阶篇一 (调试基础一:串口,kdump,panic分析)
- 块设备驱动实战进阶篇二 (调试基础二:ftrace)
- 块设备驱动实战基础篇三 (BIO请求回调机制)
- 块设备驱动实战基础篇四 (逐渐成型,加入ioctl通信机制)
- 实战windbg调试驱动例子
- 实战windbg调试驱动例子
- 测试驱动JavaScript开发实战
- pulltorefresh+banner+自定义Listview的使用
- 使用fiddler代理抓取手机数据包
- python攻关之变量简介
- 普华永道:拥抱人工智能和物联网,开启变革新时代(附下载)
- 斯坦福大学:人工智能技术发展现状报告解读
- 驱动实战基础
- 分布式数据库TiDB架构及资源调度隔离简介
- Java集合框架
- Java互联网架构-高并发分布式消息中间件技术ActiveMQ事务
- 英伟达公布最新AI神技:可修改天气昼夜和动物斑纹
- git常用操作
- VS 调试断点命中
- 当你不知道为什么这段代码就能运行,还要加注释的时候……
- 17个新手常见Python运行时错误