曙海教育集团论坛VxWorks专区VxWorks BSP开发 → Tornado BSP Developer's Kit for VxWorks User's Guide


  共有6982人关注过本帖树形打印

主题:Tornado BSP Developer's Kit for VxWorks User's Guide

美女呀,离线,留言给我吧!
wangxinxin
  1楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:青蜂侠 帖子:1393 积分:14038 威望:0 精华:0 注册:2010-11-12 11:08:23
Tornado BSP Developer's Kit for VxWorks User's Guide  发帖心情 Post By:2010-12-1 10:40:30

1                   简介

VxWorks的一个优势就是它为应用代码提供了高度的架构和硬件独立性。这种可移植性得益于VxWorks的模块化设计, 而这种模块化设计将所有硬件相关的功能函数分离到了一套称为板级支持包(BSP)的库中。BSP库为所有开发板的硬件相关功能提供了一个一致的接口。 这些功能包括硬件初始化, 中断处理, 中断产生, 硬时钟和Timer管理, 本地和总线内存空间的映射, 以及内存尺寸控制等等。

总的来说, 有如下几种类型的VxWorks移植:

A.      宿主移植: 将Tornado和VxWorks的开发能力移植到一个以前不支持的宿主机上。

B.      架构移植: 将VxWorks 和Tornado 调试器移植到一个以前不支持的目标处理器或架构上。

C.     板级移植: 将VxWorks 移植到一个新的目标板上, 在此之前应该已经有了宿主移植和架构移植。

D.     升级pre-Tornado BSPs 使之工作于Tornado 平台。

E.      移植一个可选的部件。

宿主移植和架构移植需要访问全部的VxWorks源代码, 超出了本文的范围。 板级移植是我们要讨论的重点, 板级移植只需要访问VxWorks中硬件相关的那部分源代码(BSP)和调试器。

多年以来, 风河公司(Wind River)能够提供给客户各种BSP, 然而, 随着许多新的CPU板的大批流行, 尤其是许多客户自己设计的CPU板的大量出现, 使得风河已经不能够跟上市场对于新的BSP的需求。

本书就是为了解决这个问题, 本书旨在帮住你创建、测试新的BSP、部件和项目。 移植VxWorks到一个新的板子上是一件非常有挑战性的工作, 尤其是只有在移植完成后那些VxWorks开发工具才能够被使用的时候。根据本书的策略可以使移植变得简单一点。本书提供了移植策略和系统元件如何相互作用的详细描述, 本书也包括了基于Tornado2.0来创建和发布部件或项目所需要的 技术信息。

本书所涉及的BSP 工具集与Tornado 2.0 或更高版本兼容, 升级早期的BSP 使之工作于Tornado 2.0 是相当容易的, 参考A。升级一个BSP到Tornado 下。


1.1          Tornado 2.0 的新特性介绍:

SCSI 1 废止: 对于SCSI-1 驱动和库的支持已经被废止, 虽然这些库仍然被包括在Tornado2.0 中,但是它们已经被列为废除并且不会被包括在将来的版本中。

宏 TYCO5_2被删除:TYCO5_2这个宏不再被支持, 客户应当使用Tornado 2.0 下的SIO驱动 。

BSP封装被变更: 参考10。2  BSP封装, P???页以获得更详细的关于封装要求的描述。 参考O。BSP产品内容以获得一个典型产品内容的的快速总结。

文档: 所有的在线文档现在是以HTML格式提供, 在系统中包含了一个称为refgen的工具,用来从现存的nroff输入产生HTML页。

 VxWorks网络协议栈:VxWorks网络协议栈是Tornado 1.0.1 用户的可选部件, 现在是唯一被Winriver 支持的协议栈。 所有的BSP现在都使用为VxWorks网络协议栈而修改的驱动程序。 VxWorks网络协议栈是基于BSD 44 协议栈的。在BSP中 BSD44 和 END 驱动都可被使用。END驱动是BSP的缺省驱动。

新的驱动: 许多新的END网络驱动已经被加入到驱动产品中来以便使尽可能多的产品拥有至少一个可用的END 驱动。

集成的模拟器: Tornado 2.0包括一个集成的模拟器, 它允许开发人员在硬件环境就续以前就能够开始应用的开发。

集成的WindView:Tornado 2.0包括一个集成的WindView 工具, 用来检查运行时的行为, 参考 <<WindView User’s Guide>> 来了解更多关于WindView的特性。

VTS 测试更新: VTS(验证测试套件)有了微小的升级以便使它能够正确地工作于target shell 的新的虚拟输入输出特性。

SCSI 测试套件: SCSI性能测试套件在以前的移植工具中被忽略了, 现在可用。

ROM_WARM_ADRS 这个新宏被引入到BSP模板和一些BSP中, 它代表进入到boot ROM 代码的热启动入口, 它被用来去除基于不同CPU家族所手工计算出来的入口地址。 正常情况下, ROM_WARM_ADRS是基于一个来自于ROM_TEXT_ADRS的偏移, 例如:

#define  ROM_WARM_ADRS             (ROM_TEXT_ADRS + 8)

新的SIO IOCTLs: 新的SIO IOCTL 代码用来支持modem控制线路。 IOCTLs  例如SIO_OPEN和SIO_HUP当设备被打开和关闭时通知驱动程序。 而SIO_HW_OPTS_SET 和SIO_HW_OPTS_GET允许用户管理字符长度、奇偶、停止位和modem 控制线路。 可选位 CLOCAL 禁止了modem 控制线路在驱动程序中的使用, 为了保持向后兼容性, CLOCAL选项在Wind River BSP中默认是选择的。

Target.txt 文件被删除: 文本格式的target.nr 文件(为Windows 宿主用户而产生)已经被删除了, 目前UNIX 和WINDOWS平台均使用浏览器来阅读HTML格式的文档。 宿主工具refgen取得nroff的输入并且产生HTML的输出。

1.2          进行BSP开发的一些先决条件:

首先, 你应当有底层C和汇编语言的知识, 熟悉设备驱动, 熟悉中断, 最好具有同硬件接口的软件开发经验, 另外, 你应当熟悉Tornado开发工具或者至少已经读过了Tornado用户指南。最后, 你应当有一个基于你的目标系统上所用的CPU的参考BSP, 这可以节省你的大量时间。

你也应当有一个适用于你的项目架构的模板BSP,以及模板驱动程序, 大部分客户购买一个或多个设备驱动程序的源代码。



支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

Tornado BSP Developer's Kit for VxWorks User's Guide








签名