VxWorksBSP基础

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BSP由两部分组成:初始化和驱动程序初始化:指系统 从上电复位开始直到wind微内核和usrRoot根任务启动 的这段系统的执行过程。包括寄存器操作、直接I/O操作 。
驱动程序:调用某具体硬件设备的驱动程序的接口对该 硬件初始化的过程。如串口驱动,网口驱动等。
2.BSP具体功能
单板硬件初始化,主要是CPU的初始化,为整 个软件系统提供底层硬件支持;
BSP文件组成结构
Config/bspname: --config.h
包含所有的头文件和与CPU相关的宏定义,如:对 Cache和MMU的配置,RAM和ROM的定位以及大小配 置,外部总线地址映射,PCI地址宏。 --configNet.h 网络驱动的主要配置文件,主要对END驱动设置 -- romInit.s 包含bootrom和rom-based vxworks Image的初始化入口 汇编代码。 --sysALib.s 包含目标板或系统相关的汇编语言函数入口,即在RAM中 执行的第一个函数。
BSP的组成文件主要包含在四个目录下: …/target/config/all
-- 所有BSP公共使用的代码 …/target/config/comps/vxworks -- 基本模块描述文件(*.cdf) …/ target/config/comps/src -- 操作系统模块的配置文件(usrConfig.c使用) …/target/config/bspname -- 与具体目标板相关的代码部分
3.BSP文件组成结构
Config/all: -- bootInit.c:定义了romStart()函数,用于bootrom
的第二阶段初始化。将bootrom从ROM拷贝到 RAM中,然后跳转sysInit()或者userInit() -- usrConfig.c:包含VxWorks的主要初始化代码, 其部分功能跟bootConfig.c里面的功能类似,例 如对硬件设备的初始化。
(2) 提供操作系统对硬件驱动的访问 一些驱动的支持是由BSP完成的,如驱动程序
中定义了中断服务程序(ISR),BSP完成了中 断服务程序与中断向量表的挂接
一些偏移常量是由BSP定义的,但供驱动程序 使用
简化了驱动程序的安装
设备的配置管理
(3) 屏蔽上层软件和底层硬件以及硬件驱动
BSP文件组成结构
模块
4. VxWorks的映像类型
VxWorks的映像可分为两类:可下载映像和可引导映像。 -- 可下载映像(Downloadable Image) 实际包括bootrom和VxWorks两部分,两部分是独立创建
--sysSerial.c 用于串口设置和初始化
-- bspname.h 包含与板子相关的宏定义,如中断向量或中断号;I/O设备地址;设备
寄存器位的含义定义;系统时钟和辅助时钟最大和最小时钟速率。 --要把src/drv下的某驱动程序移植到目标板上,必须在bspname.h中包
含该驱动程序对应的头文件。
sysMemTop(),sysNvRamGet(),sysNvRamSet() 串口相关的函数:
sysSerialHwInit(),sysSerialHwInit2(),sysSerialChanGet() 杂项函数:sysBspRev(),sysModel(),sysToMonitor() 其它可选函数:如:辅助时钟中断相关函数,总线相关 函数
Makefile文件
Makefile控制VxWorks映像文件的创建。在Makefile文 件中说明如何编译各个源文件并连接生成最终的映像文件,
并且还定义了源文件之间的依赖关系。 以下是BSP的Makefile中要使用最基本的宏 CPU:目标板的CPU类型 TOOL: 主机的make工具,为gnu TGT_DIR: target路径,默认为$(WIND_BASE)/target TARGET_DIR: BSP目录Baidu Nhomakorabea VENDOR:目标板生产商名 BOARD: 目标板名
为操作系统提供设备驱动程序和系统中断服务 程序;
定制操作系统的功能,为软件系统提供一个实时 多任务运行环境;
初始化操作系统,为操作系统的正常运行做好准 备。
(1) 系统加电后的硬件初始化 加电后PC指针跳到特定的存储空间位置 设置处理器 初始化内存和内存地址 禁止中断 执行附加引导代码 将VxWorks载入RAM 载入VxWorks内核
Makefile文件
以下是BSP的Makefile中要使用最基本的宏 ROM_TEXT_ADRS: boot ROM入口地址(以16进制表
示),并且与config.h文件中的定义相同 ROM_SIZE: ROM的大小 RAM_LOW_ADRS: 加载VxWorks的目标地址 RAM_HIGH_ADRS: boot ROM拷贝到RAM的目标地址 HEX_FLAGS: 特殊结构的标记,用于产生s-record文件 MACH_EXTRA: 扩展文件,用户可以加入自己的目标
sysLib.c
sysLib.c中应该实现一下几类函数 系统时钟中断相关的函数:
sysClkConnect(),sysClkDisable(),sysClkEnable(), sysClkInt(),sysClkRateGet(),sysClkRateSet(); 系统硬件初始化函数:sysHwInit(),sysHwInit2() 内存相关的函数:
VxWorks应用设计
中科信软培训中心
九、VxWorks BSP 基础
1. BSP基本概念
是介于底层硬件和上层软件之间的底层软件开发包,它 主要用来屏蔽底层硬件,提供操作系统的驱动及硬件驱 动。此外,BSP还要完成硬件与软件之间的数据交互, 从而为操作系统及上层应用程序提供一个与硬件无关的 软件平台。
BSP文件组成结构
Config/bspname:
-- sysLib.c 包含目标板或系统相关的C语言函数,该文件提供板级接口,通过该
接口,VxWorks和应用程序的实现与目标系统无关,sysLib.c包含 target/src/drv目录下的驱动程序子文件,驱动程序的安装和初始化 在子文件中完成。
相关文档
最新文档