论文部分内容阅读
操作系统作为嵌入式开发的基础,既管理硬件又为软件提供应用接口。VxWorks是专门为实时嵌入式系统设计开发的操作系统软件,它的一大优点是可以使应用程序编码在很大程度上与目标板的硬件和结构无关。这得益于它的模块化设计,把所有硬件相关的功能部分放在板级支持包BSP(Board Surport Package)中,BSP为所有的硬件功能板提供统一相同的软件界面。本文以基于AT91RM9200的通用控制平台为硬件架构开发VxWorks BSP软件包。将VxWorks移植到通用控制平台上能为后续的应用程序开发提供强大的系统软件支撑。本文在分析了通用控制平台硬件需求的基础上对BSP结构进行了设计。首先,构造了一个最小内核,完成CPU初始化、板级初始化、系统初始化、系统时钟驱动、中断控制器驱动和串口驱动,使VxWorks在通用控制平台上成功运行起来。接着,进一步开发目标板的接口驱动程序,包括:为AT91RM9200 EMAC(Ethernet MAC)编写加强型网络接口驱动(END),实现了目标板与PC机的WDB连接,并为构造百兆以太网提供了底层驱动;为带有SPI接口的CAN(Control Area Network)控制器MCP2510编写驱动,以实现CAN总线上设备间的通信;利用VxWorks提供的USB主机栈,完成了AT91RM9200 UHP(USB Host Port)与U盘之间的通信,以实现大容量数据的存储与交换。最后,本文给出了各模块驱动程序的测试结果,验证了BSP设计的可靠性和正确性。