用类/微驱动模型开发DSP视频驱动程序
集成外设的增多,软件应用复杂性进一步的增加,导致开发外设驱动程序所需的工作量大大增加。TI公司提出了类/微驱动模型的驱动程序结构。
实践结果表明,采用类/微驱动模型进行驱动程序设计后,应用软件可以复用绝大部分相似设备的驱动程序,从而极大地提高了驱动程序的开发效率。
近年来,DSP运算能力的不断增强,使其在电子设备方面得到了广泛的应用。DSP/BIOS是TI公司推出的一个实时操作系统,与TI的CCS(Code Composer Studio)集成在一起。用DSP/BIOS可以大大简化DSP应用程序的开发和调试,其中与外围设备的I/O接口是DSP应用开发中不可缺少的重要部分。TI公司为C64x系列DSP的开发者提供了一种类/微驱动模型(class/mini drivermodel)。通过对外围设备设计驱动程序,为高层应用程序提供统一的接口来操作底层硬件。只要足遵循此驱动程序接口标准开发的高层应用程序,都可以在具有相同接口的不同硬件平台上运行,从而使DSP软件系统与硬件系统相分离,提高了软件的可重用性、可维护性和可移植性,缩短了总体驱动程序的开发周期。
1 DSP的外设驱动开发模型
TI公司为开发DSP的外设驱动程序定义了标准的设备驱动模型,并将设备驱动分为类驱动和微驱动,即依赖于硬件层和不依赖于硬件层。两层之间使用通用接口进行数据通信,并提供了一系列的API接口,用户应用程序通过调用API来访问相应的外部设备。外设驱动开发模型的建立,提高了外设驱动程序的可重用性和模块化程度,简化了驱动程序的开发。外设开发模型如图1所示。
①类驱动(class driver)。类驱动程序用来为应用程序提供接口。这部分程序与所使用的硬件设备无关,主要功能包括维护设备缓冲区,向上提供API接口供应用程序调用,向下提供适配层与微驱动层相连,实现API接口函数到微驱动层程序的映射。
②微驱动(mini driver)。微驱动程序与外部硬件设备相关,所以设计微驱动程序是外设驱动开发的重点。微驱动程序与类驱动程序的接口格式是固定的,但微驱动程序对底层硬件的操作则须根据硬件平台的不同需要做相应的改动。微驱动通过接收类驱动层发出的调用命令来决定对底层硬件进行什么样的操作。
类驱动通过标准的微驱动接口调用微驱动控制硬件设备。到日前为止,TI共定义了3类驱动:
①流输入输出模块(SIO),为每个DSP/BIOS线程提供一个独立的I/O机制,执行点到点的数据传送,支持动态创建,通过DIO适配模块与IOM连接;
②管道管理模块(PIP),提供管理异步I/O的数据管道,每个管道对象都有一块同样大小的缓存,PIP模块通过缓存进行数据传输,通过PIO适配模块与IOM通信;
相关文章
- 2023-09-13自由活塞式斯特林制冷机压缩活塞间隙密封泄漏的数值模拟
- 2024-01-06不确定度评定实例分析 电子皮带秤测量不确定度的评定
- 2024-01-21IEEE1588最佳主时钟算法的分析与实现
- 2023-12-26刚架结构内力图绘制方法研究
- 2022-01-17ControlLogix系统在大型顺序(散粮筒仓)控制系统改造中的应用
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。