BootRom
压缩方式的映象,生成的时候编译器会把除掉romlnit.s 和bootInit.c之外的目标文件压缩并“汇编”成一个 bootrom.Z.s,最后和romInit.o,bootInit.o, version.o进行链接,生成bootrom映像。要全部拷贝到ram中,并必须要进行解压缩的工作。而这 些工作基本上都是在bootInit.c中进行的。
VxWorks类型映像
系统的主映像,是系统最终要运行的映像该映像在运行时至少有一部分(如:数据段和BSS段)需要在 RAM中运行。在系统中其对应的编译规则文件是rules.vxWorks
Vxworks 类型映像运行环境
RAM运行的 压缩的 ROM运行的 非压缩的
VxWorks类型四种映像
? VxWorks:RAM运行的VxWorks映像不包含引导程序,需
要独立的引导程序从本地存储器或者经 由网络获取该映像,然后将其下载到RAM中的 RAM_LOW_LADRS处运行
? VxWorks_romROM 自动RAM 运行的VxWorks映像,不需要
BootRom辅 助
? VxWorks_romResidentROM启动ROM运行的VxWorks映
像,不需要BootRom辅助。包含引导代码,在重启时清空RAM,引导代码只将data段拷 贝到RAM 中的RAM_LOW_ADRS处,系统的运行是在ROM 中进行的,启动速度快,需要的RAM 空间少,但是运行速度慢 。
? VxWorks_romCompressVxWorks_rom的压缩形式
9 / 71
VxWorks型vs BootROM型映像
对于没有自启动功能的VxWorks类型映像(如 VxWorks型),映像运行前需一段程序将该映 像拷贝到RAM中运行,BootRom类型映像完成VxWorks系统下载, 完毕后BootRom的任务就结束了
二者在系统初始化的时候,所做的功能基本相 同,BootRom类型映像调用bootConfig.c,而 VxWorks类型映像调用usrConfig.c
映像链接方式
可被静态或动态链接
VxWorks在开发阶段可动态地下载目标文件,并与 操作系统及其它目标文件动态链接。链接以后是浮动的,只在装载时才与绝对物理地址 相对应。静态VxWorks成品阶段是采用静态链接的。
10 / 71
要对系统底层驱动清楚,也就是对CPU及相关的硬件有所了解.主要是32微处理器(上电启动过程, download image的方式方法,读写ROM,地址空间分配,MMU,寄存器,中断定义,..).参照硬件资料,多读一些源码会有所帮助. Tornado 2 开发调试环境协议框图 主机开发(Host Development System)
Tornado 工具
目标机(Target System)
Target WDB协议通信 <==========>
Application VxWorks OS VxWorks Target (WDB)Agent Shell Editor Debugger WTX协议通Server 信<==========> Project Browser | Target Agent VxWorks Target Simulator Windview 两个主要两个协议
WTX协议(Wind River Tool eXchange): 用于开发机内部Tornado工具与Target Server之间通信.
WDB协议(Wind DeBug): 用于主机Target Server与目标机之间的通信.
2.2 BSP主要文件目录的组成及作用: Install_direction/target/config/All:
这个目录下的文件是所有BSP文件共享的,不是特别需要不要更改里面的任
11 / 71
何文件. 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的初始化代码.
Install/target/config/comps/src:
涉及系统核心的components,主要由target/config/All中usrConfig.c中函数调用.
intasll/target/config/bspname: 包含系统或硬件相关的BSP文件. Makefile
一些命令行控制images的生成,参见 BSP设置部分及生成下载 README
BSP发布纪录,版本,总的文档 config.h
包括所有涉及CPU主板的设置及定义(includes,definations),参见 BSP设置文件及生成下载
configNet.h
网络驱动的主要设置文件,主要对END驱动设置. romInit.s
汇编语言文件,是VxWorks Boot ROM和ROM based image的入口,参见 系统启动部分
sysALib.s
汇编语言文件,程序员可以把自己的汇编函数放在这个文件里,在上层调用.VxWorks image的入口点_sysInit在这个文件里,是在RAM中执行的
12 / 71

