热线电话:400-123-4567

公司动态

VxWorkbob综合体育官方入口s系统的映像及其装载过

VxWorks是一款优秀的嵌入式实时多任务操作系统,以其良好的可持续开发能力、高性能的内核和友好的用户开发环境,在嵌入式实时操作系统领域占据重要地位,受到越来越多用户的青睐。但是作为初学者,VxWorks提供的程序镜像类型很多,在开发过程中非常混乱,相关参考资料中对这个问题的描述也不集中。因此,本文拟对几个VxWorks图片进行详细分析。1系统映像VxWorks映像主要包括两类,一类是BootRom类型,一类是VxWorks类型。(1)BootRom类型BootRom类型镜像是一个最小化的专用VxWorks引导镜像,实现了最少的系统初始化。主要用于开始加载VxWorks镜像,功能类似于PC的BIOS。BootRom运行时还建立了一个多任务环境,包括usrRoot任务、网络任务、TFFS任务和FTP任务。当启动映像运行时,它可以在ROM/Flash(如ROM常驻启动映像)或RAM中执行。在系统中,其对应的编译规则文件是rules . bsp BootRom有三种类型:BootRom_res、BootRom_uncmp、BootRom。第一种是一直在rom中运行的镜像,只把数据段复制到ram中;第二种是未压缩的映像,其中数据段和文本段都被复制到ram中,并在ram中运行;三是压缩图像。生成时,编译器会将除romlnit.s和bootInit.c之外的目标文件压缩并“组装”到bootrom中。Z.s,最后链接romInit.o、bootInit.o、version.o生成bootrom镜像。所以也需要拷贝到ram,必须解压。而这些工作基本都是在bootInit.c中进行的..(2)VxWorks类型VxWorks类型映像是系统的主映像,也就是系统最终运行的映像。运行时至少有一部分镜像(比如数据段和BSS段)需要在RAM中运行。在系统中,其对应的编译规则文件为rules.vxWorks有四种类型的vxWorks映像:VxWorks、VxWorks_rom、VxWorks_romResident和VxWorks_romCompress。见表1。

表1 VxWorks类型图像

 

文件名

解释

嵌入式系统

运行内存的VxWorks映像

VxWorks_rom

由ROM自动运行的VxWorks映像不需要BootRom的帮助。

VxWorks_romCompress

VxWorks_rom的压缩形式

VxWorks_romResiden

由bootrom运行的VxWorks映像不需要boot ROM的帮助。

  (3)BootRom 类型映像和VxWorks类型映像的联系与区别   对于没有自启动功能的 VxWorks类型映像(例如:VxWorks型),在映像运行前就需要一段程序将该映像拷贝到RAM 中运行,而BootRom类型映像在此时就扮演了这种“搬运工”的角色,当VxWorks系统下载完毕,BootRom的任务也就完成了。二者在系统初始化的时候,所做的功能基本相同,但是区别在于BootRom 类型映像调用bootConfig.c,而VxWorks类型映像调用usrConfig.c。 2 映像装载过程   (1)VxWorks_romCompress和VxWorks_rom(如图1)            将不包含VxWorks二进制映像的引导程序data段复制到RAM 中的RAM_HIGH_ADRS。   冷启动后,将从LOCAL_MEM_LOCAL_ADRS+RESER-VED的内存地址到RAM_HIGH_ADRS-STACK_SAVE的内存地址清零。将从引导程序bss段末端到LOCAL_MEM_LOCAL_ADRS+LOCAL_MEM_SIZE-USER_RESERVED_MEM的内存也清零。   拷贝VxWorks时,VxWorks_rom 类型映像直接拷贝到以RAM_LOW_ADRS为开始的RAM 中,而VxWorks_rom-Compress类型的映像将压缩的VxWorks解压到以RAM_LOW_ADRS为开始的RAM 中。

Copyright © 2022 BOB综合体育官方入口 版权所有    ICP备********号