vxworks设备驱动开发指南

vxworks设备驱动开发指南

ID:14737486

大小:1.00 MB

页数:104页

时间:2018-07-30

vxworks设备驱动开发指南_第1页
vxworks设备驱动开发指南_第2页
vxworks设备驱动开发指南_第3页
vxworks设备驱动开发指南_第4页
vxworks设备驱动开发指南_第5页
资源描述:

《vxworks设备驱动开发指南》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、vxWroks6.8设备驱动开发指南——写具体类设备驱动3DMA驱动3.1简介本章描述了DMA驱动。3.2概要有些硬件设计包括一个通用DMA引擎,处理来自DMA的访问,或到外部设备,或从内存到内存。这些DMA引擎通常集成在片上CPU系统中。DMA驱动类为系统中其它设备提供DMA引擎服务的一套标准方法。提供的vxbDmaLib库提供用于DMA引擎。这个DMA库提供的函数是vxbDmaChanAlloc()和vxbDmaChanFree()。3.3VxBus驱动方法由vxbDmaLib库提供的函数充分使用三个VxBus驱动方法:■{vxbDmaResourceGet}()■{vxbDmaR

2、esourceRelease}()■{vxbDmaResDedicatedGet}()DMA驱动通过这些方法的关联函数提供对它们服务的访问。3.3.1{vxbDmaResourceGet}(){vxbDmaResourceGet}()方法用于DMA库来分配一个DMA驱动管理的设备上的DMA通道。原型如下:STATUS{vxbDmaResourceGet}(VXB_DEVICE_IDpInst,VXB_DEVICE_IDpReqDev,VXB_DMA_REQUEST*pReq)这个原型,pInst指DAM设备本身,pReqDev指请求一个DMA通道的设备,和pReq是一个指针,指向一个结

3、构,描述DMA通道的期望的属性。VXB_DMA_REQUEST结构定义在:installDir/vxworks-6.x/target/src/hwif/h/util/vxbDmaDriverLib.h结构定义如下:typedefstructvxbDmaRequest{VXB_DEVICE_IDinstance;/*DMArequestordeviceid*/UINT32minQueueDepth;/*minimumqueuedepthrequested*/UINT32flags;/*flagsusedduringDMAallocation*/VXB_DMA_RESOURCE_IDpCh

4、an;/*DMAchannelid*/void*pDedicatedChanInfo;/*dedicatedchannelinformation*/}VXB_DMA_REQUEST;这个结构很大程度上对应传递给vxbDmaChanAlloc()的参数。DMA设备驱动正常选择一个基于minQueueDepth和flagsDMA通道,并返回指向通道的指针pChan。设备驱动调用DMA驱动的通道分配代码——无论通过和函数——可以有选择的传递一个执行一个结构的指针,这个指针包括具体于期望DMA通道的信息,专有于请求者。DMA驱动可以充分使用这个信息来设置一个专有的DMA通道。3.3.2{vxb

5、DmaResourceRelease}(){vxbDmaResourceRelease}()方法用于DMA库来释放DMA驱动管理的设备上的DMA通道。原型如下:STATUS{vxbDmaResourceRelease}(VXB_DEVICE_IDpInst,VXB_DMA_RESOURCE_IDpChan)大多数情况下,驱动的仅有要求是释放具体的分配给设备的DMA通道,由pChan标识,pInst指向DMA设备的VxBus设备ID。3.3.3{vxbDmaResDedicatedGet}()DMA库使用{vxbDmaResDedicatedGet}()方法来分配一个DMA方法专属于调用

6、方法的具体设备。这个方法的功能和{vxbDmaResourceGet}()类似。然而,制约于硬件限制或其他限制,你可能想使用这个设备来保证具体设备分配给具体通道。如这通过检查设备名关联的设备实例,由pReqDev标识,来完成,或检查使用的成员传递pReq的pDedicatedChanInfo信息。原型如下:STATUS{vxbDmaResDedicatedGet}(VXB_DEVICE_IDpReqDev,VXB_DMA_REQUEST*pReq)3.4头文件DMA驱动必须包含如下头文件:#include#include"../h/util

7、/vxbDmaDriverLib.h"其他驱动想使用vxbDmaLib可能需要包含如下:#include这些驱动也可能需要包含具体DMA驱动的头文件,为了使用专用的通道功能。3.5BSP配置DMA驱动通常BSP不需要什么配置信息。参考VxWorksDeviceDriverDeveloper’sGuide(Vol.1):DeviceDriverFundamentals。3.6可用的工具函数DMA驱动不

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。