2007年 第 l1期 总 第 250
开发 DSP硬件驱动程序的一种方法
张 行 ,雷 勇
(四川大学 电气信息学院 四川 成都 610065)
摘 要 :提 出一种 开发 TI公 司 DSP片内及 片外 硬 件外设驱动程 序 的 方法 。利 用 CCS应用环境 中集成的 实时操作 系统
DSP/B10S,配置其 中的设备驱 动 模块为 10M (I/0 Mini—driver)模 式,构建应用程序与 硬 件外设输入 输 出的数据接 口,将 应
用程序 与硬 件驱动程序 相 对 独立。硬件 驱动 程序 以函数 库 的形 式 被 封 装起 来 ,应 用程序 不关 心底 层硬件 外设 的具体操 作,
通 过 调用 DSP/BIOS相 关的标 准 API实现 功能。由 此 ,应 用程序的通 用性 、可移植 性 大大加强。本 文 以 C5000 DSP的 MeB—
SP/DMA及 USB驱 动 程序开发为具 体 对 象 ,实现其应 用。
关键词 :实时操 作 系统(DSP/BIOS);硬 件 设备 驱动模 块(10M);McBSP/DMA;USB驱动
中图分类号 :TP319 文献标 识码 :B 文章 编号 :1004—373X(2007)11—189—03
A M ethod to Develop DSP Hardware Drivers
ZH ANG Xing,LEI Yong
(The Electric Engineering and ln[orm ation Institute,Sichuan U niversity,Chengdu.610065,China)
Abstract:A method to develop TI DSP S hardware drivers is introduced in this paper.In CCS studio,the DSP/BIOS device
driver is configured to IOM (1/0 M ini—driver)model which could be used for devices that handle]/o.The application and the
drivers are insulated.Once the hardware driver is encapsulated to a library,the application can communicate the hardware by
calling DSP/BIOS S API.It makes the development of application more general and transplantable.In this paper,the develop—
ment charaeteristic of C5000 DSP s McBSP/DMA and USB drivers are embodied. ‘
Keywords:DSP/BIOS;IOM ;MeBSP/DM A drivers;USB drivers
1 引 言
目前 ,TI公 司的 DSP应 用 很广 泛 ,随着 DSP的 功能
越 来越 强大 ,片上外设种类及应用 日趋复杂 。传统 的 DSP
程序开发包含两方 面程序 :即配置 、控制 、中断等管 理 DSP
片 内外设 、接 口的硬件 相关程序 和基 于应用 的算法 程序 。
这样 的系统结构 ,应用程序与硬件相关程序 紧密 的结合一
起 ,限制 了程 序的可移植 性和通用 性 ,软件 开发总要从 零
开始 ,存 在诸 多重复工 作 。一旦 硬件平 台有变 化 ,往 往与
硬件程序捆绑一起的应用程序也需 改动 ,代码的维 护性 和
可移植性 均不高 。
通过建立硬件驱动程序的开发模式 ,可使上述 现象得
到改善。因此 ,本文介绍一种 开发 TI公司 DSP片 内及片
外硬件外设驱动程序的方法 ,并 以 C5000 DSP的 McBsP/
DMA及 TMS32oC55O9的 USB驱 动 程序 开 发 为具 体 对
象 ,介绍 这种方法 的应用 。
2 基 于 DSP/BIOS的 IOM 硬 件驱动
在 CCS应用 环 境 中集 成 的 实 时 操 作 系 统 DSP/BI—
oSc 中,硬件驱动程序最终 以函数库 的形式 被封装 起来 ,
应 用程序 可不关 心 底层 硬件 外设 的具 体操 作 ,通 过调 用
收藕 日期 :2006一IO一08
DSP/BIOS相关 的标准 API与不 同外 设接 口。接 口按 统
一
标准定义 ,即在 DSP/BIOS中创建并 配置硬件设备 驱动
模块为 IOM(I/O Mini—driver)模式 。
IOM[2 是 DSP/BIOS的设 备驱 动模块 的一 种接 口方
式 ,配置硬件 设备 驱 动模 块 为 IOM 模 式 可 在 DSP/B10S
的图形化界面(GUI)中方便 完成 。IOM 模 式 将设备 驱 动
程序分为两 个层 次 :上 一层 是 “类”驱 动程 序 (class driv—
er),这部分程序 负责对存储缓 冲区管理 、由 DSP/BIOS各
类标准的 API函数 与应用程序接 口,与设 备硬件无关 。下
一
层 是“迷你”驱动程序 (mini—driver),这部分程序集成 了
实际硬件 相 关 的代 码 。IOM 接 口将 “迷 你”驱 动程 序 与
“类”驱 动 程 序联 系 一起 ,包 括 定 义 I/O 数 据 包 (IOM
—
Packet)以提 交 “迷你 ”驱动 程 序 读 写 ,定 义 功 能 函数 包
(IOM Fxns)完 成相关初 始化 ,打开或关闭通道 ,提交 I/O
数据传输与控制等任务 ,确保“迷你”驱动程序 与“类”驱动
程序 运 行 协 调 一致 。
“类”驱 动程序 直接在应用程序 中出现 ,并且 根据数据
输入/输出的处理 方式不 同 ,有 相应“类 ”驱 动程 序。主要
是 3种 :流输入 输 出型“类”驱 动 (SIO)、管道 型“类”驱动
(PIP)和通用输入输 出型“类”驱 动(GIO)。
其 中,SIO“类 ”驱 动 由两部分 组成 :SIO 模块 和 DIO
适配模块(Adapter),前者 负责创建通 道 、数据 流输入/输
】89
维普资讯 http://www.cqvip.com