DM642FVID驱动[参考].pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
DM642 FVID 驱动程序设计 DM642 FVID 驱动程序是 TI 公司为开发 DSP 的外设驱动程序而推出的解决方案。该驱动程序模型定义了标准的设备驱动模型,并提供了一系列的 API 接口。外设驱动程序分为两层:类驱动(class driver)和迷你驱动(mini driver)。 类驱动程序用来为应用程序提供接口,主要功能包括维护设备数据缓冲区,向上提供 API 接口供应用层程序调用,并协调应用程序对外设操作的同步和阻塞。类驱动程序与硬件无关,只要外设驱动模型选定了,类驱动程序就定下来了,不需要做多少修改。 迷你驱动程序与设备相关,是外设驱动开发中的重点。迷你驱动程序与类驱动层的接口格式是统一的,但迷你驱动程序对底层硬件的操作是根据硬件平台的不同而变化的。 外设驱动程序模型又可以分为以下三类: 1. PIP/PIO 模型:基于数据管道的 I/O 模型,每个管道都在维护自己的一个缓冲区。当数据写入缓冲区,或从缓冲区取出数据时,便会激发 notifyReader() 和 notifyWriter() 函数实现数据的同步。 2. SIO/DIO 模型:基于数据流的 I/O 模型,一个数据流是单向的,要么是输入,要么是输出,而且 SIO/DIO 模型使用异步方式来操作 I/O,对于数据的读写、处理可以同时进行。 3. GIO 模型:通用的 I/O 模型,灵活性很强,且没有适配层,直接操作迷你驱动程序,主要用来设计新型的设备驱动模型。 FVID 驱动模型是 TI 公司基于 GIO 模型的改进版本,解决了 GIO 模型中驱动程序不能回收缓冲区的问题。FVID 模型专门设计了 FVID_frame 结构,该结构中包含了常用的视频信号的信息,如行数、列数、YUV 结构、场频等,很适合描述视频数据帧。 迷你驱动各个函数的具体实现如下: 1. mdBindDev() 函数:在应用程序建立设备接口时被调用,以实施设备邦定,完成对外部设备的初始化。 2. mdCreateChan() 函数:使用此函数为应用程序和驱动程序建立通信通道,同时为每个通道申请缓冲区。在 TI 公司发布的 FVID 模型中,为每个通道都分配了 3 个缓冲区,轮流与外部设备交换数据,每个缓冲区对应 1 帧视频数据。 3. mdSubmitChan() 函数:负责管理缓冲区,分别接受应用程序发出的 FVID_ALLOC()、FVID_EXCHANGE()、FVID_FREE() 三个命令并进行处理。 DM642 FVID 驱动程序模型提供了一种灵活、可靠的解决方案,满足了视频处理应用程序的需求。
- 粉丝: 7
- 资源: 14万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助