- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目 录
1
vxworks 映像类型
1
1.1
可加载的映像类型( vxwoks )
1
2
vxworks 映像启动顺序
1
2.1
可加载型 vxworks 映像启动顺序
2
2.2
基于 ROM 的 vxworks 映像启动顺序
2
2.3
基于 ROM 驻留型 vxworks 映像启动顺序
3
3
BSP 基础知识
4
3.1
BSP 的定义
4
3.2
BSP 的功能
4
3.3
BSP 的组成
4
4
BSP 的启动
5
4.1 BSP的启动流程
5
4.2.1
romInit.s:romInit ()函数
6
4.2.2
bootInit.c:romStart()函数
14
4.2.3
bootConfig.c 分析
24
4.2.4
sysLib.s:sysInit()函数
27
4.2.5
usrconfig.c:usrInit()函数
28
4.2.6
usrconfig.c:usrRoot()函数
29
5
总结
32
1
VxWorks 及 BSP 启动流程与顺序
———李守轩
摘要: 本文首先介绍 vxworks 映像的类型及各类型 vxworks 映像的启动顺序;
然后介绍 BSP 的启动流程与初始化顺序。
关键词: vxworks 映像; BSP 启动;代码分析
1 vxworks 映像类型
对于 vxworks 映像的启动情况, 从根本上看, 在初始化和装载 vxworks 映像的过程中,处理器所执行的步骤在逻辑上是一样的。 对于有些处理器可能需要增加一些额外的步骤,而另一些处理器可能会省略掉某些步骤。
当构造 vxworks 映像时,根据需要可以构造不同类型的映像, 系统把这些映像划分成以下三种类型。
1.1 可加载的映像类型( vxwoks)
可加载型映像的执行需要通过引导代码把它装载到目标机 RAM 中,然后才开始执行。而引导代码分为两种:
1) 引导代码固化在 ROM或 FLASH中;
2) 引导代码是一个独立的 vxworks 应用;
引导代码通常也是一种 vxworks 映像,也被称为引导映像。 它的作用就是把包含应用的 vxworks 映像装入到 RAM中。引导映像可能在 ROM/FLASH中执行,也可能在 RAM中执行。
1.2 基于 ROM 的映像类型( vxworks_Rom vxwoks_RomCompress)
基于 ROM 的 vxworks 映像在执行前首先把自己从 ROM/FLASH 中装载到
RAM 中,这种类型的映像通常在启动阶段较慢,但在执行阶段比 ROM 驻留型
要快。
1.3 基于 ROM 驻留映像类型( vxwoks_RomResident)
ROM 驻留型映像在启动时把数据段拷贝到目标机 RAM 中,这种类型的映像在启动阶段比较快,当 RAM 空间比较小的时候通常使用它。在嵌入式应用中通常会使用该类型的映像,然而,它在目标机上执行的速度要比其他类型要慢,原因是 CPU 访问 ROM 比访问 RAM 要慢。
2 vxworks 映像启动顺序
在目标机加电启动时发生的顺序启动事件是一个典型 vxworks 映像需要执行的功能。所有类型的 vxworks 映像在初始化阶段启动顺序是一样的, 处理器通过“ jump”跳转指令跳转到 ROM 或 Flash 中引导带代码入口处,这段引导代码所要执行的操作包括:
1) 关中断;
2) 初始化目标机内存;
3) 装载适当的 vxworks 映像段;
1
( 4) 跳转到设置目标机为静止状态的代码处。
不同类型的 vxworks 映像启动顺序略有不同,下面介绍 vxworks 映像的启动顺序。
2.1 可加载型 vxworks 映像启动顺序
ROM/Flash RAM
LOCAL_MEM_LOCAL_ADRS
引导带程序
RAM_LOW_ADRS
Vxworks 映像
FREE_RAM_ADRS
ROM 引导程序
RAM_HIGH_ADRS
引导程序
图 2.1 可加载型 vxworks 映像启动顺序
可加载型 vxworks 映像引导的详细过程如下:
(1)数据段和代码段的装入。系统加电后执行引导带代码,首先把引导代
码的代码段和数据段从 ROM 或 Flash 里装入 RAM 中。此时需要考虑下列情况: ● 压缩型引导代码,这种类型的引导代码在拷贝时, 需要对它进行解压缩; ● 非压缩型引导代码,这种类型的引导代码直接进行拷贝即可;
● 驻留型引导代码,这种类型的引导代码在拷贝时, 仅仅拷贝它的数据段。(2)vxworks 映像的装入。引导代码执行后,把 vxworks 映像装入到 RAM
中,然后跳转到 vxworks 映像装入点。
(3)系统初始化。执
文档评论(0)