软盘控制器软盘控制器编程方法软盘控制器的编程方法赵炯 oldlinux.org (gohigh@sh163.net)1.1 软盘驱动器的设备号在Linux中,软驱的主设备号是2,次设备号 = TYPE*4 + DRIVE,其中DRIVE为0-3,分 别对应软驱A、B、C或D;TYPE是软驱的类型,2表示1.2M软驱,7表示1.44M软驱,也即flop py.c中85行定义的软盘类型(floppy_type[])数组的索引值:表6.1 软盘驱动器类型类型 0 1 2 3 4 5 6 7说明 不用。 360KB PC 软驱。 1.2MB AT 软驱。 360kB 在 720kB 驱动器中使用。 3.5" 720kB 软盘。 360kB 在 1.2MB 驱动器中使用。 720kB 在 1.2MB 驱动器中使用。 1.44MB 软驱。例如,因为7*4 + 0 = 28,所以 /dev/PS0 (2,28)指的是1.44M A驱动器,其设备号是0 x021c。 同理 /dev/at0 (2,8)指的是1.2M A驱动器,其设备号是0x0208。1.2 软盘控制器对软盘控制器的编程比较烦琐。在编程时需要访问4个端口,分别对应一个或多个寄存 器。对于1.2M的软盘控制器有以下一些端口。表6.2 软盘控制器端口I/O 端口 0x3f2 0x3f4 0x3f5 0x3f7读写性 只写 只读 读/写 只读 只写寄存器名称 数字输出寄存器(DOR)(数字控制寄存器) FDC 主状态寄存器(STATUS) FDC 数据寄存器(DATA) 数字输入寄存器(DIR) 磁盘控制寄存器(DCR)(传输率控制)数字输出端口DOR(数字控制端口)是一个8位寄存器,它控制驱动器马达开启、驱动器 选择、启动/复位FDC以及允许/禁止DMA及中断请求。表6.3 数字输出寄存……
猜您喜欢
推荐内容
开源项目推荐 更多
热门活动
热门器件
用户搜过
随便看看
热门下载
热门文章
评论