PC104上配置VxWorks硬盘启动详解

        DEVPC104-SYS是一款在 PC104 尺寸上开发出来的嵌入式工业主板。以其小巧的体积﹑超强的功能和稳定性,可广泛应用于自动查询系统﹑POS 机﹑网络终端﹑仪器仪表﹑信息家电、工业控制等各种嵌入式领域。

PC104上配置VxWorks硬盘启动详解_第1张图片 

       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”键)。如下图所示:

PC104上配置VxWorks硬盘启动详解_第2张图片

编译成功后,再输入"make bootrom"命令编译bootrom。

       制作bootrom启动软盘。先插入软盘,对软盘进行格式化,命令:format a:/q,完成格式化后,输入命令:mkboot a:  bootrom(注意:在a与bootrom之间有一个空格),制作成功后如下图所示。之后,就可以把做好的启动盘插入PC104中,重启,若能正确引导,则制作成功,否则重新检查Config.h文件,再制作。

PC104上配置VxWorks硬盘启动详解_第3张图片


三、制作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系统后如下图所示。

PC104上配置VxWorks硬盘启动详解_第4张图片


           

你可能感兴趣的:(嵌入式,vxworks,bootrom)