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驱动程序开发吧。

WinDriver驱动程序开发入门教程相关推荐

  1. zybo的linux开发教程,Zybo全栈开发入门教程——连载三:创建Linux设备驱动和应用程序...

    作者:Commanderfranz,编译: kenshin 通过前面两篇文章我们不仅创建的自定义IP模块还移植了Linux操作系统,今天这篇文章的内容是将这两部分联系起来,其实我们创建的myLed I ...

  2. 【Arduino】开发入门教程【一】什么是Arduino

    Arduino Arduino 是一款便捷灵活.方便上手的开源电子原型平台,包含硬件(各种型号的arduino板)和软件(arduino IDE).它适用于艺术家.设计师.爱好者和对于"互动 ...

  3. Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE

    Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...

  4. Arduino可穿戴开发入门教程Arduino开发环境介绍

    Arduino可穿戴开发入门教程Arduino开发环境介绍 Arduino开发环境介绍 Arduino不像我们使用的PC端操作系统一样,可以直接在操作系统中安装软件为操作系统编程.Arduino的软件 ...

  5. Arduino可穿戴开发入门教程LilyPad和LilyPad Simple的介绍

    Arduino可穿戴开发入门教程LilyPad和LilyPad Simple的介绍 LilyPad和LilyPad Simple的介绍 LilyPad和LilyPad Simple是LilyPad微控 ...

  6. Arduino可穿戴开发入门教程LilyPad介绍

    Arduino可穿戴开发入门教程LilyPad介绍 Arduino输出模块 LilyPad官方共提供了4种输出模块,他们分别是单色LED模块(图1.5).三色LED模块(图1.6).蜂鸣器模块(图1. ...

  7. Arduino可穿戴开发入门教程(大学霸内部资料)

    Arduino可穿戴开发入门教程(大学霸内部资料) 试读下载地址:链接:http://pan.baidu.com/s/1mg9To28 密码:z5v8 介绍:Arduino可穿戴开发入门教程(大学霸内 ...

  8. 微信公众号开发入门教程第一篇

    微信公众号开发入门教程第一篇 关键字:微信公众平台开发 作者:方倍工作室 在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/ ...

  9. 微信公众平台开发入门教程[2019版]

    关键字:微信公众平台开发 作者:方倍工作室 在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/JS等基础. 我们将使用微信公 ...

  10. UWP开发入门教程备忘

    UWP-01~03 略~ UWP-04 - 什么是XAML? XAML - 遵循XML语法,XAML实际上是在创建类的实例,并给它们设定属性值,用于定义UI UWP-05 - 类型转换器 类型转换器 ...

最新文章

  1. 教你用Vue渐进式搭建聊天室,从JavaScript=TypeScript
  2. python函数定义和其四种参数_python入门第九课:函数的定义及多种参数传递方式...
  3. 2-Qt6命令行控制台项目
  4. python getopt argparse_python OptParse模块和argparse命令行解析的用法详解
  5. 使用Log4j - Java异常处理
  6. javaee和javaee_JavaEE概念简介
  7. oracle打开 txt文件,oracle 导入txt文件
  8. 解析:百度快照与站点权重的关系!
  9. 16个美艳时尚的的网站设计作品欣赏
  10. ArcGIS10.4下载及安装
  11. Redis设计与实现学习总结
  12. 软件工程——软件开发步骤
  13. 芯片查询选型网址汇总
  14. 现代战争——僵尸网络的历史 上篇
  15. 微软面试题 博弈论 经典案例 (参考答案)
  16. IMDB影评倾向分类 - N-Gram
  17. QT 连接 MySQL 失败:手动编译 MySQL 驱动插件
  18. oracle中删除表的四种基本操作 2021-11-03
  19. java flappy bird_Java实例---flappy-bird实例解析
  20. 第八讲:工业网络——单环冗余(理论)

热门文章

  1. 教你怎么学习arcgis软件①
  2. BUUCTF WEB easyweb
  3. 三菱触摸屏怎么改时间_三菱触摸屏密码设置
  4. origin8.1中文乱码设置方法
  5. CAJ文件转PDF的简单方法
  6. android自定义4级联动,使用Android如何实现四级联动地址选择器
  7. 分布式架构设计原则:分布式架构的基本理论CAP、BASE以及应用
  8. linux系统开启ntp服务器配置,Linux系统 NTP服务器配置详解
  9. 虚拟机vm安装 黑群晖 DS3617xs 6.2
  10. linux 卸载keepalived,centos7下keepalived1.4.0安装启动卸载