本书是《VxWorks开发人员指南丛书》的BSP开发分册,根据Wind River公司的技术文档VxWorks 5.5 BSP Develooper's Guide翻译而成。
主要内容包括:BSP组织部分,讲述BSP文件和VxWorks引导顺序;创建新BSP,讲述如何编写初始化代码等:硬件指南部分,讲述CPU分类结构、存储器和其他硬件设备、驱动程序指南、BSP编写规范、测试、归档和产品打包等内容;还讲述了BSP升级、CPU结构、VxWorks引导顺序、组件描述语言、通用驱动程序、时间戳驱动程序、网络驱动程序、SCSI驱动程序等内容。
本书语言通畅、条理清晰、内容详细,主要针对从事以VxWorks操作系统为基础内核的嵌入式系统开发人员,作为他们了解VxWorks并且将其应用到项目中的指导手册。
第1章 绪论
第2章 BSP结构
2.1 简介
2.2 BSP组件
2.3 VxWorks引导顺序
2.4 需要避免的错误
第3章 创建一个新的BSP
3.1 概述
3.2 建立开发环境
3.3 编写BSPPre-Kernel初始化代码
3.4 使用最小化的内核
3.5 目标板代理和Tornado
3.6 完成安装工作
第4章 硬件介绍
4.1 概述
4.2 结构体系注意事项
4.3 内存
4.4 设备
4.5 启用虚拟内存库
第5章 驱动程序指导
5.1 绪论
5.2 设计目标
5.3 设计的问题
5.4 设计指导
5.5 逐步实现
5.6 关于缓存的问题
5.7 有益的忠告
5.8 驱动程序使用缓存器库
第6章 组件
6.1 简介
6.2 组件描述语言
6.3 创建组件
6.4 发布组件
第7章 确认测试
7.1 简介
7.2 后台
7.3 配置BSPVTS
7.4 运行BSPVTS
第8章 编写可移植C程序
8.1 可移植C代码
8.2 执行工具
第9章 文件指导
9.1 概述
9.2 书写风格
9.3 格式
9.4 子段
9.5 创建参考页
第10章 产品封装
10.1 安装开发工具包
10.2 BSP封装
10.3 组件封装
10.4 工程封装
附录A 升级BSP以兼容Tornado 2.0
A.1 过渡问题
A.2 代码接口的改变
A.3 工程问题
A.4 产品内容
A.5 小结
附录B 升级BSP以兼容Tornado2.2
B.1 对BSP进行独立于体系结构的修改
B.2 独立于体系结构的BSP问题
附录C 升级BSP以兼容VxWorks网络堆栈
附录D VxWorks引导顺序
附录E 组件语言
E.1 组件描述语言(CDL)
E.2 文件夹等级
E.3 工程初始化顺序
附录F 普通驱动程序
F.1 介绍
F.2 串行驱动程序
F.3 多模式串行驱动程序(SIO)
F.4 定时器
F.5 非易失性存储器
F.6 VME总线
F.7 DMA
F.8 中断控制器
F.9 多功能
F.10 PCI总线
附录G 升级4.3BSD网络驱动程序
G.1 简介
G.2 升级到4.4BSD
G.3 转换一个网络接口驱动程序到最终模块
附录H 执行基干多用户(MUX) 的网络接口驱动程序
H.1 简介
H.2 VxWorks如何装载并使用驱动程序
H.3 处理驱动程序包接收问题的指南
H.4 指明错误条件
H.5 所需的驱动程序入口点和结构
H.6 编写使用MUXAPI的网络协议
H.7 将一个END驱动程序从RFCl213转化到RFC2233
附录I 编写SCSI-2设备驱动程序
I.1 概述
I.2 SCSI总括
I.3 SCSI库
I.4 SCSI驱动程序编程接口
I.5 BSP接口
I.6 SCSI驱动器开发指导
I.7 测试程序组
I.8 故障查找以及调试
附录J BSPVTS参考条目
附录K BSP合法性检查表
附录L Refgen
附录M BSP产品目录
当前,国内单片机技术的研究与应用已经非常成熟,而对面向高端产品的嵌入式系统的研究正在国内悄然兴起,以ARM核为代表的32位嵌入式处理器的价格不断降低,技术也不断成熟,嵌入式系统必将有非常广阔的应用前景。
随着Internet的普及,我们已经进入了后PC时代。在后PC时代,出现了很多信息家电,如掌上电脑、个人数字助理(PDA)、可视电话、移动电话、TV机顶盒、电视会议机和数码相机等嵌入式设备。这些嵌入式设备的功能都非常强大,其中的大部分都嵌入了TCP/IP网络协议。这样,不仅可以用PC机上网,使用各式各样的嵌入式设备同样可以上网,在网络时代,这给用户带来了极大的方便。而在这些强大的功能背后,少不了各种嵌入式操作系统的支持。
VxWorks操作系统是美国Wind River公司推出的一种嵌入式实时操作系统。自20世纪80年代问世以来,以其不断推出的升级版本、高性能内核以及友好的用户开发环境,在嵌入式实时操作系统领域逐渐占据一席之地,在国内外拥有很多用户。尤其已成功应用于火星探测车和爱国者导弹等高科技产品而声名鹊起。自1996年登录中国以来,越来越多地占据了国内嵌入式实时应用市场。
在VxWorks操作系统与目标板底层硬件之间,还有一个重要部分--板级支持包BSP(Board Support Package)。板级支持包的开发,在整个嵌入式系统的开发过程中起着至关重要的作用。板级支持包对各种板子的硬件功能提供了统一的软件接口,它包括硬件初始化。中断的产生和处理、硬件时钟和计时器管理、本地和总线内存地址映射、内存空间大小、实时内核载入等。每个板级支持包包括一个ROM启动(Boot ROM)或其他的启动机制。
本书是根据WindRiver公司提供的技术手册《VxWorks 5.5 BSP DEVELOPER'S GUIDE》翻译而成,并且在翻译过程中完全保持了原书风貌。有关BSP开发的资料,Wind River公司一直是对外保密的。在这部分资料公开伊始,我们便在第一时间对其进行了翻译,希望它能尽快出版,尽早与广大读者见面。我们相信,本书中的内容一定会对众多的VxWorks开发人员提供帮助。
本书主要包括两大部分:第一部分为正文,在这一部分中包含了BSP代码的编写。注释,以及测试等各个方面的全部内容,详细地讨论了适用于C语言源代码和注释的规范标准,而且还提供了有关如何编写网络接口驱动程序、SCSI设备驱动程序,以及其他设备驱动程序等内容:第二部分为附录,在附录中也包括了很多BSP开发中十分重要而且很实用的知识。
天津大学电子信息工程学院的王金刚教授,以及苏琪、杨锡劢、窦清颖、谢子薇和颜祺等负责了本书的全部翻译工作。在本书的翻译过程中,还得到了Wind River公司的大力支持。宫霄霖和丁大尉等几位研究生也牺牲了很多宝贵的时间,为本书的校对及出版作出了大量的工作,在此一并表示衷心的感谢!
由于时间仓促,且这部分内容目前在国内尚无中文资料可供参考,因此在翻译中错误与疏漏之处在所难免,恳请国内广大同行批评指正。