一个典型的VxWorks项目开发通常包括以下几个步骤:
安装产品
这里开发vxworks需要安装的环境为:Wind River Workbench 3.3
Workbench版本为6.9
这里安装环境的时候注意,下载不同架构的安装包
Wind River Workbench 3.3是风河公司推出的嵌入式软件开发工具套件。由于该工具的license是绑定网卡MAC地址的,所以该文档介绍了通过修改MAC地址来实现软件的激活,同时对于安装步骤进行了详细的介绍,读者可以根据步骤完成安装激活过程。
具体的安装,我后面会写一个文档了贴出来。
创建一个VxWorks源代码构建(VSP)工程
vxworks一个完整的项目中会有三个工程文件分别是:但是整体的开发一共有七个工程。下面的将针对重要的三个工程说明。
bootrom
vip内核工程
DKM开发应用程序工程
bootrmo
这个是开发vx系统最基础的bsp工程一般都是在官方的bsp工程上添加自己的相应配置和组件。类似于linux的u_boot
对于目标机来说,在启动的时候需要有一个boot程序,boot程序的主要功能是引导vxworks 内核,所以boot程序需要知道vxworks的内核存放在何处,通过什么手段去获取。这个boot程序就是Bootrom,vxworks内核就是VxWorks映像。
Bootrom引导文件由Tornado编译BSP生成,BSP(Board Support Package)板级支持包放在Tornado\target\config下,主要作用初始化目标板硬件到一个确定的状态,并为VxWorks内核提供对目标板硬件相关的系统调用函数库。
Bootrom的类型
这里一共有三种类型:
a、bootrom,压缩形,占用空间小。
b、bootrom_uncmp,非压缩型,较 bootrom 型占用 flash 大些,所有的代码都一次性从ROM复制到RAM中,无需解压
c、bootrom_res,非压缩型,较 bootrom 型占用 flash 大些,只复制bootrom引导程序的数据段到RAM 区,无需解压
然后这里很多项目里面都会将bootrom称之为bootrom.elf文件 这个只是在开发的时候改了文件的后缀,影响不大的。
无后缀: ELF可执行文件格式
.hex后缀:Motorola S-record文件格式
.bin 后缀:二进制输出, 一般烧到ROM/Flash零地址处。
VxWorks内核
开发VxWorks内核的工程一般检简称vip工程
这里的内核类似于Linux里面的内核,到了这里就是各种框架的初始化等等。
一般都是基于bootrom引导或者是u_boot引导加载然后开始运行。
这里的内核是基于BSP工程生成的vxworks.elf 和vxworks.bin两种文件 一个是在内部集成设备树,一个是没有集成需要单独配置设备树
到了这里需要主机POSIX协议。
DKM开发应用程序工程
开发VxWorks应用程序的工程一般检简称DKM工程
这里的应用程序,是可以单独开发的,但是具体的底层接口是在vip工程里面配置的。
一般加载这个工程运行的方式有网络加载(tftp加载nfs加载等等) 内部加载将dkm工程编译在vip工程内部。