首页 > 代码库 > PC104上配置VxWorks硬盘启动详解
PC104上配置VxWorks硬盘启动详解
DEVPC104-SYS是一款在 PC104 尺寸上开发出来的嵌入式工业主板。以其小巧的体积﹑超强的功能和稳定性,可广泛应用于自动查询系统﹑POS 机﹑网络终端﹑仪器仪表﹑信息家电、工业控制等各种嵌入式领域。
VxWorks 是美国 Wind River System 公司推出的一个实时操作系统。通常所指的VxWorks操作系统对应软件包括三个部分:引导程序bootrom、主操作系统vxWorks、以及用户开发程序。Tornado提供一个集成的编译bootrom、vxWorks以及用户程序的工程环境。下面将介绍PC104上安装VxWorks详细过程。
一、PC端安装Tornado及初始配置
略(相关文献很多就不详述了)。
二、制作bootrom
bootrom是VxWorks操作系统集成的启动代码。首先需要针对不同类型CPU配置BSP,这里需要修改$(WIND_BASE)\target\config\pcPentium\Config.h文件。打开文件,修改如下信息:
#define DEFAULT_BOOT_LINE #elif (CPU == PENTIUM) #define DEFAULT_BOOT_LINE "ata=0,0(0,0)host:/ata0/vxWorks h=192.168.0.32 e=192.168.0.36 u=target pw=target o=fei" /* "lnPci(0,0)host:d:\\vxWorks h=192.168.0.32 e=192.168.0.36 u=target pw=vxworks o=fei" */
其中,本文的PC104使用CPU型号为PENTIUM,根据具体情况更改对应CPU下的配置项。引号中的内容含义是,配置了一个从目标机硬盘加载VxWorks镜像文件,注释掉的内容为从网络中主机加载VxWorks镜像文件。再修改如下信息:
(1)
#define SYS_WARM_TYPE SYS_WARM_FD /* warm start device */修改为:
#define SYS_WARM_TYPE SYS_WARM_BIOS /* warm start device */不更改的话,当系统引导时就会提示“0x28fe10(tBoot):sysNvRamGet:open failed”。
(2)
#undef INCLUDE_ATA /* include IDE/EIDE(ATA) hard disk driver */修改为:
#define INCLUDE_ATA /* include IDE/EIDE(ATA) hard disk driver */(3)
#undef INCLUDE_FEI_END /* (END) Intel 8255[7/8/9] PCI interface */修改为:
#define INCLUDE_FEI_END /* (END) Intel 8255[7/8/9] PCI interface */(4)
#define INCLUDE_LN_97X_END /* (END) AMD 79C97x PCI interface */
修改为:
#undef INCLUDE_LN_97X_END /* (END) AMD 79C97x PCI interface */修改完Config.h文件别忘记保存!然后继续往下做。
初始化环境变量。CMD下进入tornado2.2\host\x86-win32\bin目录,运行torvars命令。
编译bootrom。本文选用命令行方式编译,CMD下进入tornado2.2\target\cofig\pcPentium,输入make 命令编译(若在执行make命令时遇到"make: Nothing to be done for ‘default‘."提示,常是由于Config.h文件在之前修改过程中代码没有对齐引起的,注意代码与行头间距一个“Tab”键)。如下图所示:
编译成功后,再输入"make bootrom"命令编译bootrom。
制作bootrom启动软盘。先插入软盘,对软盘进行格式化,命令:format a:/q,完成格式化后,输入命令:mkboot a: bootrom(注意:在a与bootrom之间有一个空格),制作成功后如下图所示。之后,就可以把做好的启动盘插入PC104中,重启,若能正确引导,则制作成功,否则重新检查Config.h文件,再制作。
三、制作VxWorks镜像
略(网上相关教程很多)。
四、制作bootrom启动硬盘
使用bootrom软盘引导弊端很多,比如软盘现在很少见了、软盘读写数度很慢、软盘很容易损坏等。因此,可以将bootrom直接制作到PC104的本机硬盘上。具体方法如下:
1、执行“二、制作bootrom”所有步骤,若手头无法找到软盘,可以建立虚拟软驱(相关软件很多)。
2、用U盘制作一个DOS启动盘,建议选用MS-DOS_7.1版本(不要使用windows格式化命令中的“创建一个MS-DOS启动盘”,这种方式创建的DOS版本太低)。
3、从“C:\Tornado2.2\host\x86-win32\bin”目录下拷贝文件"vxsys.com" 到DOS启动盘里;从网络下载DOS下使用的格式化工具“FORMAT.COM”拷贝到DOS启动盘里;将之前软盘中生成的“bootrom.sys”拷贝到DOS启动盘里;将做好的VxWorks镜像拷贝到DOS启动盘里。
【注】需要的文件可点击此处下载(包括DOS启动U盘制作工具、FORMAR.COM等相关软件)
4、PC104主机BIOS的第一启动项设置成U盘。具体方法如下:开机按住Delete键,进入BIOS,Boot选项中修改Boot Device Priority和Hard Disk Drivers选项(注意,需要先插入U盘后再进入BIOS设置启动项),具体根据BIOS版本不同而异。
5、PC104重启后,进入U盘DOS系统。若是新机器,硬盘没有分区的话,首先需要对硬盘分区,这里不详述。本文假定对已分区的硬盘重新做bootrom。DOS下执行如下命令:
(1)格式化需要做引导盘的分区(本文假定对D盘格式化)。
C:\>format d:
(2)执行vxsys.com,此命令作用是将引导分区加到硬盘主引导分区上(MS-DOS7.0以上版本需先执行lock命令)。
C:\>lock d: C:\>vxsys d:(3)复制bootrom、VxWorks到引导分区下。
C:\>copy bootrom d: C:\>copy vxWorks d:6、此时不要拔出U盘,重启PC104,按住Delete进入BIOS,改回优先启动项为硬盘(不改回的话,偶尔引导bootrom时会出现问题)。
7、拔出U盘,重启PC104,bootrom可正常启动,之后本地加载VxWorks镜像文件,顺利进入VxWorks系统后如下图所示。