论文部分内容阅读
随着Linux的发展,越来越多的嵌入式系统采用Linux作为操作系统,这样的系统叫做嵌入式Linux系统。在嵌入式Linux系统开发过程中,需要频繁的下载与更新程序,因此简单高效的下载方式尤为重要。这样会提高系统的开发速度,缩短产品的上市时间。目前嵌入式Linux开发过程中下载程序的方法有很多缺点与不足,不能完全满足嵌入式Linux的开发需要,因此需要开发一种新的程序下载工具来满足日益增长的需要。本论文在研究USB协议与嵌入式Linux的基础上,开发一种基于USB接口的嵌入式集成下载工具。该工具在嵌入式Linux的开发过程中,能够方便的在不同阶段完成程序的下载任务。并且软件是分层的结构,可移植性好。随着USB技术的发展,USB接口现在已经成为了计算机的标准接口。在嵌入式领域里,USB接口也有广泛的应用。USB接口具有很多其他接口没有的优点,所以基于USB技术的下载程序的方法非常适用于嵌入式Linux的开发。因此,本课题开发的嵌入式Linux集成下载工具就是基于USB接口的。根据USB协议,开发这样的系统需要编写USB设备端驱动程序与USB主机端驱动程序。因此开发工具之前需要深入研究Linux系统USB子系统软件架构包括主机端软件以及设备端软件。为了保证程序的可移植性与易用性,因此需要使用一些新的技术与方法。本论文在研究Linux内核与驱动程序开发的基础上,对比了内核空间驱动程序与用户空间驱动程序的优缺点。采用用户空间驱动技术来开发主机端USB驱动程序。在USB设备端,本课题使用了USB Gadget软件架构。本论文通过研究Linux下的USB Gadget软件架构以及USB用户空间驱动程序,结合嵌入式开发过程中的实际开发了一套USB集成下载工具。在Linux系统引导阶段与运行阶段分别使用同一套系统来进行文件的传输。并且在mini2440嵌入式开发平台上进行了测试。本工具在设计中采用了分层的软件结构,并且采用了用户空间驱动技术与图形界面,功能上达到了预期的目的。