在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. 浅谈python的对象的三大特性之继承

    前面我们定义了人的类,并用这个类实例化出两个人jack和lily,查看了它们的内存空间. 现在我们再来看看类中所存在的对向对象编程的三大特性之继承的一些特性. 前面定义了一个人的类,可是我们还知道,人 ...

  2. ABP官方文档翻译 2.2 ABP会话

    ABP会话 介绍 关于IAbpSession 注入会话 会话属性 覆盖当前会话值 警告! 用户标示 介绍 如果应用需要登录的话,同样也需要知道当前用户可以执行哪些操作.ABP在展现层提供了会话对象,同 ...

  3. Spring国际化

    国际化(Internationalization)有时候被简称为i18n,因为有18个字母在国际化的英文单词的字母i和n之间.Spring对国际化的支持示例如下所示. 需要将spring.tld放到工 ...

  4. Microsoft Visual Studio 中出现 Windows has triggered a breakpoint in xxx.exe的一个解决方案

    今天在用VS发布Release版本的过程中,碰到了一个问题,就是程序编译没有问题,但是在运行过程中出现了 根据经验,此类问题一般都是由于程序开发过程中的代码编写不规范导致内存写覆盖或者是使用了不同版本 ...

  5. 看完轻松年薪30w+

    弱鸡学git中,百度git追踪方面的博文,突然发现各种git的博文中突然插入了一个这个,不解,本以为又是某个大佬在分享他的心路历程,点进去打算喝鸡汤,666 怪不得标题党标题党这么的叫,可怕可怕,文章 ...

  6. JAVAEE——BOS物流项目07:WebService入门、apache CXF入门、基于CXF发布CRM服务

    1 学习计划 1.WebService入门 n 什么是WebService n 调用网络上的WebService服务 n SOAP和WSDL概念 n 基于JDK1.7发布一个简单的WebService ...

  7. P2P技术如何将实时视频直播带宽降低75%?

    本文内容来自学霸君资深架构师袁荣喜的技术分享. 1.前言 实时视频直播经过去年的千播大战后已经成为互联网应用的标配技术,但直播平台的成本却一直居高不下,各个平台除了挖主播.挖网红以外,其背后高额的带宽 ...

  8. 基于JDK1.8的LinkedList剖析

    之前写了一篇ArrayList,那么今天就写一篇他的姊妹篇,LinkedList. 众所周知,ArrayList底层数据是数组,可以在O(1)的时间内get到数据,但删除和插入就要O(n)时间复杂度. ...

  9. 一不小心把Mysql数据库的root的账号的权限给弄没啦,该怎么办

    别急啊,现在只要你还能连接到Mysql,就问题不大! 首先,连接道Mysql,这里用Navicat进行讲解. 说明:root@localhost和root@127.0.0.1不是一个账号,也不是一回事 ...

  10. java基础--面对对象

    面对对象--概述 什么是对象? +---->对象可以泛指一切现实中存着的事物 +---->类是对象的抽象集合 什么是面对对象? +--->万物皆对象,面对对象实际就是人与万物接触== ...