基于DSPBIOS IOM模型的设备驱动程序开发_第1页
基于DSPBIOS IOM模型的设备驱动程序开发_第2页
基于DSPBIOS IOM模型的设备驱动程序开发_第3页
基于DSPBIOS IOM模型的设备驱动程序开发_第4页
基于DSPBIOS IOM模型的设备驱动程序开发_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式技计电子测量技术EL EC TRON IC M EASU REM EN T TEC HNOLO GY 第29卷第3期基于DSP/BIOS IOM 模型的设备驱动程序开发许艳陈星(北京航空航天大学电子信息工程学院北京100083摘要:本文介绍了TI 公司基于DSP/BIOS 的IOM 设备驱动模型以及驱动开发的一般步骤, 给出TMS320DM642视频端子驱动实例。实践表明, IOM 模型简化了驱动程序的开发。关键词:DSP/BIOS ; IOM 驱动模型; 类驱动; 微驱动Development of IOM Xing(Electronics and Information Engine

2、ering , Beijing Universityof Aeronautics and Astronautics , Beijing , 100083Abstract :This paper introduced TI developed IOM driver model based on DSP/BIOS , and described an example of device driver for DM642video port. It has been proved that IOM driver model simplified the development of device d

3、river.K eyw ords :DSP/BIOS ; IOM driver model ; class driver ; mini 2driver图1DSP/BIOS IOM 驱动模型结构0引言为DSP 系统中的各种外围设备编写I/O 接口程序, 成为DSP 应用开发中的重要环节。TI 公司为C64x 系列DSP 推出的基于DSP/B IOS 的设备驱动模型IOM 模型, 将设备驱动分为依赖于硬件层和不依赖于硬件层, 两层之间使用通用接口进行数据通信, 提高了软件的可重用性和模块化程度, 简化了驱动程序的开始。1IOM 驱动模型简介IOM 驱动模型由类驱动与微驱动两层组成。类驱动为设备驱动

4、的顶层, 是应用程序与微驱动之间的接口。微驱动为设备驱动的底层, 它直接处理所有外部设备的控制和初始化工作。图1描述了应用程序与设备驱动以及外围设备之间的关系。图2GIO 类驱动接口2类驱动DSP/B IOS 定义了3种类驱动:SIO/DIO 、PIP/PIO 和GIO 。这3种类驱动对应不同的数据传输模式。DSP/B IOS 支持两种数据传输模式:流(st ream 和管道(pip 。SIO 模块执行流数据传输, PIP 模块执行管道数据传输。两种模块都必须54本页已使用福昕阅读器进行编辑。福昕软件(),版权所有,仅供试用。 通过各自的适配模块(adapter 与微驱动的IOM 接口传输数据

5、。SIO 的适配模块称作DIO , PIP 的适配模块称作PIO 。GIO 采用基于流的同步I/O 数据传输模式, 包含有内置的IOM 适配层, 可以直接与微驱动通信。本文所述的DM642的VideoPort 驱动采用GIO 类驱动。图2说明了GIO 类驱动与系统中其他层的关系。3微驱动微驱动直接控制外部设备, 通常包括如下函数:通道绑定函数(mdBindDev 、通道创建/删除函数(mdCreateChan/mdDeleteChan 、I/O 请求发送函数(mdSubmit Chan 、中断服务函数(ISRs 和设备控制函数(mdCo nt 。数表指针IOM _4D M 642video 驱

6、动程序开发TMS320DM642是Ti 公司推出的一款针对多媒体领域的DSP , 它带有三个可配置的视频端子(video port , 与视频采集芯片连接, 无需外加逻辑控制电路和FIFO 缓存, 只需编程者编写相关驱动程序, 就可实现图像采集或显示。配置类驱动和微驱动对象编写驱动程序之前, 必须在DSP/B IOS 配置工具中使能GIO 模块, 并注册微驱动对象, 在设备表中注册设备名, 指明IOM _Fxn 函数表地址和设备参数地址。编写类驱动代码类驱动中比较重要的是GIO _create ( 和GIO _submit ( 函数。GIO _create 函数根据name 参数在设备表中查找

7、已注册的微驱动, 获取IOM _Fxn 函数地址和设备参数地址, 调用mdCreateChan 产生通道实例(channel instance 。GIO _submit 函数主要向微驱动发送IOM _Packet 命令包, 并完成视频帧存数据在应用程序与驱动程序之间的同步。编写微驱动代码(1 通道绑定函数DSP/B IOS 在设备初始化时调用绑定函数。本驱动中通道绑定函数完成视频端子的初始化功能。(2 通道创建/删除函数通道创建/删除函数完成通道对象的创建和删除功能。每个微驱动可以定义不同的通道对象数据结构。以下是几个关键域:mode 必须是IOM _INPU T , IOM _OU TPU

8、T 和IOM _INOU T 中的某个值。根据应用的不同, 可以将视频端子配置为IOM _INPU T (视频采集 或IOM _OU TPU T (视频显示 模式;pendList 微驱动器应具备处理多I/O 请求的能力。通常处理方法是对多个I/O 请示排队, 把暂时不能处理的I/O 请求送入等待队列(queue ;cbFxn 回调函数指针, 指向回调函数入口地址。回调函数规定了微完成I/O 请求后;, 指明回调函数的(3 I/O 请求发送函数I/O 请求发送函数处理GIO 类驱动发送的IOM _Packet 包中的命令代码, 根据不同的命令代码, 微驱动处理命令或返回错误信息。本例中I/O

9、请求发送函数管理驱动的帧缓存, 处理应用程序对帧缓存数据的请求和释放。(4 中断服务函数中断服务函数处理外部设备的触发事件。对于视频采集应用, 每采集完一帧数据将触发EDMA 中断。微驱动在中断服务函数中管理帧缓冲区, 更新EDMA 参数重载(reload 入口地址, 并调用回调函数通知类驱动已采集到一帧数据。(5 设备控制函数微驱动支持的设备控制操作因设备而异。本例设备控制函数必须完成如下操作:配置前端视频编/解码芯片; 配置视频端子通道; 启动/终止视频端子。实践表明, IOM 驱动模型降低了系统中软件硬件间的耦合性, 提高了程序的可重用性和可移植性, 简化了设备驱动程序的开发。参考文献1DSP/BIOS Driver Developer s Guide Z .Literature Number :SPRU616. T exas Instruments Incorporated , November 2002. 2The TM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论