在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. 2017年总结的前端文章——CSS高级技巧汇总

    1. 页面顶部阴影 body:before{ content: ""; position: fixed; top:-10px; left:; width: 100%; height ...

  2. Centos6.5离线安装lsb_release

    参考 http://www.linuxfromscratch.org/blfs/view/systemd/postlfs/lsb-release.html首先在其他电脑下载lsb_release源码地 ...

  3. MySQL分区表基础

    首先要确定MySQL是否支持分区: Mysql> SHOW VARIABLES LIKE '%partition%'; +-----------------------+-------+| Va ...

  4. RMI基础

    远程方法调用(Remote Method Invocation,RMI)从JDK1.1就已经实现,它大大增强了Java开发分布式应用的能力.可以实现通过网络完成不同JVM间的通信,不仅可以传递基本的数 ...

  5. HEOI2016 题解

    HEOI2016 题解 Q:为什么要在sdoi前做去年的heoi题 A:我省选药丸 http://cogs.pro/cogs/problem/index.php?key=heoi2016 D1T1 树 ...

  6. BZOJ 3620: 似乎在梦中见过的样子 [KMP 暴力]

    和我签订契约,成为魔法少女吧 题意:求所有形似于A+B+A 的子串的数量 , 且len(A)>=k,len(B)>=1 位置不同其他性质相同的子串算不同子串,位置相同但拆分不同的子串算同一 ...

  7. 用js实现2048小游戏

    用js实现2048小游戏 笔记仓库:https://github.com/nnngu/LearningNotes 1.游戏简介 2048是一款休闲益智类的数字叠加小游戏.(文末给出源代码和演示地址) ...

  8. VS2008集成PC-lint

    引言 C/C++语言的语法拥有其它语言所没有的灵活性,这种灵活性带来了代码效率的提升,但相应也使得代码编写具有很大的随意性,另外C/C++编译器不进行强制类型检查,也不做任何边界检查,这就增加了代码中 ...

  9. shell实现centos7双网卡修改网卡名eth0,eth1,并设置网络

    #!/bin/bash interface1=`ls /sys/class/net|grep en|awk 'NR==1{print}'` interface2=`ls /sys/class/net| ...

  10. MySQL中的内置系统函数

    一.字符串函数  1. CONCAT(S1,S2....SN): 把传入的参数连接成一个字符串  2. INSERT(str, x, y, insert): 将字符串 X位置开始,y个字符串长度替换为 ...