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. 前端之基础css

    一.anchor伪类,用于阅读文章. a:link(没有接触过的链接),用于链接常规状态 (末访问的链接)a:hover(鼠标放在链接上的状态) 用于产生视觉效果(已访问的链接)a:visited(访 ...

  2. Electron 打包Mac安装包代码签名问题解决方案Could not get code signature for running application

    最近一直在做electron应用的打包,集成mac版本的自动更新时出现了问题. Error: Could not get code signature for running application ...

  3. Django跨域请求之JSONP和CORS

    现在来新建一个Django项目server01,url配置为 url(r'^getData.html$',views.get_data) 其对应的视图函数为get_data: from django. ...

  4. 突然觉得前端js挺不错的

    由于工作的需要,现在对前端技术有一定的要求,但是发现普遍前端技术都比较弱,遇到问题基本上没有人能帮助你解决,只好自己学习了. 从事java开发已经好久了,真的是好久了,但是水平一直还是一般吧. 从今天 ...

  5. Linux tail,cat,head命令

    tail命令用于将文件的最后部分输出到标准设备,通常是终端,也可以支持更新操作,当文档内容发生变化时,tail会自己主动刷新,确保你看到最新的档案内容. 1.tail -f filename 监视fi ...

  6. 不要用for循环去遍历LinkedList

    ArrayList与LinkedList的普通for循环遍历 对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法: p ...

  7. 使用TransactionScope(轻量级事务)实现数据库操作事务

    TransactionScope是.Net Framework 2.0滞后,新增了一个名称空间.它的用途是为数据库访问提供了一个"轻量级"[区别于:SqlTransaction]的 ...

  8. ManagementObjectSearcher Path

    为了获取硬件信息,你还需要创建一个ManagementObjectSearcher 对象.ManagementObjectSearcher searcher = new ManagementObjec ...

  9. weblogic修改jdk版本遇到的问题与解决方法

    1.修改setDomainEnv ,路径.../domains/xx_domain\bin\ 1.1修改JAVA_HOME为需要修改的路径 注意:BEA_JAVA_HOME路径不需修改 2.修改路径后 ...

  10. Linux ipip隧道及实现

    一.IP隧道技术 IP隧道技术:是路由器把一种网络层协议封装到另一个协议中以跨过网络传送到另一个路由器的处理过程.IP 隧道(IP tunneling)是将一个IP报文封装在另一个IP报文的技术,这可 ...