嵌入式操作系统启动流程

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1什么是BSP:

1.在通电后,初始化硬件(bootrom)

2.支持VxWorks和硬件驱动通信(Image的底层驱动)

3.本质上是硬件驱动、初始化的合集;

2研究BSP内容:

1.系统image的生成和image的种类

2.image的download下载过程

3.系统的启动顺序和过程

4.调试环境的配置及远端调试的方式和方法

5.相应BSP设置文件的修改(网络,串口..)

6.BSP各文件的组成和作用.

7.要对系统底层驱动清楚,也就是对CPU及相关的硬件有所了解.主

要是32微处理器(上电启动过程, download image的方式方法,读

写ROM,地址空间分配,MMU,寄存器,中断定义,..).参照硬件资料,

多读一些源码会有所帮助.

3BSP主要文件目录的组成及主要文件的作用:

3.1目录target/config/All:

这个目录下的文件是所有BSP文件共享的,不是特别需要不要更改里面的任何文件.

configAll.h:

缺省定义了所有VxWorks的设置.如果不用缺省的设置,可在BSP目录下的config.h文件中用#define或#undef方式来更改设置.

bootInit.c:

在romInit.s后,完成Boot ROM的第二步初始化.程序从romInit.s中的romInit()跳到这个文件中的romStart().来执行必要的解压和ROM image的放置.

bootConfig.c:完成Boot ROM image的初始化和控制.

usrConfig.c: VxWorks image的初始化代码.

3.2目录target/config/comps/src:

涉及系统核心的components,主要由target/config/All中usrConfig.c中函数调用

3.3目录target/config/bspname:

包含系统或硬件相关的BSP文件.

Makefile

一些命令行控制images的生成,参见

README

BSP发布纪录,版本,总的文档

config.h

包括所有涉及CPU主板的设置及定义(includes,definations),参见

configNet.h

网络驱动的主要设置文件,主要对END驱动设置.

romInit.s

汇编语言文件,是VxWorks Boot ROM和ROM based image的入口,参见

sysALib.s

汇编语言文件,程序员可以把自己的汇编函数放在这个文件里,在上层调

用.VxWorks image的入口点_sysInit在这个文件里,是在RAM中执行的第一个函数.

sysLib.c

包含一些系统相关的函数例程,提供了一个board-level的接口,VxWorks和应用程序可以以system-indepent的方式生成.这个文件还能包含目录

target/config/comps/src的驱动.

sysScsi.c

可选文件用于Scsi设备设置和初始化.

sysSerial.c

可选文件用于所有的串口设置和初始化.

bootrom.hex

ASIC文件包含VxWorks Boot ROM代码

VxWorks

运行在目标机上,完整的,连结后的VxWorks二进制文件.

VxWorks.sym

完全的,连结后带有符号表的VxWorks二进制文件

VxWorks.st

完全的,连结后,standalone,带有符号表的VxWorks二进制文件

4VxWorks Image

4.1VxWorks images consist of:

∙Text segment---executable instruction.

∙Data segment---Initilized global and static varibles.

∙BSS.

4.2分类和工作机理:

Bootrom不是VxWorks Image,不参与讨论它本质上是一段Boot program,最少的系统初始化,主要用于启动装载VxWorks image.一般有压缩和不压缩两种形式,如bootrom和boot_uncmp.与VxWorks image的区别在于一个Bootrom调用bootConfig.c,而VxWorks调用usrConfig.c.

VxWorks 本质上分为两大类:

1.Vxworks分为两大类:

1)Uploaded images(通过网口、串口、硬盘、软盘、DOC、ROM中

加载到RAM中执行的)

vxWorks - basic Tornado, shell 和symbol table 在主机端

vxWorks.st(文件很大)- 独立的image,包含shell和symbol table

在目标板运行

2)ROM based images(直接烧入ROM的VxWorks):

VxWorks_Rom类的Vxworks又分了两类:1)驻留的resident 2)不

住留的

1.不住留的ROM – Based VxWorks Image

2.驻留的VxWorks_rom_resident

2.说的再具体点:

1)可下载的Vxworks image

2)ROM中烧制的Image

1.vxWorks_rom - Tornado in ROM,非压缩, 在RAM 中运行

2.vxWorks.res_rom_nosym - Tornado in ROM, 非压缩,在ROM 中

相关文档
最新文档