vxWorks下设备驱动模板

vxWorks下设备驱动模板

ID:37713903

大小:54.50 KB

页数:7页

时间:2019-05-29

vxWorks下设备驱动模板_第1页
vxWorks下设备驱动模板_第2页
vxWorks下设备驱动模板_第3页
vxWorks下设备驱动模板_第4页
vxWorks下设备驱动模板_第5页
资源描述:

《vxWorks下设备驱动模板》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于vxBus的设备驱动模板vxWorks6.x设备驱动采用了新型的vxBus构架,该构架和原来的设备驱动有很大不同,初上手会有很多不方便。下面提供的模板有助于快速形成一个vxBus设备驱动设备驱动在3个地方体现:头文件,代码文件,hwconfig.c,根据下面模板,把所有DEVICE换成自己的设备,并做相应操作即可,免去很多重复代码的苦恼,开发者仅需要关注功能即可。这个模板处理了中断,但没有提供处理基本IO的方法,模板不是用来学习的,怎样完整地写一个vxbus的驱动,还是需要学习的。头文件#i

2、fndefDEVICE_h#defineDEVICE_h#defineDEVICE_CARD_NAME"设备名"#defineDEVICE_CARD_DESC"设备描述"#defineDEVICE_CARD_VXBNAME"设备vxBus名"#defineDEVICE_CARD_INT_PIN[中断管脚]#defineDEVICE_CARD_INT_CORE_PIN[核中断管脚]#defineDEVICE_CARD_INT_CORE_NUM[中断处理核]#defineDEVICE_INT_DES

3、C{DEVICE_INT_PIN,DEVICE_CARD_VXBNAME,0,0}#defineDEVICE_XBAR_DESC{DEVICE_INT_PIN,DEVICE_INT_CORE_PIN}#defineDEVICE_ROUTE_DESC{DEVICE_INT_PIN,DEVICE_INT_CORE_NUM}#defineDEVICE_UNIT0_DEVICE_ID0/*假如有多个同型号设备begin*/#defineDEVICE_UNIT1_DEVICE_ID1...../*假如有多

4、个同型号设备end*//*其他设备宏*/#endif/*DEVICE_h*/代码文件#include/*addedforvxBus*/#include#include#include#include#include"DEVICE.h"/*其他必要的INCLUDE*//*设备数据结构*/typedefstruct{VXB_D

5、EVICE_IDpDev;intnVxUnit;/*其他需要的成员变量*/}DEVICE_STRUCT;/*总线加载函数*/LOCALvoidDEVICEInstInit(structvxbDev*pDev);LOCALvoidDEVICEInstInit2(structvxbDev*pDev);LOCALvoidDEVICEInstConnect(structvxbDev*pDev);/*方法函数(假如有的话)*//*探寻函数*/LOCALBOOLDEVICEProbe(structvxbDe

6、v*pDev);/*中断响应函数*/LOCALvoidDEVICEInt(DEVICE_STRUCT*pDrvCtrl);/*vxBus注册总线加载函数*/LOCALstructdrvBusFuncsDEVICEFuncs={DEVICEInstInit,/*devInstanceInit*/DEVICEInstInit2,/*devInstanceInit2*/DEVICEInstConnect/*devConnect*/};/*vxBus设备方法函数*/LOCALdevice_method_

7、tDEVICEMethods[]={/*方法函数(假如有的话)*/{0,0}};/*PCI设备需要填写*/LOCALstructvxbPciIDDEVICEDevIDList[]={{DEVICE_DEVID,DEVICE_VENDORID}};/*vxBus设备注册入口*//*pci设备start*/LOCALstructvxbPciRegisterDEVICERegistration={{NULL,/*pNext*/VXB_DEVID_DEVICE,/*devID*/VXB_BUSID_PC

8、I,/*busID=PCI*/VXBUS_VERSION_4,DEVICE_CARD_VXBNAME,/*设备名称*/&DEVICEFuncs,DEVICEMethods,DEVICEProbe},NELEMENTS(DEVICEDevIDList),DEVICEDevIDList};/*pci设备end*//*plb设备start*/LOCALstructvxbPlbRegisterDEVICERegistration={{NULL,/*pNext,一般都用NULL*/VXB_DEVID_DE

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

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

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