VxWorks引导程序启动详细过程(bootrom_uncmp.bin)
- 格式:doc
- 大小:61.50 KB
- 文档页数:14


VxWorks启动过程详解vxworks有三种映像:VxWorks Image的文件类型有三种- Loadable Images:由Boot-ROM引导通过网口或串口下载到RAM- ROM-based Images(压缩/没有压缩):即将Image直接烧入ROM,运行时将Image拷入RAM中运行。
-ROM-Resident Images:Image的指令部分驻留在ROM中运行,仅将数据段部分拷入RAM。
注意这里说的三种映像都是包含真正操作系统VxWorks的映像,其中后两种可以直接启动并运行起来,但是第一种不行,它必须借助另一个叫做Boot Image的映像(可以在Torn ado 中的build->build boot rom中生成)才能运行起来,也就是利用Boot Image引导起来然后通过网口或串口下载真正包含VxWorks的Loadable Image,然后才能运行起来。
也就是说Boot Image是和Loadable Image 结合使用的。
现在看来一共有四种映像文件,让我们看看它们的组成吧:-Boot Image:包含一段叫做BootStrap Programs的程序+一段ROM BOOT Program程序。
-Loadable Images:有操作系统VxWorks和应用组成的映像。
-ROM-based Images(压缩/没有压缩):包含一段叫做B ootStrap Programs的程序+ Loadable Images(即有操作系统VxWorks和应用组成的映像)-ROM-Resident Images:同上通过上面我们可以看出,ROM-based Images,ROM-Resid ent Images,Boot Image三种映像都包含一段叫做BootStrap Programs的程序,它具有启动功能,可以把ROM中的代码段和数据段拷贝到RAM中;下面让我们看看三种VxWorks的启动过程:Boot Image +Loadable Images:我们说过Loadable Images是依靠Boot Image加载启动的,首先有Boot Image中的程序BootStrap Programs把Boo t Program程序加载到RAM中的RAM_HIGH_ADRS处,然后控制权交给Boot Program,由Boot Program负责一系列简单的硬件初始化(网口,串口等),开始下载Loadable Images(即包含应用的VxWorks操作系统)到RAM_LOW_ADRS,然后控制权交给VxWorks操作系统开始执行。
Vxworks BSP开发1.板级支持包的介绍2.VxWorks映象及启动顺序3.VxWorks预内核初始化4.BSP的配置5.BSP的开发6.VxWorks下设备驱动程序概述板级支持包的介绍一.板级支持包简述在VxWorks系统中,对BSP的简单描述为:介于底层硬件环境和VxWorks之间的一个软件接口,它的主要功能是在系统加电后初始化目标机硬件、初始化操作系统、提供部分硬件的驱动程序。
具体功能包括:(1)初始化。
所谓初始化就是指从系统上电复位开始,到VxWorks开始初始化用户应用(即系统执行到usrAppInit函数处)的一段时间内系统所执行的过程。
这个过程主要包括三个部分的工作:·CPU初始化。
初始化CPU的内部寄存器。
·目标机初始化。
初始化控制芯片的寄存器,I/O设备的寄存器,为整个软件系统提供底层硬件环境的支持。
·系统资源初始化。
为操作系统及系统的正常运行做准备,进行资源初始化,如空间分配等等。
(2)使VxWorks能够访问硬件驱动程序。
这主要是指VxWorks包含必要的设备驱动程序和相关设备的初始化。
(3)在VxWorks系统中,集成了与硬件相关的软件和部分与硬件无关的软件。
二.板级支持包与VxWorks从上面的图中,我们可以看到,BSP不是设备驱动程序,因为设备驱动程序可以访问硬件设备,同时,相同设备的驱动程序可以不作修改的从一个环境移植到另外一个环境当中去,而BSP只能在特定的环境下面运行。
简单地说,BSP开发人员要完成两个方面的工作:(1)完全支持BSP管理设备(2)通用设备驱动程序的集成工作三.BSP的组成BSP包含的程序是提供VxWorks访问目标机硬件环境的主要接口。
BSP主要由下面几类文件组成。
1.源文件主要是由C语言编写的代码所组成的文件,也有一小部分由汇编语言编写而成。
2.头文件包含针对CPU板的硬件定义以及内存定位定义的文件。
3.Make file文件控制构造所有类型映象的文件4.派生文件由其他文件衍生而成的文件。
目录1vxworks映像类型 (1)1.1 可加载的映像类型(vxwoks) (1)2vxworks映像启动顺序 (2)2。
1 可加载型vxworks映像启动顺序 (2)2。
2 基于ROM的vxworks映像启动顺序 (3)2。
3 基于ROM驻留型vxworks映像启动顺序 (4)3BSP基础知识 (4)3.1 BSP的定义 (4)3。
2 BSP的功能 (4)3.3 BSP的组成 (5)4BSP的启动 (5)4。
1 BSP的启动流程 (6)4。
2。
1 ............... romInit.s:romInit()函数74.2.2 bootInit。
c:romStart()函数 (21)4.2。
3 ......................... bootConfig。
c分析374。
2。
4 .................. sysLib.s:sysInit()函数404.2.5 usrconfig。
c:usrInit()函数 (42)4.2.6 usrconfig。
c:usrRoot()函数 (43)5总结 (47)VxWorks及BSP启动流程与顺序———李守轩摘要:本文首先介绍vxworks映像的类型及各类型vxworks映像的启动顺序;然后介绍BSP的启动流程与初始化顺序.关键词:vxworks映像;BSP启动;代码分析1 vxworks映像类型对于vxworks映像的启动情况,从根本上看,在初始化和装载vxworks映像的过程中,处理器所执行的步骤在逻辑上是一样的.对于有些处理器可能需要增加一些额外的步骤,而另一些处理器可能会省略掉某些步骤。
当构造vxworks映像时,根据需要可以构造不同类型的映像,系统把这些映像划分成以下三种类型.1.1可加载的映像类型(vxwoks)可加载型映像的执行需要通过引导代码把它装载到目标机RAM中,然后才开始执行。
而引导代码分为两种:(1)引导代码固化在ROM或FLASH中;(2)引导代码是一个独立的vxworks应用;引导代码通常也是一种vxworks映像,也被称为引导映像。
VxWorks CF卡及网络启动方法:CF卡格式化后分区,分出小于2G的空间,然后格式化文件系统选择fat16,勾选建立dos系统。
将、msdos.sys、io.sys三个文件拷入分区.新建vxworks boot loader工程(为了生成boorom),选好bsp后修改bsp中的config.h文件,修改方法见附件《vxworks的default boot line说明》。
clean project,然后编译工程。
生成bootrom.bin文件,将后缀改成sys,即得到bootrom.sys文件拷入cf卡。
将目标程序工程得到的vxworks文件拷入即可。
第一次启动时输C:lock把引导写入扇区VXWORKS电脑模拟单步调试方法建立downloadble工程,调试按钮里面选kerneltask,entrypoint里面填上入口函数下入控创机器建立的工程叫vxworks image project机器模拟调试建立工程叫downloadble kernel module project打开文件:电脑模拟用 fp= fopen("host:D:/juzhensuanfa/shishi/data.txt","r");机器用fp= fopen("/ata0a/data.txt","r");Dos命令下arp –a查看网卡地址。
工控机vxworks下E:\WindRiver64-wrs\vxworks-6.4\target\config,passauold文件夹的BSP时候网卡地址:00-25-a8-00-09-95data.txt文档写完矩阵以后最后一行要是回车注意组播地址的问题,第一字节最后一位是1stime.c文件里面把win32改成vxworks,有个取毫秒时间的被改了成time(NULL)ms_asn1_to_local在mms_vvar.h中有声明887行VOID readtxtcfg()读txt 文件配置电网拓扑矩阵,此方法不灵活,以后后台系统成熟后改成通过后台图形界面自动搜索拓扑生成array矩阵。