块设备驱动程序的编写驱动之用内存模拟磁盘
---------------------------------------------
硬件:
分析ll_rw_block
怎么写块设备驱动程序呢?
1. 分配gendisk: alloc_disk
2. 设置
2.1 分配/设置队列: request_queue_t
2.2 设置gendisk其他信息
3. 注册: add_disk
参考:
drivers\block\xd.c
drivers\block\z2ram.c
测试3th,4th:
在开发板上:
1. insmod ramblock.ko
2. 格式化: mkdosfs /dev/ramblock
3. 挂接: mount /dev/ramblock /tmp/
4. 读写文件: cd /tmp, 在里面vi文件
5. cd /; umount /tmp/
6.再次挂接: mount /dev/ramblock /tmp/,后查看文件还依然存在
7. cat /dev/ramblock > /mnt/ramblock.bin
8. 在PC上查看ramblock.bin
测试5th:
1. insmod ramblock.ko
2. ls /dev/ramblock*
3. fdisk /dev/ramblock
注:
1、对块设备进行读写操作时可能不会立即响应,先放入队列一段时间后一起执行,如果想让读写操作立即执行可以运行:sync命令,即同步命令进行同步,此时会执行没有执行的相关操作。
2、对于磁盘容量=磁头数*柱面数*扇区数*512,柱面数就是有多少环,每个扇区512字节
块设备驱动程序内存模拟磁 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)