嵌入式Linux的DiskOnChip设备驱动开发
http://tech.ddvip.com 2007年03月12日 社区交流
本文详细介绍嵌入式Linux的DiskOnChip设备驱动开发
构建内核对DOC块设备的支持:
(1)设备的设备名称和主设备号
必须找一个还没有被使用的主设备号,分配给自己的新设备。假设主设备号为30(在2.0.34的内核中还没有以30作为主设备号的块设备),则需要在include/Linux/major.h中加入如下句:
71#define MY_MAJOR 30
这样可以通过MY_MAJOR来确定设备为新设备,保证通用性。
(2)确定编写需要的file_operations中的操作函数

由于使用了高速缓存,块设备驱动程序就不需要包含自己的read(),write()和fsync()函数,但必须使用自己的open(),release()和ioctl()函数,这些函数的作用和字符设备的相应函数类似。
(3)确定编写需要的输入/输出函数

值得注意的是这2个函数和字符设备中的myread(),mywrite()函数不同。
(4)确定编写需要的请求处理函数
在块设备驱动程序中,不带中断服务子程序的请求处理函数是简单的,典型的格式如下:


实际上,一个真正的块设备一般不可能没有中断服务子程序,另外设备驱动程序是在系统调用中被调用的,这时由内核程序控制CPU,因此不能抢占,只能自愿放弃;因此驱动程序必须调用sleep_on()函数,释放对CPU的占用;在中断服务子程序将所需的数据复制到内核内存后,再由他来发出wake_up()调用。
5 结 语
DOC作为一种新型闪存电子盘,以盘体体积小、功耗低和带硬盘仿真功能等特点,在一些对电源功耗要求苛刻、空间狭小的嵌入式场合,有他很独到的优势;加之目前生活自动化(LA)、智能设备终端等领域的技术日趋成熟,在嵌入式操作系统应用日益广泛的今天,嵌入式操作系统对此类电子盘设备的支持日益完善。本文结合嵌入式Linux系统介绍和分析了其下DOC2000的设备驱动和文件系统的支持,可广泛用于工业控制系统、网络视频以及POS机系统储存中,具有实用的价值。
来源:现代电子技术 作者:徐雪松 责编:豆豆技术应用
- Linux/Unix 新闻
- Linux/Unix 入门
- Linux/Unix 命令
- Linux/Unix 安装
- Linux 嵌入式系统
- Linux/Unix 编程
- Linux/Unix 管理
- Linux/Unix 桌面
- Linux/Unix 内核
- Linux/Unix 软件
- SCO Unix
- NetBSD
- OpenBSD
- Redhat/Fedora Linux
- 手机
- Linux/Unix find 搜索命令
- Linux/Unix vi 命令
- Linux/Unix kde 桌面环境
- Linux/Unix GNOME 桌面环境
- Linux/Unix Make 命令
- Linux/Unix crontab 命令
- Linux/Unix ext3 文件系统
- Linux/Unix 文件系统详解
- Linux/Unix ADSL 拨号设置
- Linux/Unix GRUB 配置及应用
- Linux/Unix nfs配置
- Linux/Unix 硬件信息查看及管理
- Linux/Unix 优化
- Linux/Unix 交换分区Swap管理及应用
- Linux/Unix 用户管理
- Linux/Unix Ramdisk
- Linux/Unix 密码恢复管理
- Linux/Unix 文件删除恢复
- Linux/Unix fdisk分区
- Linux/Unix lvs负载均衡管理
- Linux/Unix root用户
- Linux/Unix 集群
- Linux/Unix 日志
- 更多Linux/Unix专题……