Linux驱动分析——块设备驱动

stm32mp157 盘古开发板 Linux内核版本4.19因为目前没有用到这一块,所以这里只是简单了解并记录一下,待后面用到了再来完善。目录1、朱有鹏老师视频课程笔记和示例代码1、朱有鹏老师视频课程笔记和示例代码第一部分、章节目录5.10.1.正确理解块设备驱动的概念5.10.2.块设备驱动框架简介5.10.3.块设备驱动案例分析15.10.4.块设备驱动案例分析25.10.5.块设备驱动案例分析3第二部分、章节介绍5.10.1.正确理解块设备驱动的概念 本...
摘要由CSDN通过智能技术生成

stm32mp157  盘古开发板  Linux内核版本4.19

因为目前没有用到这一块,所以这里只是简单了解并记录一下,待后面用到了再来完善。

目录

1、朱有鹏老师视频课程笔记和示例代码


1、朱有鹏老师视频课程笔记和示例代码

第一部分、章节目录
5.10.1.正确理解块设备驱动的概念
5.10.2.块设备驱动框架简介
5.10.3.块设备驱动案例分析1
5.10.4.块设备驱动案例分析2
5.10.5.块设备驱动案例分析3
第二部分、章节介绍
5.10.1.正确理解块设备驱动的概念
    本节着重讲块设备驱动和字符设备驱动的差异,并且讲了扇区、块、页等块设备驱动中重要搞的概念。
5.10.2.块设备驱动框架简介
    本节讲述块设备驱动的整体框架,先打通上下脉络再后面分析的时候就不会迷失。
5.10.3.块设备驱动案例分析1
    本节开始块设备驱动案例分析,本节主要是进行实践演示,教大家如何编译安装格式化挂载一个块设备,驱动源码是我提供好的。
5.10.4.块设备驱动案例分析2
    本节开始分析提供的块设备驱动源码,这个驱动来自于LDD3,做了一些移植与修改。
5.10.5.块设备驱动案例分析3
    本节接着分析提供的块设备驱动源码,这个驱动来自于LDD3,做了一些移植与修改。
第三部分、随堂记录    
5.10.1.正确理解块设备驱动的概念
5.10.1.1、块设备和字符设备的差异
(1)块和字符是两种不同的访问设备的策略
(2)同一个设备可以同时支持块和字符两种访问策略
(3)设备本身的物理特性决定了哪一种访问策略更适合
(4)块设备本身驱动层支持缓冲区,而字符设备驱动层没有缓冲
(5)块设备驱动最适合存储设备
5.10.1.2、块设备驱动的特点
(1)字符设备只能顺序访问(如串口发送数据顺序),而块设备可以随机访问(不连续块访问)
(2)传统的机械式块设备(如硬盘、DVD)虽然可以随机访问,但是连续访问效率更高,因此块设备驱动中有排序逻辑将用户的随机访问重新调整成尽量连续访问以提升效率
(3)Nand、SD卡等随机访问效率等同于顺序访问
5.10.1.3、块设备相关的几个单位
(1)扇区(Sector),概念来自于早期磁盘,在硬盘、DVD中还有用,在Nand/SD中已经没意义了,扇区是块设备本身的特性,大小一般为512的整数倍,因为历史原因很多时候都向前兼容定义为512.
(2)块(block),概念来自于文件系统,是内核对文件系统数据处理的基本单位,大小为若干个扇区,常见有512B、1KB、4KB等
(3)段(Section),概念来自于内核,是内核的内存管理中一个页或者部分页,由若干个连续为块组成。
(4)页(Page),概念来自于内核,是内核内存映射管理的基本单位。linux内核的页式内存映射名称来源于此。
总结:块设备驱动对下以Sector为单位管理块设备,对上以Block为单位和文件系统交互。
注意:块设备驱动和字符设备驱动不同,应用层对块设备驱动的访问一般不是直接操作设备文件(/dev/block/xxx,或者/dev/sdax),而是通过文件系统来简洁操作。(思考裸机阶段时刷机烧录SD卡时说过的对SD卡的2种访问&#

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值