x86机器上是可以运行vxworks的, 由于我只初始化键盘和网络,启动速度极快。
x86的BSP缺乏调试手段,也无法点亮LED查看程序的运行过程。 我只好采用最笨的办法, 让pc的蜂鸣器响来查看
程序状态, 好在这段代码在16位和32位下都能管用(IO操作),原来跑不起来的vxWorks在经过一些修改之后终于能
运行了,默认情况下没有显示和键盘输入,网络驱动也很有限, 修改配置(加入一些#define并禁止MMU)和一些BSP
代码后终于OK了。
由于vxworks是可以在其他平台上运行的,例如powerPC。 因此首先需要下载Tornado2.2 for
pentium(x86)的版
本,安装好之后,就需要开始制作启动rom。制作rom的过程可以看Tornado2自带help,注意需要区分rom的类别。
很多初学者分不清vxworks
的rom类别导致出错。我制作的是vxworks_rom这种包含操作系统的rom,可以独立运行。
通常情况下,
PC机启动时bios会加载运行磁盘的引导区,在这里pc会把vxworks_rom(bootrom.sys)载入内存并直
接开始运行,
bootrom.sys首先把运行模式从16位切换到32位,然后把vxworks操作系统解压到指定的内存区,解压
完毕之后跳转到指定的内存区, 将系统控制权交给vxworks。在启动的汇编代码部分可以清楚的看到运行地址的变
化。
vxworks的部分代码是可见的, 包括rom启动部分(romInit.sys汇编源代码).
通常情况下&#