VxWorks镜像可分为三类:

  可加载型VxWorks镜像:存储在开发机上,运行在板上RAM中

  基于ROM的VxWorks镜像:存储在板上ROM,运行在板上RAM中

  ROM驻留的VxWorks镜像:存储在板上ROM,运行在板上ROM中



一、可加载的VxWorks镜像

    可加载的VxWorks镜像存储在开发机上,运行在RAM中。

    在开发的初期阶段,可以根据需要添加或删除一些VxWorks组件,生成可加载的VxWorks镜像,存放在开发主机的某个目录下,便于调试。

     Bootrom中有起始引导程序(BootStrap Programs)和引导程序(ROM Boot Programs)。

     目标板上电后,由烧在BootRom中的BootStrap Programs将ROM Boot Programs拷贝到RAM的高端地地RAM_HIGH_ADRS处,并跳转至该地址ROM Boot Programs。

     ROM Boot Programs使用配置好所选的加载方式(缺省为网络方式),将指定的主机目录下的可加载的VxWorks镜像下载到目标板的RAM地址RAM_LOW_ADRS处,并跳转到此处执行。如下图所示



图1中所示的各地址含义为:

1. LOCAL_MEM_LOCAL_ADRS是RAM的起始地址

2. RAM_LOW_ADRS是VxWorks的加载点,也是VxWorks代码段的起始位置

3. FREE_RAM_ADRS是VxWorks镜像的结束点。通常也是系统内存池和目标服务器内存池的起始地址

4. RAM_HIGH_ADRS是ROM引导程序的加载点。它也是ROM引导程序(除驻留ROM引导程序之外)的代码段的起始位置,或驻留ROM引导程序数据段的起始位置。





二、基于ROM的VxWorks镜像

   基于ROM的VxWorks镜像存储在板上ROM中,运行在RAM中。

   目标板上电后,首先运行Bootrom中的引导搬移程序,将整个VxWorks镜像从ROM拷贝到RAM地址RAM_LOW_ADRS处,并跳转到此处执行。如图2所示





该镜像根据是否被压缩又可分为:

  1.基于ROM的未压缩的VxWorks镜像,可直接从ROM拷贝到RAM中

  2.基于ROM的压缩的VxWorks镜像,这种镜像主要是为了节约Bootrom空间,在从ROM拷贝到RAM的过程中需要解压缩,因此与上述未压缩的镜像相比,它的引导过程相对较慢,但两者在RAM中的运行速度是一样的。





三、驻留ROM的VxWorks镜像

    驻留ROM的VxWorks镜像存储在板上ROM中,运行在板上ROM中。

    目标板上电后,首先运行Bootrom中的引导搬移程序,但仅将VxWorks镜像的数据段和BSS段拷贝到RAM地址RAM_LOW_ADRS处,镜像的代码段仍旧留在ROM中,从ROM中开始执行。

    这种镜像的优点是具有最快的引导速度,占用最少的RAM空间,适用于RAM空间有限的目标板。但是由于该镜像在ROM中运行,运行速度在三种镜像中是最慢的。如图3所示。

VxWorks镜像简介的更多相关文章

  1. 第三篇——第二部分——第一文 SQL Server镜像简介

    原文:第三篇--第二部分--第一文 SQL Server镜像简介 原文出处:http://blog.csdn.net/dba_huangzj/article/details/26951563 镜像是什 ...

  2. docker入门——镜像简介

    什么是docker镜像 Docker镜像是由文件系统叠加而成. 最底端是一个引导文件系统,即bootfs: 这很像典型的Linux/Unix的引导文件系统.Docker用户几乎永远不会和引导文件系统有 ...

  3. Docker - Docker 镜像 简介

    概述 简单介绍一下 docker 镜像的概念 1. 背景 复习 docker 镜像是 docker 最基础, 最重要的概念之一 所以正式使用之前, 最好有所理解和认识 2. 镜像 概述 简单描述 理解 ...

  4. 002.SQLServer数据库镜像高可用简介

    一 数据库镜像简介 1.1 数据库镜像概述 数据库镜像维护一个数据库的两个副本,这两个副本必须驻留在不同的 SQL Server 数据库引擎服务器实例上. 通常,这些服务器实例驻留在不同位置的计算机上 ...

  5. VxWorks环境搭建与学习

    搭建环境所需的所有资源: https://pan.baidu.com/s/1sUF2I_DBHs-86IUJ4Ykn2Q 提取码: t7sj 实时系统vxWorks - Shell命令 https:/ ...

  6. SQL Server 2005 镜像构建手册

    转载:http://www.cnblogs.com/killkill/archive/2008/05/23/1205792.html 一. 镜像简介 1. 简介 数据库镜像是将数据库事务处理从一个SQ ...

  7. win7下的vxworks总结

    在visualbox下运行vxworks 先来看一张效果图: 在tornado端 成功运行第一个程序,输出了visualbox can run the vxworks ! 在vmware下的速度快多了 ...

  8. 第三篇——第二部分——第二文 计划搭建SQL Server镜像

    原文:第三篇--第二部分--第二文 计划搭建SQL Server镜像 本文紧跟上一章:SQL Server镜像简介 本文出处:http://blog.csdn.net/dba_huangzj/arti ...

  9. VxWorks启动流程

    镜像种类不同,VxWorks的启动过程会有所不同. 我们项目中使用的是加载型VxWorks镜像 函数 函数功能 所在文件 bootTask() (a)    通过createBootLineFromF ...

随机推荐

  1. Python函数可变参数*args及**kwargs详解

    初学Python的同学们看到代码中类似func(*args, **kwargs)这样的函数参数定义时,经常感到一头雾水. 下面通过一个简单的例子来详细解释下Python函数可变参数*args及**kw ...

  2. Hands-On Machine Learning with Scikit-Learn and TensorFlow---读书笔记

    去年在北京参加了一次由O'Reilly和Cloudera联合举办的大数据会议Strata Data Conference,并有幸获得了O'Reilly出版的Hands-On Machine Learn ...

  3. iOS-OC、Swift 混编之桥接文件

    新建一个OC语言的项目,然后添加一个基于NSObject的Swift文件SwiftFileModel类 .swift import UIKit class SwiftFileModel: NSObje ...

  4. java web 获取客户端操作系统信息

    package com.java.basic.pattern; import java.util.regex.Matcher; import java.util.regex.Pattern; /** ...

  5. Spring单元测试

    1.基于AbstractDependencyInjectionSpringContextTests Spring的单元测试可以使用AbstractDependencyInjectionSpringCo ...

  6. 最大流模版 EK

    EK算法基于增广路的思想,易于理解,但由于低效并不被经常使用 #include <iostream> #include <cstdio> #include <algori ...

  7. 济南清北学堂游记 Day 6.

    还剩一天半我就该回去了. 说实话今天挺可惜的,有很多本来可以得到的分数评测时没有拿到.上午的第一题和第二题我都想出了正解,T3敲了一个暴力,虽然暴力写坏了.预计是可以拿210的但是实际上只有很少的分数 ...

  8. HDU 3032 Nim or not Nim? [Multi-SG]

    传送门 题意: nim游戏,多了一种操作:将一堆分成两堆 Multi-SG游戏规定,在符合拓扑原则的前提下,一个单一游戏的后继可以为多个单一游戏. 仍然可以使用$SG$函数,分成多个游戏的后继$SG$ ...

  9. 本地Linux服务器上配置Git

    当我们需要拉取远程服务器代码到本地服务器时,我们首先要确定已经配置了正确的Git账号,可以从~/.gitconfig文件(为隐藏文件,需要使用ls -a查看),以及~/.ssh下的id_rsa.pub ...

  10. filezilla server客户端FTP连接不上解决

    windows服务器上安装Filezilla server后,本地客户端连接不上.解决办法: 1.在防火墙把filezilla的 Filazilla server interface.exe 和Fil ...