预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共16页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

硬件: PC机 1台 MagicARM2410教学实验开发平台 1台 IDE硬盘 1块 软件: RedHatLinux9.0操作系统 嵌入式Linux开发环境 (1)编写及编译PD6710芯片ATA模式下的驱动程序; (2)配置及编译ATA设备驱动模块; (3)加载ATA驱动模块和PD6710驱动,在IDE硬盘上创建文件夹,并验证。(1)了解PD6710芯片ATA模式的使用。 (2)复习内核编译实验的相关内容。 (3)复习PCMCIA接口CF卡实验中的ATA驱动模块的编译。IDE设备是Linux系统下常用的数据存储设备,其容量大而且价格便宜的特点是其它存储设备不可比拟的。所以在数据量特大的嵌入式系统应用中,IDE设备是不可以缺少的。PD6710是一个PCMCIA接口的桥接芯片,它可以完成实现PCMCIA接口的所有功能。它还有一种工作模式,那就ATA模式。 Linxu系统中带有了完整的ATA设备驱动,并且提供了简易接口。只需要用户提供两个基地址及1个中断号,就可以接管ATA设备。注册及注销IDE设备的接口函数如程序清单1.1所示。程序清单1.1ATA设备驱动接口函数 intide_register(intarg1,intarg2,intirq); voidide_unregister(unsignedintindex); ide_register()函数为注册ATA设备,其有三个输入参数:arg1、arg2和irq。arg1为一般寄存器的起始地址,其地址为:vCF_IO_BASE+0x1f0,vCF_IO_BASE为PD6710芯片所在系统中IO地址的虚拟地址;arg2为控制寄存器的起始地址,其地址为:vCF_IO_BASE+0x3f6;irq则为ATA设备分配的中断号,这与硬件系统分配的中断引脚相关。使用该函数注册ATA设备成功将返回一个设备索引号,该索引号在IDE设备注销时使用。 ide_unregister()函数注销ATA设备,其只有1个参数index,该参数为注册ATA设备时返回的值。程序清单1.1ATA设备驱动接口函数 intide_register(intarg1,intarg2,intirq); voidide_unregister(unsignedintindex); ide_register()函数为注册ATA设备,其有三个输入参数:arg1、arg2和irq。arg1为一般寄存器的起始地址,其地址为:vCF_IO_BASE+0x1f0,vCF_IO_BASE为PD6710芯片所在系统中IO地址的虚拟地址;arg2为控制寄存器的起始地址,其地址为:vCF_IO_BASE+0x3f6;irq则为ATA设备分配的中断号,这与硬件系统分配的中断引脚相关。使用该函数注册ATA设备成功将返回一个设备索引号,该索引号在IDE设备注销时使用。 ide_unregister()函数注销ATA设备,其只有1个参数index,该参数为注册ATA设备时返回的值。配置PD6710为ATA模式 MagicARM2410产品光盘中已提供了PD6710在ATA模式的驱动,将光盘本实验文件夹中复制pd6700_ide.c、pd6700.h和Makefile文件到Linux开发环境,并根据Linux开发环境修改Makefile文件。执行make命令编译连接,生成pd6700_ide.ko文件。 关于PD6710的ATA模式设置请参阅Intel公司的PD67XX—ConfiguringPCMCIASocketsforATADriveInterface文档。配置ATA驱动模块 在MainMenu下进入“ATA/IDE/MFM/RLLsupport--->”如图1.1所示。再选择“ATA/IDE/MFM/RLLsupport”如图1.2所示。进入到“IDE,ATAandATAPIBlockdevices--->”配置选项,设置“EnhancedIDE/MFM/RLLdisk/cdrom/tape/floppysupport”为模块,并设置“IncludeIDE/ATA-2DISKsupport”和“IncludeIDE/ATA-2DISKsupport”为模块,如图1.3所示。编译ATA模块 以前配置完成后,退出并保存配置,然后执行以下命令: $makeclean $makedep $makemodules 将在/zylinux/kernel/drivers/ide文件夹中生成ide-mod.o、ide-probe-mod.o和ide-disk.o文件。 注意事项 IDE硬盘不支持热插拔,所以在系统起动前应将IDE硬盘连接到系统并上电。在系统运行过程中不允许拔出硬盘。(1)配置并编译连接ATA设备模块,参考实验原理。