Presentation is loading. Please wait.

Presentation is loading. Please wait.

U盘驱动程序编译与使用实验 1.实验目的 (1) 掌握USB大容量类设备驱动Linux模块的配置与编译;

Similar presentations


Presentation on theme: "U盘驱动程序编译与使用实验 1.实验目的 (1) 掌握USB大容量类设备驱动Linux模块的配置与编译;"— Presentation transcript:

1 U盘驱动程序编译与使用实验 1.实验目的 (1) 掌握USB大容量类设备驱动Linux模块的配置与编译;
(2) 掌握Linux系统下U盘等大容量设备的使用。

2 2.实验设备 硬件: PC机 1台 MagicARM2410教学实验开发平台 1台 U盘 1个
软件: RedHat Linux 9.0操作系统 Windows 98/2000/XP操作系统(可选) 嵌入式Linux开发环境

3 3.实验内容 (1) 编译及连接USB大容量类设备驱动模块; (2) 下载大容量类设备驱动模块到目标板,并加载模块;
(3) 挂载U盘到Linux系统,然后往U盘里创建文件与文件夹。

4 4.实验预习要求 (1) 复习USB主机驱动编译与加载实验内容; (2) 复习Linux系统下文件的操作与VI的使用。

5 5.实验原理 U盘、移动硬盘、MP3和数码相机等都是大容量类设备。大容量设备底层是基于USB接口,上层由大容量类驱动映射成SCSI磁盘设备。所以,实现对U盘的操作主要包含三个模块:USB主机驱动、大容量类设备驱动和SCSI磁盘设备驱动模块。 USB主机驱动在USB主机驱动编译与加载实验中已介绍,这里主要介绍大容量类设备驱动和SCSI磁盘设备驱动模块的编译及链接。

6 5.实验原理 在终端使用make menuconfig命令打开S3C2410Linux内核编译的Main Menu窗口,并进入“SCSI support --->”菜单选项,然后将SCSI disk support配置为模块,再将SCSI disk support也配置为模块如图 1.1所示。 图 1.1 配置SCSI磁盘设备

7 5.实验原理 返回主菜单(Main Menu),再进入“USB support --->” 菜单选项,然后将Support for USB设置为模块,再将USB Mass Storage support配置为模块,如图 1.2所示。 图 1.2 配置USB大容量驱动

8 5.实验原理 以上配置已完成了USB大容量驱动的配置及SCSI磁盘设备驱动模块的配置。退出并保存配置,使用make dep命令建立文件依赖关系,然后使用make modules命令编译链接模块。编译链接完成后,在/zylinux/kernel/ drivers/scsi/文件夹中生成scsi_mod.o和sd.o模块,在/zylinux/ kernel/drivers/usb/storage /文件夹中生成usb-storage.o模块。 在目标系统中加载以下模块就可以实现USB大容量设备的支持: USB主机: usbcore.o usb-ohci-s3c2410.ko SCSI磁盘驱动: scsi_mod.o sd.o 大容量类驱动: usb-storage.o

9 6.实验步骤 (1)配置及编译链接大容量类驱动、SCSI磁盘驱动,参考实验原理。
(2)将usbcore.o、usb-ohci-s3c2410.ko、scsi_mod.o、sd.o和usb-storage.o文件下载到目标板的/tmp文件夹中。 (3)加载USB主机驱动模块,在终端输入以下命令: # insmod usbcore.o # insmod usb-ohci-s3c2410.ko (4)加载SCSI磁盘驱动模块,在终端输入以下命令: # insmod scsi_mod.o # insmod sd.o 

10 6.实验步骤 (5)加载USB大容量类驱动模块,在终端输入以下命令: (6)插入U盘后,终端将打印出以下信息:
# insmod usb-storage.o (6)插入U盘后,终端将打印出以下信息: # hub.c: USB new device connect on bus1/1, assigned device number 2 scsi0 : SCSI emulation for USB Mass Storage devices Vendor: Aigo Model: Rev: 1.06 Type: Direct-Access ANSI SCSI revision: 02 Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0 SCSI device sda: byte hdwr sectors (133 MB) sda: Write Protect is off Partition check: /dev/scsi/host0/bus0/target0/lun0: p1 p2 p3 p4

11 6.实验步骤 (7) 挂载U盘到/mnt目录,在终端输入以下命令:
# mount -t vfat /dev/scsi/host0/bus0/target0/lun0/disc /mnt (8)在U盘里创建1个文件夹与1个文本文件。使用以下命令进入/mnt目录,并创建一个文件夹zhiyuan和文件test.txt。 # cd /mnt # mkdir zhiyuan # vi test.txt (9)卸载U盘,然后拔出U盘,将U盘插入到电脑,验证之前创建的文件夹与文件是否成功。输入以下命令卸载U盘: # cd / # umount /mnt 

12 8.实验参考程序 本实验不需要编写程序。 7.思考题 请思考,如何编写应用程序来操作U盘?

13

14


Download ppt "U盘驱动程序编译与使用实验 1.实验目的 (1) 掌握USB大容量类设备驱动Linux模块的配置与编译;"

Similar presentations


Ads by Google