1·前言开发windows内核驱动程序是一个非常具有挑战性的工作,你得忍耐调试过程中操作系统 不断蓝屏、不断崩溃的噩梦,所以强烈建议你采用虚拟机做开发平台,这样即使把整个系统都搞蹦了,大不了从新装过虚拟机而已。那么搭建一个完整的 Windows驱动开发环境是每个人必须迈过的第一道坎。本文将具体介绍如...
分类:
其他好文 时间:
2014-06-26 14:56:29
阅读次数:
322
驱动代码内部相关关键字等如KillTimer、 LPVOID —指针、BOOL和bool、NEW分配内存
、HWND、UNIT、、__cdecl 、_stdcall、PASCAL 、_fastcall、_thiscall的区别与联系、
typedef LONG_PTR LPARAM;typedef UINT_PTR WPARAM;等...
分类:
其他好文 时间:
2014-06-22 21:18:54
阅读次数:
244
刚刚搞完一个处理器BSP项目,准备搞下一个自研处理器,说不上来什么喜悦,只有些许茫然。没有刚毕业时对这个行业的痴迷,慢慢认同这只是个谋生工具的想法。
回想当初编写第一个驱动,就像上了战场,被长官踢出战壕,扶着帽子拎其枪踉踉跄跄边走边瞄准一样,如今已经熟练移植过多款处理器芯片boot,kernel,驱动了。
但是现在变的很宅,圈子里全是像我一样的研发...
分类:
系统相关 时间:
2014-06-22 20:17:51
阅读次数:
326
相信搞过内核驱动开发的人员都面临过这样的问题:为了让上层代码尽可能的不改变,需要底层驱动对上层提供的接口在各种形态上都要保持不变,但是底层的逻辑实现又不可避免的有差异,甚至有些时候在同一款产品形态上都会有很大差异,那么我们此时该如何设计驱动架构,使代码看起来既好看又易于维护呢?接下来我们来具体分析一下。
举一个例子,现在有两种规格的定时器,内部实现逻辑不一样,要操作的寄存器也有差别,那么我现在有...
分类:
其他好文 时间:
2014-06-22 18:02:12
阅读次数:
156
百姓的策略,SVN无分支,让所有人坐在一起,测试驱动开发等,都是开发中的利器
分类:
其他好文 时间:
2014-06-19 06:18:26
阅读次数:
274
1.模块的含义
linux 是采用模块化的方式构建的,允许内核在运行时动态地向其中插入或从中删除代码,这些代码(包扩函数,数据,模块入口函数,模块出口函数)被一并组合
在一个单独的二进制镜像,就是所谓的可装载内核模块。
模块可以是基本的内核镜像尽可能小,同时可以方便地对新功能进行调试,还可以实现热插拔(后续会学习如何实现设备的热插拔功能,暂时无需深究),和内核的核心子系统不一样,模块文件需要...
分类:
系统相关 时间:
2014-06-17 16:35:16
阅读次数:
246
1、查看printk函数日记输出 (1)使用字符终端;通常使用ctrl+alt+f1切换查看; (2)使用cat /proc/kmsg命令;(在Linux系统启动后,/proc/kmsg文件可以查看内核对外所用的符号表,可以用cat命令查看器内容。) (3)使用dmesg命令查看。 linux/ke...
分类:
系统相关 时间:
2014-06-17 00:52:07
阅读次数:
425
DeviceIoControl参数各个击破~!...
分类:
其他好文 时间:
2014-06-10 15:10:00
阅读次数:
173
本例为Android升读探索(卷1):HAL与驱动开发 一书中附带的shili...
分类:
系统相关 时间:
2014-06-10 14:31:01
阅读次数:
318
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define S3C2410_GPFCON S3C2410_GPIOREG(0x50)
#define S3C2410_GPFDAT S3C2...
分类:
系统相关 时间:
2014-06-08 16:28:26
阅读次数:
470