http://blogold.chinaunix.net/u3/108239/showart.php?id=2144635第11章+---------------------------------------------------+| 写一个块设备驱动 |+------------------------------------...
分类:
其他好文 时间:
2016-03-30 13:16:52
阅读次数:
137
头文件 #include <linux/blkdev.h> #include <linux/bio.h> blkdev.c Makefile
分类:
其他好文 时间:
2016-03-15 16:04:49
阅读次数:
210
在Linux下,驱动设备有字符设备驱动、块设备驱动和网络设备驱动三种,之前学习了字符设备驱动,现在开始学习块设备驱动。首先来比较看这两种设备驱动有何不通,为什么要分割成不同类型的驱动。举一个例子说明引入块设备驱动的必要:假如按照字符设备一样的框架去构造驱动,如图..
分类:
其他好文 时间:
2016-01-06 06:56:50
阅读次数:
202
True FFS内核编程1、格式化FLASH即使FLASH没有和块设备驱动绑定,也可对其进行格式化。tffsDevFormat (int tffsDriveNo, int formatArg);typedef struct{ tffsFormatParams formatParams; unsi.....
分类:
其他好文 时间:
2015-11-06 18:06:12
阅读次数:
246
(一):块设备的中断: 中断函数: request_irq() 函数将块设备驱动程序的中断服务子程序和特定的中断请求行联系起来。 驱动程序的中断服务子程序的中断过程如下: (1):用户进程发出莫种类型的输入或输出请求(read()系统调用),或许先通过高速缓冲存储,最终要求进行实际设备的输入/输出....
分类:
系统相关 时间:
2015-08-26 17:14:56
阅读次数:
181
扇区:1、硬盘控制器将磁盘看成一大组扇区2、扇区就是一组相邻字节3、扇区按照惯例大小设置位512字节4、存放在块设备中的数据是通过它们在磁盘上的位置来标识,即首个扇区的下标和扇区的数目。5、扇区是硬件设备传送数据到基本单位。块:1、块是VFS和文件系统传送数据到基本单位。它对应磁盘上一个或者多个相邻...
分类:
系统相关 时间:
2015-08-20 12:57:01
阅读次数:
158
前两篇blog已经基本熟悉了块设备的相关结构,这里来总结下ldd3中提到的一些块设备驱动例题;
注册:
sbull_major = register_blkdev(sbull_major, "sbull");
if (0 >= sbull_major){
printk(KERN_WARNING "sbull: u...
分类:
系统相关 时间:
2015-07-13 00:50:48
阅读次数:
160
(一)今天写了个块设备驱动例子,在虚拟机上加载模块insmod simp_blkdev.ko的时候,出现以下错误。insmod: error inserting 'simple-blk.ko': -1 Invalid module format其实错误很简单,Makefile的编写失误,因为之前是想...
分类:
其他好文 时间:
2015-06-29 11:30:44
阅读次数:
147
好了,这里我们假定你已经搞定上面的最简单的模块了,懂得什么是看模块,以及简单模块的编写、编译、加载和卸载。
还有就是,什么是块设备,什么是块设备驱动,这个也请自行google吧,因为我们已经迫不及待要写完程序下课。
为了建立一个可用的块设备,我们需要做......1件事情:
1:用add_disk()函数向系统中添加这个块设备
添加一个全局的
static struct...
分类:
系统相关 时间:
2015-06-15 18:57:42
阅读次数:
290
在kernel包中有几个重要的文件夹和文件,他们各司其职,处理着有关内核的一些功能操作。其中文件夹有三个:blk_drv(块设备驱动),chr_drv(字符设备驱动),math(数学协处理器) 文件中asm.s fork.c mktime.c panic.c printk.c sched.c sig...
分类:
系统相关 时间:
2015-06-15 18:12:39
阅读次数:
440