1.实验目的(1)掌握Linux系统下USB内核及USB主控制器驱.ppt

1.实验目的(1)掌握Linux系统下USB内核及USB主控制器驱.ppt

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.实验内容 4.实验预习要求 5.实验原理 5.实验原理 5.实验原理 5.实验原理 5.实验原理 5.实验原理 6.实验步骤 6.实验步骤 7.实验参考程序 * MagicARM2410教学实验开发平台 广州致远电子有限公司 * 1.实验目的 (1) 掌握Linux系统下USB内核及USB主控制器驱动模块的配置及编译; (2) 了解Linux系统下USB主机的软件结构。 USB主机驱动编译与加载实验 硬件: PC机 1台 MagicARM2410教学实验开发平台 1台 U盘 1个 软件: RedHat Linux 9.0操作系统 Windows 98/2000/XP操作系统(可选) 嵌入式Linux开发环境 2.实验设备 (1) 配置及编译链接USB内核相关模块; (2) 编译链接USB主机控制器驱动模块; (3) 在目标系统中加载USB内核模块及USB主机控制器驱动模块,然后插入U盘,观察终端的打印信息。 (1)复习Linux系统开发环境的使用; (2)复习内核模块的编译相关内容。 Linux系统2.4.18版本内核中包含了功能全面的USB主机内核软件,通过该内核将USB的软件与硬件隔离开。对于不同的USB主机控制器只需要编写与硬件相关的驱动程序就可以在Linux系统下使用。USB内核提供了两套API,分别为高层API和 低层API,如图 1.1所示。高层 API是与硬件无关的,由应用 程序使用的函数集;低层API 也就是与硬件底层USB主机控 制器相关的函数集。不同的 USB主机控制器使用低层API 编写其驱动程序。 图 1.1 USB主机驱动软件结构 编译USB内核及其文件系统模块: 在/zylinux/kernel目录下输入make menuconfig命令配置内核,在打开的Main Menu菜单窗口中进入“USB support --- ”选项,如图 1.2所示。 图 1.2 进入USB suport选项 进入到USB suport选项菜单后,配置“Support for USB”为模块,并选上 “Preliminary USB device filesystem (NEW) ”选项,如图 1.3所示。 图 1.3 USB support配置 退出并保存配置,并使用make dep命令建立依赖文件,然后使用make modules命令编译并链接模块。最后将在/zylinux/kernel/drivers/usb/文件夹下生成usbcore.o文件,该文件就是我们需要的USB内核文件。 编译链接S3C2410A芯片USB主机控制器驱动模块: 开发套件的光盘中提供了USB主机控制器驱动程序,将光盘本实验文件夹中的驱动文件复制到Linux开发环境中的任意文件夹,然后修Makefile文件,如程序清单 1.1所示。只需要修改程序清单 1.1 (1)那行代码,将其改为在Linux开发环境中内核头文件的路径。 程序清单 1.1 USB主机控制器驱动Makefile EXEC = usb-ohci-s3c2410.ko OBJS = usb-ohci-s3c2410.o usb-ohci.o SRC = usb-ohci-s3c2410.c usb-ohci.c INCLUDE = /zylinux/kernel/include (1) USEINC =. CC = arm-linux-gcc LD = arm-linux-ld MODCFLAGS = -O2 -I$(INCLUDE) -I$(USEINC) -march=armv4t -c -o LDFLAGS = -r all: $(EXEC) $(EXEC): $(OBJS) $(LD) $(LDFLAGS) -o $@ $(OBJS) %.o:%.c $(CC) $(MODCFLAGS) -mapcs -c $ -o $@ clean: -rm -f $(EXEC) *.o *~ core 执行make命令编译链接驱动,最后将生成usb-ohci-s3c2410.ko模块文件。 USB内核模块和主机控制器驱动模块在目标系统中成功加载后,当有USB设备插入到USB下行口时,内核将检测到设备插入并查找适合的驱动初始化设备。由于USB的设备驱动没有加载,当插入一个USB设备(USB 集线器除外)终端将打印出以下信息: # hub.c: USB new device connect on bus1/1/4, assigned devi

文档评论(0)

yaner520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档