DSP硬件驱动程序开发方法研究

需积分: 17 1 下载量 53 浏览量 更新于2024-09-06 收藏 277KB PDF 举报
"开发DSP硬件驱动程序的一种方法" 本文主要介绍了一种开发TI公司DSP片内及片外硬件外设驱动程序的方法,并以C5000DSP的McBSP/DMA及TMS320C5509的USB驱动程序开发为具体对象。该方法通过建立硬件驱动程序的开发模式,旨在解决传统DSP程序开发中所存在的可移植性和通用性不高的问题。 1. 传统DSP程序开发的缺陷 传统的DSP程序开发包含两方面程序:即配置、控制、中断等管理DSP片内外设、接口的硬件相关程序和基于应用的算法程序。这样的系统结构,应用程序与硬件相关程序紧密的结合一起,限制了程序的可移植性和通用性,软件开发总要从零开始,存在诸多重复工作。一旦硬件平台有变化,往往与硬件程序捆绑一起的应用程序也需改动,代码的维护性和可移植性均不高。 2. 基于DSP/BIOS的IOM硬件驱动 在CCS应用环境中集成的实时操作系统DSP/BI-OS中,硬件驱动程序最终以函数库的形式被封装起来,应用程序可不关心底层硬件外设的具体操作,通过调用DSP/BIOS相关的标准API与不同外设接口。IOM(I/OMini-driver)是DSP/BIOS的设备驱动模块的一种接口方式,配置硬件设备驱动模块为IOM模式可在DSP/BIOS的图形化界面(GUI)中方便完成。 IOM模式将设备驱动程序分为两个层次:上一层是“类”驱动程序(classdriver),这部分程序负责对存储缓冲区管理、由DSP/BIOS各类标准的API函数与应用程序接口,与设备硬件无关。下一层是“迷你”驱动程序(mini-driver),这部分程序集成了实际硬件相关的代码。 IOM接口将“迷你”驱动程序与“类”驱动程序联系一起,包括定义I/O数据包(IOM_Packet)以提交“迷你”驱动程序读写,定义功能函数包(IOM_Fxns)完成相关初始化,打开或关闭通道,提交I/O数据传输与控制等任务,确保“迷你”驱动程序与“类”驱动程序运行协调一致。 3. “类”驱动程序的种类 “类”驱动程序直接在应用程序中出现,并且根据数据输入/输出的处理方式不同,有相应“类”驱动程序。主要是3种:流输入输出型“类”驱动(SIO)、管道型“类”驱动(PIO)和消息队列型“类”驱动(MQ)。 4. LabVIEW在DSP硬件驱动程序开发中的应用 LabVIEW是一种基于图形化编程的开发环境,能够快速开发和测试DSP硬件驱动程序。通过使用LabVIEW,可以快速生成DSP硬件驱动程序的代码,并且可以与DSP/BIOS集成,实现高效的硬件驱动程序开发。 本文介绍了一种开发TI公司DSP片内及片外硬件外设驱动程序的方法,该方法通过建立硬件驱动程序的开发模式,解决了传统DSP程序开发中所存在的可移植性和通用性不高的问题,并且可以与LabVIEW集成,实现高效的硬件驱动程序开发。