vxworks映像类型
(vxwoks) 1
序 1
2
基于ROM的vxworks映像启动顺序 2
基于ROM驻留型vxworks映像启动顺序 3
BSP基础知识 4
BSP的定义 4
BSP的功能 4
BSP的组成 4
BSP的启动 5
BSP的启动流程 5
: romliiit () 函数 6
: roinStait ()函数 14
分析 24
: sysliiit () 函数 27
: usrbiit () 函数 28
32
: usrRoot () 函数 29
总结
VxWorks及BSP启动流程与顺序
李守轩
摘要:本文首先介绍vxworks映像的类型及各类型vxworks映像的启动顺的 然后介绍BSP的启动流程与初始化顺序。
关键词:vxworks映像:BSP启动;代码分析
vxworks映像类型
对于vxworks映像的启动情况,从根本上看,在初始化和装载vxworks映像 的过程中,处理器所执行的步骤在逻辑上是一样的。对于有些处理器可能需要增 加一些额外的步骤,而另一些处理器可能会省略掉某些步骤。
当构造vxworks映像时,根据需耍可以构造不同类型的映像,系统把这些映 像划分成以下三种类型。
(vxwoks)
可加载型映像的执行需要通过引导代码把它装载到目标机RAM中,然后才 开始执行。而引导代码分为两种:
引导代码固化在ROM或FLASH中:
(2 )引导代码是一个独立的vxworks应用;
引导代码通常也是一种vxworks映像,也被称为引导映像。它的作用就是把 包含应用的vxworks映像装入到RAM中。引导映像可能在ROM/FLASH中执行,也 可能在RAM中执行。
基于 ROM 的映像类型(vxwoiks_Ro】n& vxwoks RoinConipiess)
基于ROM的vxworks映像在执行前首先把白己从ROM/FLASH中装载到 RAM中,这种类型的映像通常在启动阶段较慢,但在执行阶段比ROM驻留型 要快。
基于 ROM 驻留映像类型(vxwoks RoiiiResident)
ROM驻留型映像在启动时把数据段拷贝到目标机RAM中,这种类型的映 像在启动阶段比较快,当RAM空间比较小的时候通常使用它。在嵌入式应用中 通常会使用该类型的映像,然而,它在目标机上执行的速度要比其他类型要慢, 原因是CPU访问ROM比访问RAM要慢。
vxworks映像启动顺序
在目标机加电启动时发生的顺序启动事件是一个典型vxworks映像需要执 行的功能。所有类型的vxworks映像在初始化阶段启动顺序是一样的,处理辭通 过“jump”跳转指令桃转到ROM或Flash中引导带代码入口处,这段引导代码 所要执行的操作包括:
关中断:
初始化目标机内存:
装载适当的vxworks映像段;
(4)跳转到设置目标机为静止状态的代码处。
不同类型的vxworks映像启动顺序略有不同,下而介绍vxwoiks映像的启动 顺序。
口J加载型vxworks映像启动顺序
引导带程序
ROM引导程序
Vxworks 映像
引导程序
ROM/Flash
RAM
LOCAL_MEM_LOCAL_ADRS
RAM_LOW_ADRS
FREE_RAM_ADRS
图21可加载型vxw。血映像启动顺序
可加载型vxworks映像引导的详细过程如下:
(1) 数据段和代码段的装入。系统加电后执行引导带代码,首先把引导代 码的代码段和数据段从ROM或Flash里装入RAM中。此时需要考虑下列情况:
•圧缩型引导代码,这种类型的引导代码在拷贝时,需要对它进行解床缩:
•非压缩型引导代码,这种类型的引导代码直接进行拷贝即可:
•驻留型引导代码,这种类型的引导代码在拷贝时,仅仅拷贝它的数据段。
(2) vxworks映像的装入。引导代码执行后,把vxworks映像装入到RAM 中,然后跳转到vxworks映像装入点。
(3) 系统初始化。执行静态链接在vxworks映像里的系统初始化代码,最 终完成系统初始化操作。
ROM/Flash
引导带程序
RAM
基于ROM的 VxWorks 映像
Vxworks 映像
LOCAL_MEM_LOCAL_ADRS
RAM_LOW_ADRS
VxWorks及BSP启动流程与顺序 来自淘豆网m.daumloan.com转载请标明出处.