WinDriver驱动程序开发入门教程

news/2024/12/1 0:25:51/

WinDriver驱动程序开发入门教程


Windriver是jungo公司的一款高效易用的驱动开发软件,方便用户基于此开发自己的驱动程序,而不需要对windows DDK作深入的研究。
Windriver相比driverstudio使用起来更为方便,同时,它支持windows、Linux、Vxworks、winCE、Solaris等OS,对于当前流行的硬件设备,如:端口、ISA、PCI(-X, -E)、PCMCIA、USB等都有很好的支持。作为驱动开发的入门工具,windriver是很好的选择。
在这里插入图片描述
Include目录里就是最通用的包含文件;
Lib目录则是重要的api函数库文件;
Redist目录下是windriver的缺省驱动程序和DLL;
Docs就是windriver的各种手册,看这个绝对受益匪浅,而且也是正道。

下面进行驱动程序开发的简单操作示范:
(1)首先需要使用DriverWizard生成驱动程序代码。
在Windows操作系统中,你需要创建并安装INF文件来注册USB设备以便使用WinDriver,若你没有执行过此操作,DriverWizard会提示你需要安装INF文件。
在这里插入图片描述
当你在 Windows环境下使用DriverWizard,你可以点选自动安装INF文件,执行步骤为在DriverWizard生成的生 INF 对话窗口中选择「Automatically Install the INF file」。若此步骤执行失败时,DriverWizard会提供你下载安装下载指示。
在这里插入图片描述
(2)之后,便可选择开启你的硬件设备,生成驱动程序代码。
可以先使用Add access register设置好你要操作的寄存器的偏移地址、位宽和读/写,设置好之后,在生成驱动程序代码时工具会帮助生成相应的函数,方便程序的开发。
例如:
// Function: DDC_ReadRXR()
// Read from RXR register.
// Parameters:
// hDev [in] handle to the card as received from DDC_DeviceOpen().
// Return Value:
// The value read from the register.
BYTE DDC_ReadRXR (WDC_DEVICE_HANDLE hDev)
{
BYTE data;

WDC_ReadAddr8(hDev, DDC_RXR_SPACE, DDC_RXR_OFFSET, &data);
printf("%x\t",data);
return data;

}
上述读DDC_ReadRXR的函数就是由工具生成的。
在这里插入图片描述
(3)生成代码
通过Generate Code的图标或者从Project | Generate Code菜单选项中选择生成代码。
在这里插入图片描述
点next。
在这里插入图片描述
这样就完成了驱动程序代码的生成,那么就可以开始你第一个驱动程序的开发了。工程文件在x86文件夹中。
在这里插入图片描述
在编写好自己的驱动后,可以先使用调试工具调一下,我写了一个比较简单的驱动程序,就是读取128 byte DEID数据,很容易就把数据读出来了。
在这里插入图片描述
此教程仅作为一个入门的教程,开发过程中容易遇到的问题和一些比较坑的地方,后续会慢慢更新。好了,开始你的windriver驱动程序开发吧。


http://www.ppmy.cn/news/706215.html

相关文章

linux网络驱动rtl8211f,Realtek 8211BL Gigabit Nic 在CentOS 5下驱动的安装

最近攒了一台PC服务器,采用了GigaByte的GA-M68SM-S2的主板,该主板采用了Nvidia 630a芯 片,网卡芯片为Realtek 8211BL Gigabit Ethernet Card。 选用CentOS 5 x86_64作为服务器系统。 安装完成后系统找不到网卡。GigaByte和RealTek都未提供Li…

安装CCS5时仿真驱动出现问题的解决方法

更多文章点击:https://www.zhihu.com/people/san-hao-bai-du-ren-79/activities 出现的现象: 安装CCS5 时,如果已经安装了XDS560v2_20130218驱动,如下图: 但是插上仿真器后,在设备管器中XDS560却显示有问…

SpringCloud(2) 注册中心Eureka、Nacos

目录 1.背景2.Eureka 注册中心3.Nacos 注册中心4.常见面试题1)服务注册和发现是什么意思?Spring Cloud 如何实现服务注册发现?2)Nacos 和 Eureka 有什么区别? 1.背景 注册中心是微服务中必须要使用的组件,…

(2)深度学习学习笔记-矩阵操作

文章目录 前言矩阵/向量操作来源 前言 线性代数中一些矩阵、向量操作 矩阵/向量操作 import torch Atorch.arange(20).reshape(5,4) # 转置A print(A.T)# 通过分配新内存,将A的副本分配给B BA.clone() print(B)# 两矩阵按元素乘法 (哈达玛积&#xff0…

小米笔记本重装系统BOOT启动菜单识别不了硬盘无法启动进入系统

【阅读文章申明】 作者只是想把自己实践中的经验分享给大家,如果文章里面有在大神面前显的很低级的知识点。那么大神你可以不看,请不要发一些“浪费流量”“辣鸡”之类嘲讽的话,每一篇文章都是作者自己。截图,编辑,排版…

笔记本电脑开不了机的原因以及解决方法

笔记本电脑开不了机相信很多朋友都有遇到过,最近小编的笔记本电脑有时候也开不机,不过很快就搞定了,下面小编分享一下详细的笔记本电脑开不机的原因以及解决方法! 第一步:首先根据具体情况分析,如果直接没有…

笔记本电脑无法U盘启动

笔记本电脑无法U盘启动 最近电脑出了一些问题,其他功能都很正常,但就是不可以关机睡眠和重启。关机出现的问题就是感觉有种关机过程中死机的感觉,一直显示正在关机,突然黑屏之后以为关机了,但是电脑的散热风扇还在转&…

win10启动不了怎么办?

最近有很多用户在重装win10系统重启的时候发现重启不动了,那么遇到这样的问题我们该怎么解决呢?今天小编带来了详细的解决方法。具体的一起来看看吧。 解决ghostwin10启动解决方法 错误原因:将机械硬盘换成ssd,不想重装系统和程序…