- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《VXWORKS设备驱动开发详解》
作者:华清远见
第3 章 VxWorks 操作系统启动过程详解
VxWorks VxWorks
bootrom VxWorks
BSP
专业始于专注 卓识源于远见
VxWorks 操作系统启动
3.1.1 VxWorks 基本启动方式
按VxWorks 内核的下载形式,VxWorks 启动总体上分为两种方式:下载型和ROM 型。
下载型启动方式:bootrom+VxWorks 。此时bootrom 被烧入ROM 中,而VxWorks 内核映像通过串口
或者网口下载到系统RAM 中。
ROM 型启动方式:VxWorks 直接从ROM 中运行,不借助于bootrom 引导程序。此时VxWorks 内核
映像被烧入ROM 中,无bootrom 程序。
对于不同的启动方式,VxWorks 操作系统内核映像的组成也略有不同。
bootrom 引导程序一般称为VxWorks boot Image 。该程序由如下文件创建而成:romInit.s 、bootInit.c 、
sysALib.s、sysLib.c、bootConfig.c 、设备驱动程序。
bootrom sysALib.s ROM
VxWorks
VxWorks 内核映像一般被称为VxWorks Application Image 。VxWorks 内核映像是系统启动后实际运行
的程序(操作系统本身)。对于下载形式的VxWorks 内核映像,由于需要对硬件环境进行重新初始化(即
不依赖于romInit 函数所做的初始化工作),所以最先需要运行sysInit 函数进行重新初始化,这些初始化工
作与romInit 函数基本相同,但是不再需要对内存控制器进行重新初始化,这是sysInit 区别于romInit 函数
之处。sysInit 最后跳转到usrInit 函数。而对于ROM 方式直接运行的VxWorks 内核映像,由于romInit.s
函数此时是作为内核映像的一部分,所以就省去了对 sysInit 函数的调用。下载型和 ROM 型在 VxWorks
内核文件的构成上有一些差别。
下载形式的VxWorks 内核映像组成:sysALib.s、sysLib.c、usrConfig.c 、设备驱动程序文件。
ROM 形式的 VxWorks 内核映像组成:romInit.s 、bootInit.c 、sysALib.s、sysLib.c、usrConfig.c 、设备
驱动程序文件。
ROM VxWorks sysALib.s sysInit
VxWorks defs.bsp
MACH_DEP sysALib.o
MACH_DEP = sysALib.o sysLib.o $(MACH_EXTRA) $(ADDED_MODULES)
3.1.2 VxWorks 操作系统内存布局
在VxWorks 操作系统过程中可能使用到的BootRom 和VxWorks 内核映像本身都可以存在两种方式:
压缩的和非压缩的。
1.非压缩形式
如果没有进行压缩,则只有一次重定位,即从ROM 到RAM 只存在一次代码复制过程,所有ROM 中
存储的代码都被一次性复制到RAM 中。
① 对于BootRom 而言,所有的代码被一次性复制到RAM_HIGH_ADRS 指定地址处,如图3-1 所示。
文档评论(0)