Chinaunix首页 | 论坛 | 博客
  • 博客访问: 276765
  • 博文数量: 61
  • 博客积分: 655
  • 博客等级: 上士
  • 技术积分: 489
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-21 18:21
文章分类

全部博文(61)

文章存档

2014年(9)

2013年(23)

2012年(26)

2011年(3)

我的朋友

分类: 嵌入式

2014-02-12 11:06:35

vxworks BSP 的目录结构

VxWorks 的BSP 组成文件主要包含在开发环境下的两个目录:

target\config\all:所有BSP 的公共部分

target\config\bspname:与目标板相关的部分

目录target\config\bspname 下包含运行VxWorks 所需要的依赖特定目标板硬件的文件,需要用户创建或修改。这部分也就是BSP 移植用户需要开发的部分。

包含以下文件:

Readme.txt:包含了BSP 发布记录;

Makefile:控制映象的生成;

config.h:包含了所有头文件和针对目标板的系统定义;

bspname.h:硬件相关的目标板寄存器,中断等的定义;

romInit.s:系统上电初始化入口代码,包含romInit();


sysALib.s、VxWorks:可下载VxWorks 映象入口,包含sysInit();

sysLib.c:系统依赖库,主要有接口设备初始化;

sysDev.c:可选文件,包含物理硬件设备驱动接口,如sysSerial.c;

target.ref:目标板有关的特殊信息描述;

configNet.h:网络配置头文件。主要包含END 网络设备驱动程序的配置。


用户得到目标板的 bsp(如Edukit44b0bsp)后,在启动Tornado 之前将其拷贝到target\config\目录下即可。在编译生成boot loader 或创建VxWorks 映象工程时,就可以在bsp 下拉选项中选用该bsp 了。

目录 target\config\all 下包含下列文件:

configAll.h:通用配置文件。设置所有VxWorks 映象的默认配置。用户在config.h 中的相同定义能够覆盖此中的设置;

bootInit.c:各种可引导映象的映象装入部分;

bootConfig.c:BSP 引导映象初始化部分(在bootInit.c 的初始化之后);

dataSegPad.s:代码段保护;

usrConfig.c、VxWorks:系统初始化代码。

这个目录下的文件是作为 VxWorks 体系结构产品的一部分提供给用户的,是所有BSP 文件共享的,不是特殊情况不建议修改里面的任何文件。若需要在开发的过程中加入一些测试程序,可以将目标文件复制到target\config\bspname 目录里,在Makefile 文件中提供一种机制允许用bspname 目录下副本代替All 目录下的文件。例如用bspname 目录下usrConfig.c 文件代替All 目录下该文件,只需要在Makefile 文件里将宏USRCONFIG 设置为usrConfig.c,即USRCONFIG = usrConfig.c。宏USRCONFIG,BOOTCONFIG,BOOTINIT,和 DATASEGPAD 分别对应文件为usrConfig.c,bootConfig.c, bootInit.c,和 dataSegPad.c。在最终BSP 开发完成后,这些文件应为未被修改的原始文件。


BSP 功能函数

BSP 包的函数大部分在sysLib.c 中实现,包括以下几类函数:

系统时钟中断相关的函数:sysClkConnect(),sysClkDisable(),sysClkEnable(),sysClkInt(),sysClkRateGet(),                     sysClkRateSet();

系统硬件初始化函数:sysHwInit(),sysHwInit2();

内存相关的函数:sysMemTop(),sysNvRamGet(),sysNvRamSet();

串口相关的函数:sysSerialHwInit(),sysSerialHwInit2(),sysSerialChanGet();

杂项函数:sysBspRev(),sysModel(),sysToMonitor();

其它可选函数:如:辅助时钟中断相关函数,总线相关函数等。

阅读(994) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~