基于龙芯2F平台下Vxworks移植的研究与实现
2014-08-15郭勇等
郭勇等
【摘 要】本文简单介绍了VxWorks实时操作系统和龙芯2F处理器,对基于龙芯2F平台的VxWorks系统移植进行了分析,并详细介绍了移植内容,包括文件的配置、中断管理、PCI库的实现和驱动程序等方面详细。
【关键词】龙芯2F;VxWorks;BSP;系统移植
0 引言
VxWorks是美国WindRiver公司推出的一种嵌入式实时操作系统,以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。
龙芯系列处理器是中国科学院计算所自主开发的国产处理器系,龙芯2F微处理器是64位MIPS 指令集的通用RISC处理器,其最高工作频率为1GHZ[1],具有高性能、低功耗等特点。现有的龙芯平台大都基于Linux操作系统,但是在工业控制、高性能嵌入式等领域,对实时性、定制性的要求很高,因此VxWorks系统才是比较理想的选择。
本文首先明确移植的基本思路,然后分别从中断分级管理性维护、地址空间的访问扩展、PCI设备的读写机制和驱动程序开发与配置的建立等几个方面来展开相关的工作。
1 BVxWorks移植分析
1.1 VxWorks移植的主要内容
VxWorks主要由三部分组成:BSP、微内核及I/O系统,BSP( Board Support Package)是板级支持包,是介于主板硬件和操作系统之间的一层,包括硬件初始化、中断处理、时钟管理、MMU等功能.在龙芯2F平台上移植VxWorks,主要就是完成板级支持包BSP的开发.
1.2 VxWorks启动流程分析与移植思路
与X86的BIOS不同,龙芯2开发板的BIOS采用了PMON,可以通过网络或硬盘直接加载ELF格式的VxWorks映像文件到内存中运行。对可下载型的VxWorks映像文件,说明如下[2]。
SysInit()为VxWorks映像的入口函数,它由汇编语言编写。……
