Vxworks驱动程序的结构
发布日期:2021-07-01 01:03:54
浏览次数:3
分类:技术文章
本文共 625 字,大约阅读时间需要 2 分钟。
驱动程序的结构包括三个部分:初始化部分,函数功能部分和中断服务程序ISR。初始化部分初始化硬件,分配设备所需的资源,完成所有与系统相关的设置。如果是字符设备,首先调用iosDrvlnstall()来安装驱动程序,把中断向量和ISR挂上,然后调用iosDevAdd()来把驱动程序加到IO系统中:如果是块设备,首先把中断向量和ISR挂上,在内存中分配一个设备结构,然后初始化该结构。用户要使用该设备时,先调用设备初始化部分myInit()(一般放在sysLib.C中),再调用设备创建函数myDevCreate()返回一个BLK_DEV结构的指针,供文件系统初始化函数如 dosFsDevInit()使用。以下为块设备的初始化示例代码: struct MyDevice{ //自定义的设备结构 BLK_DEV dev; 必须在结构的开始 Int interrupt;设备使用的中断号 .... } int mylnit(){ //初始化函数 MyDevicelnit();//硬件初始化函数 MyDevice* Device =(MyDevice*)malloc(sizeof(MyDevice)); //为设备结构分配内存 Device->dev.bd_blkRd = Read;//初始化设备结构 Device->dev_blkWrt= Write; intConnect(imToVec(9),my_ISR);//连接中断向量和中断服务程序ISR
转载地址:https://mao0514.blog.csdn.net/article/details/21078397 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月30日 22时25分56秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
VS 2005使用map文件查找程序崩溃原因
2021-07-04
VC下发布的Release版程序的异常捕捉
2021-07-04
DivX和XviD不能不说的故事
2021-07-04
C++异常中的堆栈跟踪
2021-07-04
使用dbghelp获取调用堆栈--release下的调试方法
2021-07-04
星巴克高管称Windows 8将无足轻重
2021-07-04
三层网络体系结构的特点和实现方法
2021-07-04
调试Release发布版程序的Crash错误(一)
2021-07-04
在VC环境中调试跟踪变量
2021-07-04
开源网络通信库参考
2021-07-04
c++/c#类互用
2021-07-04
我的C++实践(10-15)
2021-07-04
实验吧杂项-流量日志分析
2021-07-04
C++ Singleton (单例) 模式最优实现
2021-07-04
linux进程、线程与cpu的亲和性(affinity)
2021-07-04
mac的terminal快捷键
2021-07-04
C语言可变参数va_list
2021-07-04
__BEGIN_DECLS 和 __END_DECLS
2021-07-04
[转帖]Robots.txt指南
2021-07-04