VxWorks BSP和启动过程.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VxWorks BSP和启动过程 ????先讲讲BSP和BootRom之间的区别BSP只与“target/config/”下对应目录相关。romInit.s定义系统的入口romInit()函数,系统上电最先执行的代码。romInit()禁止CPU中断,设置初始堆栈,配置DRAM控制器等少数CPU设置后调用第一个C程序romStart()。进一步硬件初始化有sysLib.c中定义sysHwInit函数完成。romInit.s中的硬件初始化会在sysALib.s或sysLib.s重复一遍。因为vxworks程序只需要BootRom提供参数串和启动代码。而不依赖于BootRom的硬件初始化(除了RAM初始化)。BootRom和Vxworks的无关运行是一个原则,若不遵循这个原则,就会出现Vxworks和BootRom的关联修改。 ??? 从宏观角度看来,一般是先加载BootRom;BootRom再加载VxWorks应用,并跳转到Vxworks的入口sysInit执行;VxWorks有可能根据启动的脚本文件加载应用模块。整个过程完成后,系统进入多任务环境。 对于PC兼容体系结构,CPU不能从这样的存储器中获取指令执行,而需要BIOS的辅助。BIOS将启动盘的引导扇区复制到主内存空间,再跳内存的指定地址执行。BIOS本身所处的存储器是CPU可直接访问执行的。BIOS再加载程序映象时用自己的规范,比如引导扇区的位置和大小等。BootRom自己能满足这样的要求,比如说大小,BootRom比一个扇区大了许多。BIOS不能直接加载BootRom,而只能先加载辅助的小程序Vxld。由于大小限制,Vxld不支持完善的文件系统,所以要求启动盘上的BootRom文件必须连续存放。Vxld再加载BootRom。由于硬件环境限制,Vxld必须做的非常小,不能启动保护模式和支持翻检系统,因而限制了所能减灾程序映象的大小和内存加载位置。启动盘(如软盘)的大小也会限制程序映象的大小。 ??? 也有可能由于环境影响,出现BootRom与Vxworks映象融合在一起的情况,可以直接从Rom启动但是不灵活。 ? VxWorks Image的种类 1。ROM-based images(compressed/uncompressed) 2。Loadable VxWorks image:通过VxWorks boot image 装载的VxWorks image 3。VxWorks boot images:用于启动Loadable VxWorks image的A VxWorks image 4。ROM-resident image:只拷贝image中的数据部分(data segment)到内存RAM,留下程序 ????????????????????? 部分(text segment)在ROM中执行,这样空出更多的RAM空间给 ????????????????????? 应用程序。 5。VxWorks ROM image:装载进ROM或者flash,可能在ROM或者flash中运行的image. 6。VxWorks image的组成:Text segment、data segment、BSS Segment. 8。VxWorks.st(文件很大):独立的image,包含shell和symbol table在目标机运行。 9。ROM based images(直接烧入ROM的VxWorks): ?? VxWorks_rom:Tornado in ROM,非压缩,在RAM中运行。 ?? VxWorks.res_rom_nosym:Tornado in ROM,在ROM中运行。 ?? VxWorks.st_rom:stand-alone in ROM,压缩,RAM中运行。 ?? VxWorks.res_ROM:Stand-alone in ROM,非压缩,ROM中运行。 ? 操作系统的启动顺序 1。处理器“跳”到在ROM或Flash中Boot-strap程序的起点,该程序主要有一下作用: ?? 关闭中断; ?? 初始化目标内存; ?? 装载要运行的VxWorks image segments; ?? “跳”到放置目标系统为静态的代码处。 2。Loadable VxWorks image: ?? bootstrap代码开始执行,从ROM或者FLASH中装载启动代码的文本段和数据段数据 3。启动代码(Boot code)压缩的启动代码在拷贝的过程中解压缩。 4。未压缩的代码直接拷贝。 5。如果启动代码是ROM-resident,只拷贝数据段。 6。启动程序(Boot program)执行,把VxWorks装载进RAM。“跳”到VxWorks的装载点。 7。系统初始化代码被静态链接到

文档评论(0)

hong333666 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档