为嵌入式系统开发平台增加USB下载接口

为嵌入式系统开发平台增加USB下载接口

ID:38178226

大小:76.00 KB

页数:5页

时间:2019-05-24

为嵌入式系统开发平台增加USB下载接口_第1页
为嵌入式系统开发平台增加USB下载接口_第2页
为嵌入式系统开发平台增加USB下载接口_第3页
为嵌入式系统开发平台增加USB下载接口_第4页
为嵌入式系统开发平台增加USB下载接口_第5页
资源描述:

《为嵌入式系统开发平台增加USB下载接口》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、为嵌入式系统开发平台增加USB下载接口       目前,许多嵌入式系统的开发平台采用串行口作为调试和下载目标代码的接口。通用串行口的优点是简单易用,几乎所有嵌入式处理器都有1~2个串口。但是最大的缺点是速度太慢,这个缺点在开发小系统的时候还不太明显,随着代码尺寸的增加,串口的速度已经不能满足需要了。典型的如开发嵌入式Linux,编译后内核大小为400K~1M字节,通常还要制作一个ROM盘存放文件系统,采用115kbps波特率,下载1M字节数据就需要几分钟,在调试阶段还是太慢了,而且容易出错。虽然更新的开发系统可以采用JTAG等接

2、口进行调试和下载,但下载大尺寸的文件依然是件耗时的工作。      考虑高速的数据接口,可采用以太网和USB。从速度上讲,10Mbps以太网和USB1.1(12Mbps)差不多。但使用以太网需要配置目标板的IP地址,需要连接集线器接入局域网,还需要PC机上运行TFTP的服务软件。相比之下,使用USB接口就简单多了:即插即用、自动识别设备、在Windows下使用浏览器就可直接传送文件。目前,新一代的嵌入式处理器很多都带有USB控制器。      采用USB接口的主要难点在于要求PC机上有相应的驱动程序的支持,USB的驱动程序以WDM

3、(Windows驱动程序方式)为基础。这个问题对Windows98的确是个问题,由于Windows98只提供少数几种设备的驱动,对于大多数设备都要求USB设备的开发者自己编制。而编写驱动程序是件相当麻烦的工作。Windows2000解决了这个问题,它提供各种USB设备的标准驱动程序,只要接入的设备符合标准,Windows2000可以自动识别设备类型并自动安装相应的驱动程序。开发者只需要编写USB设备的程序就可以了。      USB协议将设备分为几大类,每一大类又分为若干子类,分别满足不同场合的应用。每一大类都用一个类型号标识。如

4、音频设备为01,人机界面设备为03,海量存储类为08。由于我们的目的是用USB传输大文件,可以将USB控制器配置为标准的海量存储类型,将嵌入式开发系统中的部分RAM虚拟为一个磁盘,在RAM盘开始的512字节按FAT表的格式填入数据。在PC机端利用Windows2000下的标准驱动程序,这样,我们的目标板将显示为Windows2000浏览器中的一个驱动器。驱动器的大小由RAM盘FAT表中的信息决定。用拷贝、粘贴命令可直接传送大文件。笔者用此方法开发基于ARM的嵌入式Linux,下载1M字节的Linux内核几乎感觉不到延时,下载6M字

5、节的ROM盘也只需要3秒,大大加快了开发速度。笔者的USB控制程序中还包括一段FLASH擦写程序,当下载文件结束后,可将下载内容写入FLASH中,重新启动系统后,就可以调试新下载的代码了。 图1USB接口部分的原理图硬件平台       笔者所用的开发系统硬件平台处理器为摩托罗拉公司的MC9328MX1(以下简称MX1),它是基于ARM核心MCU,主要面向高端嵌入式应用。内部采用ARM920T核,并集成了SDRAM、Flash、LCD、USB1.1、蓝牙、多媒体闪存卡、CCD摄像头等控制器。在笔者的系统中采用了两片16Mx16位的

6、SDRAM和两片4Mx16位的同步Flash存储器,分别接入数据线的低16位和高16位。MX1的USB模块需要外接一片USB总线接口芯片完成电平转换和总线驱动,如飞利浦公司的PDIUSBP11AD。USB接口部分的原理图如图1所示。软件平台      笔者的USB下载程序是为开发嵌入式Linux而设计的,程序用C编写。编译器采用GNU软件系统的ARM交*编译器。编译器、汇编器和连接器分别为arm-linux-gcc、arm-linux-as和arm-linux-ld。编译环境可以用RedHatLinux。如果觉得另外配置Linux

7、服务器不方便,也可以用Windows下的虚拟Linux环境CYGWIN,这样所有的工作都可以在Windows下完成,但需要在CYGWIN中重新编译ARM交*编译器。有关GNU工具的使用请感兴趣的读者参考相关资料。USB设备的工作原理        各种USB设备的工作过程在USB标准1.1中有详细的描述,在此简述如下:USB的传输方式分为4种:控制传输,批传输,中断传输和等时传输。控制传输用来传输设备控制指令、设备状态查询及确认命令。批传输主要用于完成主机和设备之间的大块数据传输,支持两个方面的数据传输(即主机到设备和设备到主机)

8、。中断传输用来完成设备到主机的少量数据传输,只支持设备到主机方向数据传输。等时传输主要用来完成主机和设备之间实时数据的传输(如麦克风、音箱以及电话等)。USB传输事务均由主机启动,总线采取主从式结构,实际的通信过程由主机和设备的端点来完成。一个US

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。