在VxWorks下进行开发调试,在目标机上加载VxWorks映像很重要,在目标机上加载VxWorks映像,最重要的是三个步骤:

第一步,修改config.h文件,在config.h文件里包括硬盘驱动。

#define   INCLUDE_ATA                 /* 包括IDE/EIDE(ATA) 硬盘驱动 */

修改#define DEFAULT_BOOT_LINE(引导行)宏定义。

#define DEFAULT_BOOT_LINE \

"ata=0,0(0,0)host:/ata0a/vxWorks h=192.9.10.91 e=192.9.10.92 u=target"

这样配置引导程序将从目标机主ATA接口硬盘的C盘加载vxWorks。

第二步,在Tornado中生成引导程序bootrom。这个文件的作用是引导vxworks映像。

第三步,生成VxWorks映像。

有了bootrom和VxWorks映像,就可以进行硬盘启动试验了。

VxWorks下的硬盘启动方法一:

Bootrom在开发机Tornado中生成。注意,要选择可压缩的引导程序bootrom,不要选择不可压缩的引导程序bootrom_uncmp,这是因为目标机的引导空间有限,如果选择非压缩的引导程序bootrom_uncmp,容易造成失败。我曾经生成的bootrom_uncmp用于引导,没有成功。Bootrom生成后将其拷贝到tornado\host\X86-win32\bin目录下。在3寸软驱中中插入一张格式化好的软盘。启动MS-DOS的命令行方式在此目录下执行:

Mkboot  a:  bootrom↙

执行完上述命令后开始制作启动盘。启动盘制作成功后,软盘上将出现bootrom.sys文件。

另外找一张格式化好的软盘将本目录下的vxsys.com命令拷贝出来。再将生成的VxWorks映像文件拷贝出来。

对目标机所做的工作如下:

第一步,把目标机的BIOS硬盘参数修改为NORMAL模式;

第二步,用DOS软盘启动目标机,运行FDISK命令,对硬盘进行分区,把硬盘分为FAT16格式。

A:fdisk↙

第三步,格式化硬盘。

A:format c:↙

第四步,运行vxsys命令,这个命令的作用是将引导分区加到硬盘的主引导分区,也就是说可以进行VXLD引导了。

A:vxsys  c:↙

如果是MS_DOS 6.22,直接运行A:vxsys  c:↙命令。

如果是MS_DOS 7.0,在此之前还要运行

A:lock c:↙

A:vxsys  c:↙

第五步,将做好的bootrom.sys和生成的VxWorks映像文件拷贝到目标机。

A:copy bootrom.sys c:↙

A:copy vxworks c:↙

这样执行后再重新启动目标机就可以了。

VxWorks下的硬盘启动方法二:

第二种方法比较简单,详细如下:

第一步,将目标机上预装MS_DOS 6.22或MS_DOS 7.0(Win98的DOS版本),或者将启动盘的DOS系统传递到硬盘;

第二步,将tornado\host\X86-win32\bin目录下的vxload.com文件拷贝到目标机。

第三步,将生成的bootrom.sys文件拷贝到目标机上。

第四步,将生成的vxworks映像拷贝到目标机上。

启动目标机后,运行vxload命令进行vxworks加载就可以了。

C:vxload  bootrom.sys↙

这种方法也可以通过批处理来启动VxWorks,这需要autoexec.bat、configy.sys及HIMEM.SYS文件。

为了做成在硬盘上进行硬盘启动,笔者进行了很多试验,但是前期启动一直失败,最后总结原因,可能是因为我的机器上装了VxWorks的DOS文件系统的补丁的原因,这个补丁的作用是为了支持FAT32格式的分区。后来我又在我的机器上重新装了Tornado,这一次我没有打DOS文件系统的补丁,再进行试验,就成功了,到目前为止,在硬盘上进行硬盘启动,硬盘支持FAT16/FAT32分区。

xWorks下的硬盘启动方法的更多相关文章

  1. linux在不关机情况下新增硬盘的方法

    开机状态插入硬盘 不关机执行命令 echo "- - -" > /sys/class/scsi_host/host0/scan 注意 echo "- - -&quo ...

  2. Linux 下挂载硬盘的 方法

    1. 添加磁盘,查看磁盘状况 [root@db1 /]# fdisk -l Disk /dev/sda: 10.7 GB, 10737418240 bytes 255 heads, 63 sector ...

  3. 虚拟机Linux下扩展硬盘的方法

    [原文链接]:http://blog.csdn.net/tianlesoftware/article/details/5642883 装虚拟机时空间划小了,于是又加了5G的空间,折腾了半天,挂上去了. ...

  4. Linux下memcached安装和启动方法

    Linux下memcached安装和启动方法 1. 首先下载memcached 和 libevent 包. Memcached用到了libevent这个库用于Socket的处理.下面是下载的两个包文件 ...

  5. Linux下WebLogic的启动、停止和后台运行的方法

    Linux下WebLogic的启动.停止和后台运行的方法 进入目录:/home/weblogic/user_projects/domains/base_domain/bin 查看目录下的命令,如图: ...

  6. ORACLE在linux下的启动方法

    一.启动方法 方法1: Sql代码 cd $ORACLE_HOME/bin #进入到oracle的安装目录  ./dbstart #重启服务器  ./lsnrctl start #重启监听器 ---- ...

  7. Linux下添加硬盘,分区,格式化详解

    2005-10-17 在我们添加硬盘前,首先要了解linux系统下对硬盘和分区的命名方法. 在Linux下对IDE的设备是以hd命名的,第一个ide设备是hda,第二个是hdb.依此类推 我们一般主板 ...

  8. Ubuntu硬盘空间不足时,添加硬盘的方法

    Ubuntu下重新挂载一个硬盘:方法如下: 1 .在Vmware中关闭Ubuntu虚拟机,在设置中,添加新的硬件设备,选择Hard Disk.(这里如果不关闭Ubuntu系统就不能增加新的硬件设备) ...

  9. win7硬盘安装方法

    Windows 7 完全硬盘安装方法 干干净净的C盘 事先准备:装好系统的电脑一台,win 7安装iso. 注: (1).Windows 7要求安装在NTFS分区,但是其他分区可以是FAT32格式! ...

随机推荐

  1. FBReader阅读引擎支持的功能

    "三十年河东,三十年河西"是一句民间谚语,它的来源是:从前黄河河道不固定,经常会改道(历史上无数次发生).某个地方原来在河的东面,若干年后,因黄河水流改道,这个地方会变为在河的西面 ...

  2. 包装类和基本类型区别?(integer和int取值范围一样大)

    1.声明方式不同,int不需要new .Integer需要new 2.性质上根本不同点:int是基本数据类型.Integer是引用数据类型,它有自己的属性,方法 3.存储位置和方式不同:int是存储在 ...

  3. 细说Django的admin

    在admin.py中只需要将地Model中某个类注册,即可在Admin中进行增删查改的功能,例如: admin.site.register(models.UserInfo) 这种方式比较简单,如果想要 ...

  4. 架设rsync服务器同步数据

    什么是rsync rsync 是一个快速增量文件传输工具,它可以用于在同一主机备份内部的备分,我们还可以把它作为不同主机网络备份工具之用.本文主要讲述的是如何自架rsync服 务器,以实现文件传输.备 ...

  5. java对象表示方式--XStream

    对象表示有各种各样的方式,序列化只是其中的一种而已.表示一个对象的目的无非就是为了对象<---->IO之间相互认识,至于怎么认识,那就有很多选择了.除了之前讲过的序列化,还可以选择将数据J ...

  6. BZOJ 3993: [SDOI2015]星际战争 [二分答案 二分图]

    3993: [SDOI2015]星际战争 题意:略 R1D2T1考了裸二分答案+二分图最大匹配... #include <iostream> #include <cstdio> ...

  7. C#之文件缓存

    写在开头 今天就放假了,照理说应该写今年的总结了,但是回头一看,很久没有写过技术类的文字了,还是先不吐槽了. 关于文件缓存 写了很多的代码,常常在写EXE(定时任务)或者写小站点(数据的使用和客户端调 ...

  8. WEB-INF目录下文件复制的几种方式

    2018年1月31日 10:42:55 工作完写点博客记录下. 需求:从web-inf下拷贝文件到指定目录. 目录结构 直接贴代码 第一种方式,字节流读取 try { int index = 0; S ...

  9. ThreadLocal 简述

    ThreadLocal的理解 Java中的ThreadLocal类允许我们创建只能被同一个线程读写的变量.因此,如果一段代码含有一个ThreadLocal变量的引用,即使两个线程同时执行这段代码,它们 ...

  10. DataGrid 拖动 附加属性类

    项目需要实现一个DataGrid拖动排序,于是参考网上一些资源然后,修改了下实现了一个附加属性类,如下 使用方法 <DataGrid x:Name="shareGrid" t ...