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. 动态库Link error 一种可能

    一般出现link error都是链接时找不到对应函数. 前些天出现这种错误,我反复地检查,都发现动态库里明确的是有对应函数的. 代码里有这样一句#pragma comment(lib,"li ...

  2. 百度坐标(BD-09)、国测局坐标(火星坐标,GCJ-02)和WGS-84坐标互转

    // 坐标转换 var coordTransform = (function () { // 一些常量 var PI = 3.1415926535897932384626; var X_PI = 3. ...

  3. 在IAR下移植CC2650 contiki工程

    与Instant Contiki相比,在Windows的IAR下开发可以在线仿真,下载也更方便,因此我想把BLEach的工程移植到IAR下.弄了好几天总算编译并且下载成功了,参考了[这篇TI的wiki ...

  4. python3操作redis

    redis也被称为缓存 1.redis是一个key-value存储系统,没有ForeignKey和ManyToMany的字段. 2.在redis中创建的数据彼此之间是没有关系的,所以也被称为是非关系型 ...

  5. python3的zip函数

    zip函数接受任意多个可迭代对象作为参数,将对象中对应的元素打包成一个tuple,然后返回一个可迭代的zip对象. 这个可迭代对象可以使用循环的方式列出其元素 若多个可迭代对象的长度不一致,则所返回的 ...

  6. ABP官方文档翻译 4.6 审计日志

    审计日志 介绍 关于IAuditingStore 配置 通过特性启用/禁用 注意事项 介绍 维基百科:“审计追踪(也称为审计日志)是与安全相关的按时间先后的记录.记录集合.记录的目的地和源,提供一系列 ...

  7. Codeforces Round #402 (Div. 2)

    Codeforces Round #402 (Div. 2) A. 日常沙比提 #include<iostream> #include<cstdio> #include< ...

  8. 让SpringMVC Restful API优雅地支持多版本

    好久没有更新博客,难得有空,记录一下今天写的一个小工具,供有需要的朋友参考. 在移动APP开发中,多版本接口同时存在的情况经常发生,通常接口支持多版本,有以下两种方式: 1.通过不同路径区分不同版本 ...

  9. 2018/2/11 ELK技术栈之ElasticSearch学习笔记二

    终于有时间记录一下最近学习的知识了,其实除了写下的这些还有很多很多,但懒得一一写下了: ElasticSearch添加修改删除原理:ElasticSearch的倒排索引和文档一旦生成就不允许修改(其实 ...

  10. u-boot核心初始化

    异常向量表:异常:因为内部或者外部的一些事件,导致处理器停下正在处理的工作,转而去处理这些发生的事件.ARM Architecture Reference Manual p54页.7种异常的类型:Re ...