欢迎来到天天文库
浏览记录
ID:47891446
大小:1.23 MB
页数:16页
时间:2019-10-19
《Vxworks BSP开发流程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、VxworksBSP开发1.板级支持包的介绍2.VxWorks映象及启动顺序3.VxWorks预内核初始化4.BSP的配置5.BSP的开发6.VxWorks下设备驱动程序概述板级支持包的介绍一.板级支持包简述在VxWorks系统中,对BSP的简单描述为:介于底层硬件环境和VxWorks之间的一个软件接口,它的主要功能是在系统加电后初始化目标机硬件、初始化操作系统、提供部分硬件的驱动程序。具体功能包括:(1)初始化。所谓初始化就是指从系统上电复位开始,到VxWorks开始初始化用户应用(即系统执行到usrAppInit函数处)的一段时间内系
2、统所执行的过程。这个过程主要包括三个部分的工作:·CPU初始化。初始化CPU的内部寄存器。·目标机初始化。初始化控制芯片的寄存器,I/O设备的寄存器,为整个软件系统提供底层硬件环境的支持。·系统资源初始化。为操作系统及系统的正常运行做准备,进行资源初始化,如空间分配等等。(2)使VxWorks能够访问硬件驱动程序。这主要是指VxWorks包含必要的设备驱动程序和相关设备的初始化。(3)在VxWorks系统中,集成了与硬件相关的软件和部分与硬件无关的软件。二.板级支持包与VxWorks从上面的图中,我们可以看到,BSP不是设备驱动程序,因为
3、设备驱动程序可以访问硬件设备,同时,相同设备的驱动程序可以不作修改的从一个环境移植到另外一个环境当中去,而BSP只能在特定的环境下面运行。简单地说,BSP开发人员要完成两个方面的工作:(1)完全支持BSP管理设备(1)通用设备驱动程序的集成工作一.BSP的组成BSP包含的程序是提供VxWorks访问目标机硬件环境的主要接口。BSP主要由下面几类文件组成。1.源文件主要是由C语言编写的代码所组成的文件,也有一小部分由汇编语言编写而成。2.头文件包含针对CPU板的硬件定义以及内存定位定义的文件。3.Makefile文件控制构造所有类型映象的文
4、件4.派生文件由其他文件衍生而成的文件。BSP的组成文件主要包含在以下四个目录里面:·..Tornadotargetconfigall·..TornadotargetconfigcompsvxWorks·..Tornadotargetconfigcompssrc·..Tornadotargetconfigbspname1...targetconfigall目录下的文件这个目录下的文件作为VxWorks体系结构产品的一部分交给用户.如果不是特殊需要的话,没有必要修改这些文件。简单的说,config
5、all下的文件并不是特定BSP的一部分,而是所有BSP的公共部分。该目录下主要包含如下几个文件:(1)bootConfig.c引导ROM映象的主要初始化和控制文件.(2)bootInit.CbootInit.c包含引导ROM映象第二阶段初始化的代码。该文件定义了romStart()函数,romInit.s中的romInit()函数执行完毕后会跳转到romStart()函数。该函数执行必要的代码压缩和ROM型映象的重定位。(3)dataSegPad.c它保证了代码段和数据段不会共享一个MMU.(4)usrCongif.c包含了VxWorks
6、映象的主要初始化代码。不同于bootInit.c文件,它是非常完整的。(5)version.c提供了VxWorks的版本号、构造映象的日期和时间等信息。(6)configAll.h设置了所有VxWorks映象的默认设置。在这个文件里定义的变量是一些通用的设置,如果需要的VxWorks映象不同于默认的设置,使用configbspname目录下的config.h文件中定义的宏来替换这里定义的默认宏。2...targetconfigbspname目录下的文件这个子目录包含系统或者硬件相关的BSP文件,主要由下面的一些文件组成。(1)Re
7、adme文件Readme文件包含了这个BSP的发布记录。它记录了每次发布版本、修订版本和新版本上面所做的工作。(1)Makefile和depend.bspname文件Makefile文件控制使用命令行方式构造映象。从VxWorks5.2开始,标准的make工具是GNUmake。BSPmake系统包含了位于targethmake目录下的make子文件。如果某个相关性文件不存在,make将自动产生一个depend.bspname文件,它可以用来追踪所有模块的相关性。(2)Config.h文件Config.h文件包含了所有头文件和CPU板相
8、关的特殊定义。标准的config.h包含下面的内容:·BSP版本号和修订版本号·包含configAll.h文件·高速缓冲存储器和MMU的配置·共享内存网络定义·目标板上的内存地址和大小·ROM
此文档下载收益归作者所有