一种VxWorks系统中BSP的设计方法
技术领域
本发明涉及一种设计方法,具体涉及一种VxWorks系统中BSP的设计方法。
背景技术
VxWorks是美国Wind River公司开发的嵌入式实时操作系统,具有高性能、可高度裁剪等特点,能够支持多种微处理器,如PowerPC、X86、ARM、MIPS等。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及对实时性要求极高的领域中。板级支持包(Board Support Package,BSP)是介于硬件和操作系之间的一层,其作用是针对特定的硬件平台,为操作系统系统内核提供操作接口,使操作系统能够独立于底层硬件,对上层应用屏蔽具体硬件,VxWorks的高可移植性就是通过BSP实现的。
龙芯处理器是一款基于MIPS指令集的,拥有自主知识产权的高性能32位处理器,具有高速缓存等丰富偏上资源,广泛应用于国防、军工及商用领域。本发明的一种VxWorks系统的BSP的设计方法,简单可行,可操作性强,对于基于龙芯处理器的VxWorks系统的BSP设计起到了事半功倍的效果;而且,将VxWorks系统移植到基于龙芯处理器的设备上,可以提高设备运行的整体性能。
发明内容
为了克服上述现有技术的不足,本发明提供一种VxWorks系统中BSP的设计方法,简单可行,可操作性强,能够对基于龙芯处理器的VxWorks系统的BSP设计起到了事半功倍的效果;而且,将VxWorks系统移植到基于龙芯处理器的设备上,可以提高处理器的实时性,提高设备运行的整体性能。
为了实现上述发明目的,本发明采取如下技术方案:
本发明提供一种VxWorks系统中BSP的设计方法,所述方法包括以下步骤:
步骤1:选择BSP模板;
步骤2:修改配置文件config.h、bonito.h和hwconf.c;
步骤3:修改VxWorks系统启动文件sysALib.s、VxWorks系统编译文件Makefile和BSP初始化文件syslib.c;
步骤4:修改设备与VxWorks系统的接口文件和设备驱动文件。
所述步骤1中,根据主板上微处理器的架构和字节序,在VxWorks系统开发包的BSP目录下选择同硬件平台相同或相近的VxWorks的BSP模板。
所述步骤2包括以下步骤:
步骤2-1:根据主板的硬件资源修改配置文件config.h,并由配置文件config.h的内容定义VxWorks系统的内核组件;
配置文件config.h的内容包括VxWorks系统启动方式、各种类型存储空间的范围和硬件接口的使用情况;
步骤2-2:修改配置文件bonito.h;
配置文件bonito.h的内容包括主板上硬件资源的配置参数;配置参数包括微处理器中VxWorks系统控制寄存器的配置参数、设备各个接口的寄存器、VxWorks系统中断号、中断向量的定义和端口地址;
步骤2-3:修改配置文件hwconf.c;
在配置文件hwconf.c中设置所有非可选的、与微处理器相关的信息,并定义基于微处理器的各项宏定义;
配置文件hwconf.c该文件包含设备的驱动程序头文件。
所述步骤3包括以下步骤:
步骤3-1:修改VxWorks系统启动文件sysALib.s;
依照微处理器手册,配置相关寄存器和微处理器,使微处理器正常运转;
步骤3-2:修改VxWorks系统编译文件Makefile;
修改RAM的起始地址LOCAL_MEM_LOCAL_ADRS、VxWorks系统镜像的入口地址RAM_LOW_ADRS和VxWorks系统引导代码的入口地址RAM_HIGH_ADRS,使三者的地址与配置文件config.h中的地址相同;若VxWorks系统镜像中包含BSP以外的文件,则将文件放在BSP目录下,在VxWorks系统编译文件Makefile文件中添加MACH_EXTRA,把该文件生成的目标文件赋值给MACH_EXTRA;
步骤3-3:BSP初始化文件syslib.c;
按照主板上的微处理器,修改硬件初始化函数sysHwInit()以及连接VxWorks系统中断和ISR挂接的函数sysHwInit2()。
所述步骤4中,确定设备驱动在VxWorks系统中的调用方式,编写主板上的每个设备对应的设备结构和设备驱动。
与现有技术相比,本发明的有益效果在于:
本发明提供的VxWorks系统中BSP的设计方法,简单可行,可操作性强,能够对基于龙芯处理器的VxWorks系统的BSP设计起到了事半功倍的效果;而且,将VxWorks系统移植到基于龙芯处理器的设备上,可以提高处理器的实时性,提高设备运行的整体性能。
附图说明
图1是VxWorks系统中BSP的设计方法流程图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
如图1,本发明提供一种VxWorks系统中BSP的设计方法,所述方法包括以下步骤:
步骤1:选择BSP模板;
所述步骤1中,根据主板上微处理器的架构和字节序,在VxWorks系统开发包的BSP目录下选择同硬件平台相同或相近的VxWorks的BSP模板;如所用的CPU为龙芯处理器,则选择一个MIPS架构的模板;
步骤2:修改配置文件config.h、bonito.h和hwconf.c;
所述步骤2包括以下步骤:
步骤2-1:根据主板的硬件资源修改配置文件config.h,并由配置文件config.h的内容定义VxWorks系统的内核组件;
配置文件config.h的内容包括VxWorks系统启动方式、各种类型存储空间的范围和硬件接口的使用情况;
步骤2-2:修改配置文件bonito.h;
配置文件bonito.h的内容包括主板上硬件资源的配置参数;配置参数包括微处理器中VxWorks系统控制寄存器的配置参数、设备各个接口的寄存器、VxWorks系统中断号、中断向量的定义和端口地址;
步骤2-3:修改配置文件hwconf.c;
在配置文件hwconf.c中设置所有非可选的、与微处理器相关的信息,并定义基于微处理器的各项宏定义;
配置文件hwconf.c该文件包含设备的驱动程序头文件。
步骤3:修改VxWorks系统启动文件sysALib.s、VxWorks系统编译文件Makefile和BSP初始化文件syslib.c;
所述步骤3包括以下步骤:
步骤3-1:修改VxWorks系统启动文件sysALib.s;
依照微处理器手册,配置相关寄存器和微处理器,使微处理器正常运转;
步骤3-2:修改VxWorks系统编译文件Makefile;
修改RAM的起始地址LOCAL_MEM_LOCAL_ADRS、VxWorks系统镜像的入口地址RAM_LOW_ADRS和VxWorks系统引导代码的入口地址RAM_HIGH_ADRS,使三者的地址与配置文件config.h中的地址相同;若VxWorks系统镜像中包含BSP以外的文件,则将文件放在BSP目录下,在VxWorks系统编译文件Makefile文件中添加MACH_EXTRA,把该文件生成的目标文件赋值给MACH_EXTRA;
步骤3-3:BSP初始化文件syslib.c;
按照主板上的微处理器,修改硬件初始化函数sysHwInit()以及连接VxWorks系统中断和ISR挂接的函数sysHwInit2()。
步骤4:修改设备与VxWorks系统的接口文件和设备驱动文件。
所述步骤4中,确定设备驱动在VxWorks系统中的调用方式,编写主板上的每个设备对应的设备结构和设备驱动。
BSP设计开发中一般先实现一个BSP包最小系统,包括定时器、中断控制器和串口,此时VxWorks已经可以启动了,在此基础上再继续添加其他设备的驱动即可完善整个BSP的设计。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。