[原创]嵌入式开发板中块设备驱动的编写
0赞今天写了一个块设备的驱动,有点小激动,写出来,大家一起乐呵乐呵。
这个程序主主要在Ubantu10.10系统上编写一个sbull驱动,将一段ram空间模拟为disk使用。并在这个disk上建立文件系统。
步骤:
1、 将文件夹blkdev-2.6.35复制到linux环境中,如:/home/linux/workdir/test
2、 编译
linux@ubuntu:~/workdir/test/blkdev-2.6.35$ make
3、通过insmod命令将模块加入内核
linux@ubuntu:~/workdir/test/blkdev-2.6.35$sudo insmod ./blkdev.ko
4、#sudo fdisk /dev/blkdeva
出现磁盘分区界面,选择m出现帮助信息
选择n添加新的分区
选择p建立一个新的主分区
选择w,保存分区信息
5、格式化disk
#mkfs.ext2 /dev/blkdeva1
6、挂载文件系统
#mkdir mnt
#sudo mount –t ext2 /dev/blkdeva1 mnt
7、思考:如果分区后没有及时挂载文件系统(>30s),设备为何会失效。
8、修改模式为RM_NOQUEUE测试,同样可以同样的功能(因为是ram,所以可以不
需要quque)
enum {
RM_SIMPLE = 0, /* The extra-simple request function */
RM_FULL = 1, /* The full-blown version */
RM_NOQUEUE = 2, /* Use make_request */
};
9、修改模式为RM_FUL、RM_NOQUEUE测试,在我的板子上,同样可以正常运行
最近在整理准备做一个视频出来了,时间不够用,加油!