目标:能够把电脑当作一个集成有高性能处理器的开发板用起来,当然,还自带了一个高级的操作系统Windows(必须的)。总之,就是在一个带了操作系统的高性能开发板上的驱动程序开发。
性质:纯属业余爱好
1、昨天下载了WDK 7.1.0 Free版(From MS的正版,需要注册一个Windows Live ID,下载链接http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=36a2630f-5d56-43b5-b996-7633f2ec14ff&displayLang=en)。今天才下载完成,大小619MB,格式ISO。
2、安装时选择了全部的安装选项,因为是Free版,担心可能少一些东西,加上本来对驱动开发不熟悉,干脆全部装上,以绝后患。
3、阅读帮助文档(help目录下的“WDK document”文档),貌似没有中文版,阅读速度缓慢。计划以后慢慢翻译阅读过的内容,作为学习笔记。
4、按照我学习的习惯(兴趣第一),找到一个example先找点感觉再说。学习的第一个例子就是IOCTL,这个最接近嵌入式应用,并且能够自己控制一些东西还是很爽的,虽然只是简单的IO,当然,这让我想起了当年完成的第一个8051实验“跑马灯”,可以带来像初学C语言的人的“hello word”程序一样兴奋。
5、初识驱动开发(我的系统已经安装VC6.0和VS2005):
当然代码是MS写好的。对着文档我编译了一下,并且运行成功而已。
(1)进入WDK安装目录"\WinDDK\7600.16385.1\src\general\ioctl"
(2)复制wdm文件夹到"D:\",作为实验目录。
(3)从“开始”->“所有程序”进入WDM目录下的“Build environment->windows xp”启动“x86 Free Build environment”工具,是基于Dos界面的工具。
(4)进入第(2)步准备好的实验目录wdm,进入“sys”子目录,运行“BLD”命令即可在“sys”目录下生成一个文件夹“objfre_wxp_x86”,里面就有编译后的结果“sioctl.sys”文件。
(5)再回到第(2)步准备好的实验目录wdm,进入“exe”目录,同样按照(4)的命令操作编译程序,得到一个用于测试(4)的编译结果的exe文件名称为“ioctlapp.exe”,把它复制到步骤(4)“sioctl.sys”文件所在的目录,并在dos窗口运行“sioctl.sys”,可以看到驱动程序的输出结果。实验完毕。
(6)阅读步骤(4)实验文件夹的源文件“sioctl.c”、“sioctl.h”,“MAKEFILE”和“sioctl.rc”,领会驱动程序的框架,准备继续的学习(从头开始读手册)。


运行结果:

Windows驱动开发工具 WDK 学习笔记(1)的更多相关文章

  1. windows驱动开发详解学习笔记

    1. windows驱动分两类,NT式驱动和WDM驱动,后者支持即插即用: 2. DriverEntry是入口函数,传入参数:pDriverObject由IO管理器传入: 3. WDM驱动中,AddD ...

  2. Windows驱动——读书笔记《Windows驱动开发技术详解》

    =================================版权声明================================= 版权声明:原创文章 谢绝转载  请通过右侧公告中的“联系邮 ...

  3. Windows驱动开发(中间层)

    Windows驱动开发 一.前言 依据<Windows内核安全与驱动开发>及MSDN等网络质料进行学习开发. 二.初步环境 1.下载安装WDK7.1.0(WinDDK\7600.16385 ...

  4. [Windows驱动开发](一)序言

    笔者学习驱动编程是从两本书入门的.它们分别是<寒江独钓——内核安全编程>和<Windows驱动开发技术详解>.两本书分别从不同的角度介绍了驱动程序的制作方法. 在我理解,驱动程 ...

  5. windows驱动开发推荐书籍

    [作者] 猪头三 个人网站 :http://www.x86asm.com/ [序言] 很多人都对驱动开发有兴趣,但往往找不到正确的学习方式.当然这跟驱动开发的本土化资料少有关系.大多学的驱动开发资料都 ...

  6. C++第三十三篇 -- 研究一下Windows驱动开发(一)内部构造介绍

    因为工作原因,需要做一些与网卡有关的测试,其中涉及到了驱动这一块的知识,虽然程序可以运行,但是不搞清楚,心里总是不安,觉得没理解清楚.因此想看一下驱动开发.查了很多资料,看到有人推荐Windows驱动 ...

  7. windows 驱动开发入门——驱动中的数据结构

    最近在学习驱动编程方面的内容,在这将自己的一些心得分享出来,供大家参考,与大家共同进步,本人学习驱动主要是通过两本书--<独钓寒江 windows安全编程> 和 <windows驱动 ...

  8. C++第三十八篇 -- 研究一下Windows驱动开发(二)--WDM式驱动的加载

    基于Windows驱动开发技术详解这本书 一.简单的INF文件剖析 INF文件是一个文本文件,由若干个节(Section)组成.每个节的名称用一个方括号指示,紧接着方括号后面的就是节内容.每一行就是一 ...

  9. Windows Phone开发工具初体验【转载】

    Windows Phone开发工具在MIX 2010上火热登场了.Windows Mobile开发者们压抑许久的热情终于爆发出来,对于Windows Phone的华丽转身,开发者们褒贬不一,有人对Si ...

随机推荐

  1. 程序管理与SElinux

    一.程序: 1.在Linux中,触发任何一个事件是,系统都会将他定义为一个程序,并且给予这个程序一PID,同时依据启发这个程序的使用者与相关属性关系,给予这个PID一组有效的权限设定,从此以后,这个P ...

  2. CentOS7 Nvidia Docker环境

    最近在搞tensorflow的一些东西,话说这东西是真的皮,搞不懂.但是环境还是磕磕碰碰的搭起来了 其实本来是没想到用docker的,但是就一台配置较好电的服务器,还要运行公司的其他环境,vmware ...

  3. 洛谷 [P1314] 聪明的质检员(NOIP2011 D2T2)

    ###一道二分答案加前缀和### 题目中已经暗示的很明显了 "尽可能靠近" " 最小值" 本题的主要坑点在于 long long 的使用 ##abs函数不支持l ...

  4. POJ 2065 SETI [高斯消元同余]

    题意自己看,反正是裸题... 普通高斯消元全换成模意义下行了 模模模! #include <iostream> #include <cstdio> #include <c ...

  5. 51Nod 1225 余数之和 [整除分块]

    1225 余数之和 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  关注 F(n) = (n % 1) + (n % 2) + (n % 3) + ... ...

  6. 51Nod 欢乐手速场1 A Pinball[DP 线段树]

    Pinball xfause (命题人)   基准时间限制:1 秒 空间限制:262144 KB 分值: 20 Pinball的游戏界面由m+2行.n列组成.第一行在顶端.一个球会从第一行的某一列出发 ...

  7. Jmeter_实现操作postgresql数据库

    [环境] ①Jmeter版本:3.2,JDK:1.8: ②postgresql驱动包postgresql-9.3-1103.jdbc4,将该jar包置于..\apache-jmeter-3.2\lib ...

  8. 用Markdown写微信公众号文章

    目前微信公众号的编辑器是不支持Markdown语法的,那怎么办呢? 有一款叫Markdown Here的插件可以解决这个问题(支持Chrome.Firefox.Safari). 官方网站:http:/ ...

  9. 【汇总】Linux常用脚本shell

    [crontab] #每天6:00 执行a.sh00 6 * * * /bin/sh /home/work/rxShell/a.sh #每天3:20 执行a1.sh20 3 * * * /bin/sh ...

  10. Zabbix 3.0 监控Web

    zabbix 界面配置 触发器添加