嵌入式操作系统启动流程

合集下载
  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寄存器,中断定义,..).参照硬件资料,多读一些源码会有所帮助.

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

3.1 目录target/config/All:

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

configAll.h:

缺省定义了所有VxWorks的设置.如果不用缺省的设置,可在BSP目录下的config.h文件中用

#define或#口门def方式来更改设置.

bootInit.c:

在romlnit.s 后,完成Boot ROM的第二步初始化.程序从romlnit.s 中的romlnit() 跳到这个文件中的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文件.

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

README

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

config.h

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

configNet.h

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

romInit.s

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

sysALib.s

汇编语言文件,程序员可以把自己的汇编函数放在这个文件里,在上层调用.VxWorks image 的入口点_syslnit在这个文件里,是在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二进制文件

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

4 VxWorks Image

4.1 VxWorks images con sist of:

« Text segment---executable instruction.

« Data segment---In itilized 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 Torn ado, 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 中运行

3. vxWorks.st_rom - Stand-alone in ROM,压缩,RAM 中运行

4. vxWorks.res_rom - Stand-alone in ROM,非压缩,ROM 中运行

3. VxWorks在存储介质中的存放方式

5 启动

5.1启动概述

1. Bootrom的启动

最少的系统初始化,主要用于启动装载VxWorksimage. —般有压缩和不压缩两种形式, 如bootrom 和boot_uncmp.与VxWorksimage 的区别在于一个Bootrom 调用bootConfig.c, 而VxWorks调用usrConfig.c.

相关文档
最新文档