驱动开发------>第六天,总线设备,块设备驱动,网络设备驱动

总线设备


内核将总线控制器与总线协议的实现分离,驱动开发人员只需要实现硬件控制的部分,总线协议由总线的核心驱动实现


主控制器硬件驱动实现消息的收发,消息格式由上层的核心驱动实现


BIO(struct bio)由多个BVEC组成,每个BVEC(struct bio_vec)描述数据所在内存页面,在页面中的偏移,数据的长度,数据所在的扇区

引脚功能可以使用pinctrl节点定义,pinctrl节点一般由内核事先定义好,只需要修改设备树节点,增加对应的引脚
驱动I2C从设备方法:
1. 通过I2C从设备内核态驱动
   优点:实时性好
2. 通过I2C主设备提供的字符设备接口实现用户态驱动(应用程序)
   优点:不会调用内核的GPL接口,不存在开源风险,应用程序出现问题不会导致系统重启

块设备驱动

使用CHS表示磁盘大小
C柱面数(磁道数)0-255
H磁头数         0-255
S每磁道扇区数   0-255
每个扇区512字节

DOS分区
1. 主分区表:磁盘的首扇区,只有4个表项,第一个分区是C盘
2. 扩展分区:指向下一个分区表的指针,每个扩展分区表有4个表项
3. 逻辑分区:放在扩展分区表中的分区,第一个逻辑分区D盘
GPT分区

格式化mkfs(磁盘分区)+文件系统类型

网络设备驱动


网卡驱动和协议栈之间的接口:
0. sk_buff结构体
1. 上行:netif_rx(网卡驱动调用)
2. 下行:ndo_start_xmit(协议栈调用)

百兆网卡发送数据包格式:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值