VxWorks镜像简介

简介: VxWorks镜像可分为三类:<br>   可加载型VxWorks镜像:存储在开发机上,运行在板上RAM中<br>   基于ROM的VxWorks镜像:存储在板上ROM,运行在板上RAM中<br>   ROM驻留的VxWorks镜像:存储在板上ROM,运行在板上ROM中<br><br><span style="font-size:18px; color:#0000f0"><stron
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所示。

相关文章
|
5月前
|
Linux Shell Docker
|
5月前
|
Linux Apache Docker
|
5月前
|
Linux 网络安全 数据安全/隐私保护
|
XML 存储 Ubuntu
RK3568开发笔记(五):在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像
buildroot虽然灵活,但是基于实际情况,本身是侧重驱动和应用定制开发的只定制一次文件系统投入有点多,还不如直接ubunt自己交叉编译依赖库,做一些库的移植裁剪。   于是本篇就使用ubuntu系统了,至于其他库自己下源码在宿主机交叉编译号后,再拷贝过去或者直接在板子上编译也行(只是会比较慢),但是意义不大,因为开发过程肯定是用宿主机,不然核心板编译太慢,在编译上会花费不少可以省去的时间。
RK3568开发笔记(五):在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像
|
运维 Devops Linux
【Linux】【开发环境】【RHEL】开发环境搭建系列之六——安装docker基础环境
【Linux】【开发环境】【RHEL】开发环境搭建系列之六——安装docker基础环境
127 0
|
Ubuntu
嵌入式实践教程--ubuntu18.04-armhf根文件系统移植
嵌入式实践教程--ubuntu18.04-armhf根文件系统移植
|
缓存 弹性计算 Linux
Linux容器技术原理和使用
传统的虚拟化技术是通过硬件模拟或者操作系统软件实现,而容器技术可以比传统虚拟化更轻量级。
1241 0
|
Ubuntu Linux iOS开发
Docker在各种操作系统环境的下载、安装配置方法(上)
Docker在各种操作系统环境的下载、安装配置方法
116 0
Docker在各种操作系统环境的下载、安装配置方法(上)
|
Linux Apache Windows
Linux 制作系统镜像
Linux 制作系统镜像
Linux 制作系统镜像
|
应用服务中间件 Linux 开发工具

热门文章

最新文章