论文部分内容阅读
Linux系统是一款优秀的开放源码的操作系统,正是因为其开放性和可移植性使它在当前的嵌入式产品开发中有着非常重要地位。通用串行总线(USB)作为一种新型总线,日益广泛地应用到IT产品中。Cypress Semiconductor公司的EZ-USB FX2是世界上第一款集成USB2.0的微控制器,它集成了USB2.0收发器、SIE(串行接口引擎)、增强的8051微控制器和可编程的外围接口。在FX2中,智能SIE可以硬件处理许多USB1.1和USB2.0协议,从而减少了开发时间和确保了USB的兼容性。由于Cypress公司没有提供Linux系统下面EZ-USB FX2设备驱动程序,所以本课题的目标就是设计和实现EZ-USB FX2在Linux操作系统下面的设备驱动程序,并且要为已建立在Windows系统下的医学影像采集处理系统提供Linux系统下面的与Windows系统一致的固件下载接口。本文首先对EZ-USB FX2设备的体系结构和Linux 2.6内核的驱动模型进行了分析,然后提出了EZ-USB FX2设备驱动的设计方案以及对起固件下载接口的封装方案,最后是对方案的实现。课题的设计、实现涉及到Linux驱动程序、固件下载、接口封装三个方面的内容。在Linux驱动程序实现中,采用了Linux-2.6.20版本内核作为驱动开发的源码树支持,2.6.20内核不仅是一款非常稳定的内核版本而且还为开发人员提供了一些新的特性使开发更加便利,提高了开发的效率。本课题的固件下载是在已建立好的EZ-USB FX2驱动程序的基础上在用户空间中对驱动程序进行调用以完成固件下载任务,这样不仅提高了对内核资源的有效利用而且还降低了调试的难度。在封装固件下载接口的时候,针对Windows系统下已经建立的医学影像采集处理系统中所采用的下载函数以及函数内部所调用的Windows系统中用于设备通讯的DeviceIoControl接口进行了统一封装,为医学影像采集处理系统的跨系统移植奠定了基础。本文在Linux驱动程序和固件下载程序的设计与实现中,以软件工程的思想为指导,采用统一建模语言UML工具,对所研究的内容进行了设计、分析和实现。最后,还对所做工作的难点与不足进行了阐述和总结,对Linux设备驱动模型和USB2.0技术的前景进行展望、最新发展动态进行了跟踪。