没有合适的资源?快使用搜索试试~ 我知道了~
首页vxWorks的BSP开发.doc
vxWorks的BSP开发.doc
需积分: 10 20 下载量 174 浏览量
更新于2023-03-03
评论
收藏 233KB DOC 举报
一个成熟的商用操作系统,其被广泛应用的必要条件之一就是能够支持众多的硬件平台,并实现应用程序的硬件无关性。一般来说,这种无关性都是由操作系统实现的。 但对于嵌入式系统来说,它没有像PC机那样具有广泛使用的各种工业标准,各种嵌入式系统其不同的应用需求就决定了它一般都选用了各自定制的硬件环境,这种诸多变化硬件的环境就决定了无法完全由操作系统来实现上层软件与底层硬件之间的无关性。 因此各种商用实时操作系统,都采用了分层设计的方法,它将系统中与硬件直接相关的一层软件独立出来,称之为Board Support Package即简称BSP。顾名思义,BSP是针对某个单板而设计的,并且它对于用户(指开发者)也是开放的,用户可以根据不同的硬件需求对其作改动或二次开发,而操作系统本身仅仅提供了CPU内核的无关性。BSP在系统中的角色,很相似于BIOS在PC系统中的地位。
资源详情
资源评论
资源推荐
VxWorks 的 BSP 开发
1 BSP 概述
一个成熟的商用操作系统,其被广泛应用的必要条件之一就是能够支持众多
的硬件平台,并实现应用程序的硬件无关性。一般来说,这种无关性都是由操
作系统实现的。
但对于嵌入式系统来说,它没有像 机那样具有广泛使用的各种工业标准,
各种嵌入式系统其不同的应用需求就决定了它一般都选用了各自定制的硬件环
境,这种诸多变化硬件的环境就决定了无法完全由操作系统来实现上层软件与
底层硬件之间的无关性。
因此各种商用实时操作系统,都采用了分层设计的方法,它将系统中与硬件
直接相关的一层软件独立出来,称之为 即简称
。顾名思义, 是针对某个单板而设计的,并且它对于用户(指开发
者)也是开放的,用户可以根据不同的硬件需求对其作改动或二次开发,而操
作系统本身仅仅提供了 内核的无关性。 在系统中的角色,很相似于
在 系统中的地位。
定义
就是为软件操作系统正常运行提供最基本、最原始的硬件操作的软件
模块,它和操作系统息息相关,但又不属于操作系统的一部分。 可以分为
三大部分:
:系统上电时的硬件初始化。
:为操作系统访问硬件驱动程序提供支持。
:集成的硬件相关和硬件无关的操作系统所需的软件模块。
BSP 的表现形式
主要以两种形式来表现:
:源代码( 代码、汇编代码)、系统编译连接依靠文件。
:二进制的目标代码和目标代码库。
BSP 在软件系统中的位置
在软件系统中的位置可以用下图来表示, 为操作系统和硬件设备
的互操作建了一个桥梁,操作系统通过 来完成对指定硬件的配置和管理。
2 vxWorks 系统中的 BSP 目录结构
软件与其他软件的最大区别在于 软件有一整套模板和格式,开发
人员必须严格遵守,不允许任意发挥。在 软件中,绝大部分文件的文件名
和所要完成的功能都是固定的。所以, 软件的开发一般来说都是在一个基
本成型的 软件上进行修改,以适应不同单板的需求。
针对某类 的硬件单板, 通常提供有其 板的 这
些程序位于指定的目录之下。也就是我们所说的最小系统 。一般来说,我
们在硬件系统设计好之后,都会先找到一个与自己系统相近的 板
(最起码是使用相同的 )。并以此为基础开发自己单板的 。
VxWorks BSP 的目录结构:
文件主要位于 安装之后的 目录下,具体目录结构如下:
和硬件无关的系统软件模块
I/O
系统
文件系统
TCP/IP
MUX
操作系统库
硬件相关的系统软件模块
Flash/SCSI
Driver
操作系统内核
Lan
Driver
BSP
硬件
SCC
Timer
Lan
控制器
Flash/SCSI
Controller
! " 目录:用于 核心的配置及编译的文件。其中又包含多个子
目录。
## 目录:通用的配置文件
$ 目录:用于 工程管理工具配置的源文件
% $ 目录: 每个单板都有一个相应目录,命名可根据单板而定,
其中包含有关此单板 的代码文件,目标文件及编译文
件等,这也就是我们通常所说的单板 。
!& 目录:其中包含所有 操作系统的头文件及通用编译文件。其中的
各个子目录表示了 中不同模块的头文件。
!
#'% 目录:由 为不同平台提供的库文件及目标文件。
! 目录: 提供的部分硬件芯片驱动程序的源代码文件,其又包含
多个子目录:
" 目录:有关 操作系统的一些通用的源代码文件。
目录: 中一些硬件芯片的通用驱动程序源代码文件,
其根据不同功能的芯片分为若干个子目录,例如 (表
示网口驱动,' 表示串口驱动等
! 目录:其中包含一些较古老的硬件 代码。
3 三种不同的 VxWorks 映象比较
理解 ) 映象是开发 ) 的基础。
) 映象通常由三个部分组成:、操作系统内核和上层应用。从
文件的组织形式上可以将映象分为三段: 段、 段和 段。其中,
段存放的是未初始化的全局变量或静态变量, 段存放的是已经初始
化的全局变量或静态变量, 段存放的是可执行的代码。
根据应用场合的不同,) 映象可分为三类:
*%#'$
+$,%'$
+$,' '$
其中,*%#'$ 通过烧写在 + 中的 $ 装载到 +- 中
来启动;+$,%'$ 使用自身带的启动代码把自己装载到 +- 中来
启动;而 +$,' '$ 在 + 中启动,只是把需要动态修改的
段和 段装载到 +- 中去。
3.1 可加载的 VxWorks 映象
这是一种运行于 +- 的 ) 映象。它不包含搬移程序,需要借助于
一些外部的程序如 %+$ 才能加载到 +- 的低端 +-.*.-+ 地址
处。这是缺省的开发映象。
在开发的初期阶段,用户可以根据需要添加或删除一些 ) 组件,生
成自己的可加载的 ) 映象,存放在开发主机的某个目录下。目标板上
电后,由烧结在 中的起始引导程序/$0将 中
的 + 引 导 程 序 ( + $ ) 拷 贝 到 +- 的 高 端 地 址
+-.121.-+ 处,并跳转至该地址执行 + 引导程序,配置好所选的加
载方式(缺省为网络方式),将指定的主机目录下的可加载的 ) 映象
下载到目标板的 +- 地址 +-.*.-+ 处,并跳转到此处执行。如图
所示。
图 1 、可加载的 VxWorks 映象
这种映象的优点是生成的 ) 映象可以存放在开发主机 机上,不
用烧到 中,节省了 容量,也便于随时修改不同的 ) 映象,
适用于调试的初期阶段。不足之处是需要在主机上维护一个正确的 )
映象,对于调试硬件无关的上层应用程序显得不是很方便。
在 工作台的 '# 窗口中,选择 +# 属性页中的 ) 即可
生成可加载的 ) 映象。
3.2 基于 ROM 的 VxWorks 映象
这是一种运行于 +- 中,但起初存放于 + 中的 ) 映象。即该
映象需要和搬移程序一起固化在 中。目标板上电后,首先运行 中
的引导搬移程序,将整个 ) 映象拷贝到 +- 地址 +-.*.-+
处,并跳转到此处执行。如图 所示。
该映象根据是否被压缩又可分为:
基于 + 的未压缩的 ) 映象,可直接从 + 拷贝到 +- 中
基于 + 的压缩的 ) 映象,这种映象主要是为了节约
空间,在从 + 拷贝到 +- 的过程中需要解压缩,因此与上述未压
缩的映象相比,它的引导过程相对较慢,但两者在 +- 中的运行速度
是一样的。
3.3 驻留 ROM 的 VxWorks 映象
这种映象起初也和搬移程序一起固化在 中。目标板上电后,首先运
行 中的引导搬移程序,但仅将 ) 映象的数据段和 段拷贝到
+- 地址 +-.*.-+ 处,映象的代码段仍旧留在 + 中,从 + 中
开始执行。如图 所示。
这种映象的优点是具有最快的引导速度,占用最少的 +- 空间,适用于
+- 空间有限的目标板。但是由于该映象在 + 中运行,运行速度在三种映
象中是最慢的。
图 2 基于 ROM 的 VxWorks 映
象
剩余21页未读,继续阅读
hlc7831
- 粉丝: 0
- 资源: 28
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- stc12c5a60s2 例程
- Android通过全局变量传递数据
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0