- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 1 页 共 1 页
vxWorks BSP 培训资料
BSP的概念
什么是BSP
一个成熟的商用操作系统,其被广泛应用的必要条件之一就是能够支持众多的硬件平台,并实现应用程序的硬件无关性。一般来说,这种无关性都是由操作系统来实现的。但是,对于嵌入式系统来说,它没有像PC机那样所遵循的各种工业标准,各种嵌入式系统其具有的不同应用需求就决定了它一般都选用了各自定制的硬件环境,这种诸多变化硬件的环境就决定了无法完全由操作系统来实现上层软件与底层硬件之间的无关性。因此当今的各种商用实时操作系统,都采用了分层的设计方法,它将系统中与硬件直接相关的一层软件独立出来,称之为Board Support Package即简称BSP。顾名思义,这部分软件是针对某个单板而设计的,并且这一层软件对于用户(指开发者)也是开放的,用户可以根据不同的硬件需求对其作改动或二次开发,而操作系统本身仅仅提供了CPU内核的无关性。
BSP的功能
一个采用分层设计方法的典型系统,其结构如下(以UAS系统为例):
BSP位于硬件平台与操作系统之间,用于对上层软件屏蔽各种硬件相关性。
BSP的主要功能在于配置系统硬件使其工作于正常的状态,完成硬件与软件之间的信息交互,为OS及上层应用程序提供一个与硬件无关的软件平台。因此从执行角度来说,其可以分为两大部分:
目标系统启动时的硬件初始化例程,只在系统启动过程中执行一次。用于配置系统内硬件工作于指定状态。
目标板上控制各个硬件设备正常运行的设备驱动程序,由它来完成硬件与软件之间的信息交互。其在整个软件系统中随着这种交互的发生而执行。
虽然通常BSP是为OS服务的, 但实际上, BSP软件包中的部分程序对OS也并不是必须的,从这个角度,又可以将BSP划分为两部分功能,
提供OS运行所必须的硬件初始化例程及驱动程序,如单板最小系统BSP等。
为满足OS之上的应用程序的需求而提供的一些外围设备的驱动程序,如网口,HDLC控制器Driver等,这些驱动程序一般需要应用程序通过OS层与BSP交互,当然可能还包括直接与应用程序交互的一些硬件驱动,如对各种控制信号的存取,自定义的驱动程序接口等,不经过OS层。
采用这种功能的划分,实际上也体现了BSP调试的一个策略,即先调试最小系统的BSP,然后再利用各种调试工具调试其他外围设备的驱动程序。
BSP开发的意义
操作系统是应用软件运行的平台,而BSP又是操作系统正常运行的前提。BSP程序的效率,稳定性直接影响到整个软件系统的性能及稳定性,因此BSP对于整个系统是非常重要的。而且调试BSP同样具有挑战性,之所以这样,是因为在BSP运行之前,所有的操作系统调试工具都不可用,正是BSP的前期工作,使得各种应用调试工具得以在具体的硬件环境上运行。
vxWorks中BSP的体系结构
vxWorks为了最大限度的支持不同的硬件环境,它也提供了一些常用硬件芯片的驱动程序,它们通常是与具体CPU无关的设备,如一些网口芯片,串口芯片等。我们一般将其简称为芯片驱动程序。而针对某类CPU的硬件单板,vxWorks也通常提供有DEMO板的BSP, 这些程序分别位于指定的目录之下。我们通常就将其简称为这个单板的BSP。一般来说,我们在硬件系统设计好之后,都会先找到一个与自己系统相近的DEMO板BSP(最起码是使用相同的CPU)。并以此为基础开发自己单板的BSP。
configtargetallcompsBsp name…h
config
target
all
comps
Bsp name
…
h
lib
src
unsupported
config
drv
end
intrCtl
sio
…
各个目录又包含不同的子目录,不同的目录中保存有vxWorks提供的有关BSP的各种功能的代码文件,目标文件及编译文件等。说明如下:
config目录:用于vxWorks核心的配置及编译的文件。其中又包含多个子目录。
all目录:通用的配置文件
comps目录:用于Tornado工程管理工具配置的源文件
bspname目录:每个单板都有一个相应目录,命名可根据单板而定,其中包含有关此单板BSP的代码文件,目标文件及编译文件等,这也就是我们通常所说的单板BSP。
h目录:其中包含所有vxWorks操作系统的头文件及通用编译文件。其中的各个子目录表示了vxWorks中不同模块的头文件。
lib目录:由vxWorks为不同平台提供的库文件及目标文件。
src目录:vxWorks提供的部分硬件芯片驱动程序的源代码文件,其又包含多个子目录:
config目录:有关vxWorks操作系统的一些通用的源代码文件。
drv目录:vxWorks中一些硬件芯片的通用驱动程序源代码文件,其根据不同功能的芯片分为若干个子目录,例如en
您可能关注的文档
最近下载
- 电容式液位传感器及测量原理.doc
- 译林版小学一年级英语上册全套教案.pdf VIP
- 2023-2024年广东省广州市海珠区六年级上册期末数学试卷及答案(人教版).pdf
- [GB5009标准]GB 5009.156-2016 食品安全国家标准 食品接触材料及制品迁移试验预处理方法通则.pdf
- JTG-T 3650-2020公路桥涵施工技术规范.doc
- 县统计局党支部工作总结.pptx VIP
- 县人大常委会办公室的资料搜集提纲.doc VIP
- 某大型家电集团微波电器事业部通用分权规范手册.xls VIP
- 超声引导下针刀治疗.pptx VIP
- 2024年湖南司法警官职业学院单招职业技能测试题库及答案解析.docx VIP
文档评论(0)