Vxworks是一个嵌入式系统,主要运行在arm、ppc、mips等嵌入式处理器上,它同样可以运行在X86处理器上。风河公司开发的tornado开发环境就
包括了pentium版本,并且发布了相应的bsp。因此我们可在vmware虚拟机上运行vxworks,利用虚拟机的功能,我们不需要额外的计算机硬件就可
以开始我们的实验。
系统引导
计算机系统上电后,首先需要执行引导程序,然后加载操作系统。嵌入式系统中一般是将引导程序(称之为bootrom)固化在ROM芯片(也称为
bootrom,指的是物理硬件)中。系统上电后执行ROM中的引导程序,将操作系统由flash(或硬盘)加载到内存。对于PC而言,系统上电后运行BIOS
程序,之后将软盘或则硬盘上的引导扇区载入内存执行引导过程,引导程序再将操作系统加载到内存中启动。vmware的虚拟硬盘开始时没有安装
引导程序,因此无法从硬盘引导。因此我们需要制作一个引导软盘来引导系统加载vxworks。我们的第一个实验就是编译引导程序镜像,制作引导
盘。
制作引导盘
首先要在你的PC上Tornado 2.2 for pcPentium开发环境。另外需要安装pcPentium的BSP包,这个软件包可以到风河公司的网站免费下载。
制作引导盘当然还需要一张软盘,但是目前的PC基本都不使用软盘软驱了(如果你的古董机还有软驱的话,那么恭喜你,你只需要一张软盘就搞定了)。
好在vmware可以直接使用软盘镜像并且可以直接创建软盘镜像,因此我们在vmware中安装一个虚拟的windowsxp系统,以便在虚拟的windowsXP系统中
将软盘镜像格式化,并制作启动软盘。当然也可以使用虚拟软驱RamDiskNT在主机上使用软盘镜像。
Ok,准备工作做好了,我们开始编译bootrom。你可以通过tornado集成开发环境的菜单命令build boot rom。
弹出build boot rom对话框,我们选择pcpentium BSP、编译bootrom、工具使用gnu
编译完成后可以在$WIND_BASE/target/config/pcPentium目录下找到编译出来的bootrom文件。
我们也可以使用命令行方式编译bootrom,进入cmd命令行界面,进入
$WIND_BASE/target/config/pcPentium目录,目录中有一个Makefile文件,我们就是使用这个makefile文件来编译bootrom。实际集成开发环境也是使用它
来编译的。编译之前我们需要设置一下所需的环境变量:
set WIND_BASE=D:/Tornado2.2
set WIND_HOST_TYPE=x86-win32
实际上tornado已经提供了一个批处理文件用于设置相关的环境变量,这个文件就是
$WIND_BASE/host/x86-win32/bin/torVars.bat,我们也可以直接运行这个批处理
../../../host/x86-win32/bin/torVars.bat
然后执行命令
make bootrom
就可以在$WIND_BASE/target/config/pcPentium目录下生成bootrom文件
把上面的命令写成一个批处理makeBootRom.bat