论文部分内容阅读
本课题来源于某仪器制造商的新品研发项目,为其现有的数字存储示波器产品开发外置式的接口扩展模块,着手解决由行业发展而产生的用户对设备接口多样性的需求问题。项目组从兼顾生产商开发成本和市场实际需求的角度出发,在不改动现有型号的数字存储示波器产品本身的前提下,利用示波器标配的USB接口,为其开发了两款外置式的接口扩展模块,即以太网接口和仪器专用的GPIB接口。外置式接口模块采用了ARM9处理器,因此,相应的嵌入式软件开发成了本课题的主要工作。本课题以C语言为编程语言,在Linux开发环境下,完成了以下主要工作:首先,进行嵌入式Linux操作系统的移植。在众多的嵌入式操作系统中,本课题从开源、免费、功能完备等角度出发,选择了ARM-Linux操作系统,并采用了目前较为成熟的版本Linux-2.6.16。为实现ARM-Linux系统向特定的硬件目标平台的移植,本课题对ARM-Linux内核源代码的U-BOOT进行了修改,包括启动参数和SRAM、FLASH地址空间的分配等。另外,根据接口扩展模块的具体芯片和功能需求,对ARM-Linux内核进行了裁剪,以便更高效地运行于目标平台。其次,由于接口扩展模块采用了特定的接口芯片,本课题还为此开发了Linux操作系统下的对应接口的驱动程序,分别包括USB接口芯片Cy68013和GPIB接口芯片NAT9914的驱动程序,为应用程序的功能实现奠定了基础。接着,将设计完成的驱动程序放入Linux-2.6.16内核源码中进行编译,得到了内核镜像。再次,为这两种接口扩展模块分别设计了Linux操作系统下的应用程序,包括USB和以太网接口的转换与数据通讯程序,为数字示波器扩展出了以太网功能,以及USB和GPIB接口的转换与数据通讯程序,为数字示波器扩展出了GPIB功能。接着,将设计完成的应用程序放入ARM-Linux文件系统下,制作成文件系统镜像。最后,将ARM-Linux系统的内核镜像和文件系统镜像下载到目标平台(接口扩展模块)上运行,与项目组其他成员开发的上位机软件进行联调和测试。测试结果表明,达到了预期的设计目标,并已交付厂家试运行。