VxWorks镜像简介
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镜像简介的更多相关文章
- 第三篇——第二部分——第一文 SQL Server镜像简介
原文:第三篇--第二部分--第一文 SQL Server镜像简介 原文出处:http://blog.csdn.net/dba_huangzj/article/details/26951563 镜像是什 ...
- docker入门——镜像简介
什么是docker镜像 Docker镜像是由文件系统叠加而成. 最底端是一个引导文件系统,即bootfs: 这很像典型的Linux/Unix的引导文件系统.Docker用户几乎永远不会和引导文件系统有 ...
- Docker - Docker 镜像 简介
概述 简单介绍一下 docker 镜像的概念 1. 背景 复习 docker 镜像是 docker 最基础, 最重要的概念之一 所以正式使用之前, 最好有所理解和认识 2. 镜像 概述 简单描述 理解 ...
- 002.SQLServer数据库镜像高可用简介
一 数据库镜像简介 1.1 数据库镜像概述 数据库镜像维护一个数据库的两个副本,这两个副本必须驻留在不同的 SQL Server 数据库引擎服务器实例上. 通常,这些服务器实例驻留在不同位置的计算机上 ...
- VxWorks环境搭建与学习
搭建环境所需的所有资源: https://pan.baidu.com/s/1sUF2I_DBHs-86IUJ4Ykn2Q 提取码: t7sj 实时系统vxWorks - Shell命令 https:/ ...
- SQL Server 2005 镜像构建手册
转载:http://www.cnblogs.com/killkill/archive/2008/05/23/1205792.html 一. 镜像简介 1. 简介 数据库镜像是将数据库事务处理从一个SQ ...
- win7下的vxworks总结
在visualbox下运行vxworks 先来看一张效果图: 在tornado端 成功运行第一个程序,输出了visualbox can run the vxworks ! 在vmware下的速度快多了 ...
- 第三篇——第二部分——第二文 计划搭建SQL Server镜像
原文:第三篇--第二部分--第二文 计划搭建SQL Server镜像 本文紧跟上一章:SQL Server镜像简介 本文出处:http://blog.csdn.net/dba_huangzj/arti ...
- VxWorks启动流程
镜像种类不同,VxWorks的启动过程会有所不同. 我们项目中使用的是加载型VxWorks镜像 函数 函数功能 所在文件 bootTask() (a) 通过createBootLineFromF ...
随机推荐
- 【原创】POI 生成Excel文件并下载
ι 版权声明:本文为博主原创文章,未经博主允许不得转载. 效果图: 实现 1.在pom中添加依赖: <!-- https://mvnrepository.com/artifact/org.apa ...
- Jquery之isPlainObject源码分析
今天对Jquery中 isPlainObject 源码分析. 1. isPlainObject 方法的作用: 用来判断传入参数,是否是对象. 2. 源码分析:isPlainObject: funct ...
- 使用webpack、babel、react、antdesign配置单页面应用开发环境
这是Webpack+React系列配置过程记录的第一篇.其他内容请参考: 第一篇:使用webpack.babel.react.antdesign配置单页面应用开发环境 第二篇:使用react-rout ...
- 如何解决Linux 系统下 ifconfig 命令无网络接口 ens33
今天我在做Redis的哨兵集群模式的时候,以前都是好的,也不知道从什么时候开始就无法连接Redis服务器了,就是运行如下命令,没有效果:redis-server redis.conf,然后在通过命令查 ...
- BZOJ 2839: 集合计数 [容斥原理 组合]
2839: 集合计数 题意:n个元素的集合,选出若干子集使得交集大小为k,求方案数 先选出k个\(\binom{n}{k}\),剩下选出一些集合交集为空集 考虑容斥 \[ 交集为\emptyset = ...
- python怎么实现数组增加一行或多行
对数组增加一行或一列很简单,网上一搜一大把的事例.比如增加一行或一列: import numpy as np a = np.array([[1, 2, 3]]) row = a[0] col = a[ ...
- HashSet和CopyOnWriteArraySet
前言 这篇文章的目的如下: HashSet是如何保证元素的不重复和无序 HashSet的增删(改查?)原理 CopyOnWriteArraySet支持并发的原理 CopyOnWriteArraySet ...
- 【特性】select语句中使用字符串链接获取字段值失败
坑1 在一个多行的表中,想把其中的一个字段值拿出来,组成一个字符串供后面使用. 按照以往,自己就如以下这么写了: declare @sql varchar(8000) set @sql='insert ...
- 用UltraISO制作CentOS U盘安装盘
1 下载UltraISO 网上有很多版本,下个绿色版的就ok了. 下载地址:http://www.pc6.com//softview/SoftView_13698.html 2 下载Cen ...
- Java基础系列--static关键字
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/8477914.html 一.概述 static关键字是Java诸多关键字中较常使用的一个,从 ...