自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (3)
  • 收藏
  • 关注

转载 运动目标检测、阴影检测及目标跟踪中用得到的标准测试视频下载(大量IBM提供视频)

<br />在搜测试视频时,找到andrew31在ilovematlab论坛中分享的网址链接。我转载于此,并做出详细介绍,方便大家以后使用!<br />1. PETS2001的测试视频<br />http://www.filewatcher.com/b/ftp/ftp.cs.rdg.ac.uk/pub/PETS2001.0.0.html<br />内容如下,可以得到如下所示5个DATASET,有训练和测试视频:<br />ftp://ftp.cs.rdg.ac.uk/pub/PETS2001/  direc

2011-03-29 10:05:00 3605

转载 VC++中使用Disassembly查看代码

VC++中使用Disassembly查看代码<br />      最近在恶补C/C++的基础知识。一直以来,遇到一些与编译器相关的小程序时,我往往都迷惑不解,每每思索都不得要领。最近一个同学告诉我用反汇编来查看编译的代码,什么都会变得清楚明朗。<br /> <br />从一个例子引起的问题:<br /> <br /><br /> <br />int k = 1;<br />printf("%d/n",(++k)+(++k));<br />   这个例子是我一个朋友发给我的,他告诉我他一直都想不通为什么在V

2010-07-15 11:11:00 5320

原创 KdPrint的使用方法

<br />KdPrint使用方法类似printf,注意KdPrint((" ",  ));使用的是双括号。<br />用KdPrint(())来代替printf 输出信息。这些信息可以在DbgView 中看到。KdPrint(())自身是一个宏,<br />为了完整传入参数所以使用了两重括弧。这个比DbgPrint 调用要稍好。因为在free 版不被编译。<br />DebugPrint格式说明符<br />         格式说明符                类型<br />%c ANSI字符  

2010-07-15 11:02:00 2057

原创 驱动无法安装成功的解决办法

<br />经过几天的努力,终于解决了驱动安装不成功的问题,原因是出在操作系统上面,只有有些GHOST操作系统不能安装此驱动程序,问题就出在GHOST系统之间以及GHOST系统和正常安装系统之间存在什么区别,分析了几百个回合,最后终于发现问题的根本所在:GHOST为了实现快速安装操作系统,中间省掉了很多系统文件,经过分析,解决办法出炉:在注册表中加入以下项即可:<br /> <br /> <br />[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/Current

2010-07-14 16:43:00 5516

原创 VMWare+Windbg双机调试终于成功!

<br />经历了几天的苦战,终于将VMWare+Windbg双机调试环境搭建起来并且开始运作,期间遇到了很多的问题,记录一些作为备案,以便以后遇到类似的问题可以参考,避免浪费不必要的时间。<br /> <br />主要的在前一篇中已说明<br /> <br />1、关于KdPrint的用法问题:如果在DbgView中没有KdPrint的输出信息,解决方法:在DbgView的DBGVIEW,勾上Capture Kernel,然后再安装驱动,应该能看到DriverEntry和AddDivice里的调试信息。<

2010-07-08 15:00:00 3467 1

原创 公司6600板卡驱动环境搭建和调试

公司6600板卡驱动环境搭建和调试:由于重新装了系统,导致板卡驱动的编译调试环境没了,只有重新搭建环境。先装了XP系统,让人郁闷得是居然这个盘的XP系统无法识别鼠标,这还是第一次碰到,郁闷之极,没办法,重新找了一张光盘再装一次吧,这次还好,再装PC驱动。然后VC6.0+DDK,再在VC6.0中编译驱动程序,结果提示链接错误:LINK : fatal error LNK1146: no argument specified with option /"/libpath:/上网查原因,按照网上的方法,基本上都行

2010-07-05 11:45:00 1618

转载 使用WinDbg和虚拟机调试Windows驱动程序

使用WinDbg和虚拟机调试Windows驱动程序2008年10月08日 星期三 09:40本文来自:http://blog.163.com/zhg_tao<br />http://www.cnblogs.com/suiyingjie/<br />http://blog.163.com/zhg_tao/blog/static/84116744200862424215/<br />http://www.cnblogs.com/suiyingjie/archive/2008/01/25/1053391.html

2010-06-30 14:52:00 1262

转载 [Windows驱动]INF文件

INF是Device INFormation File的英文缩写,是Microsoft公司为硬件设备制造商发布其驱动程序推出的一种文件格式,INF文件中包含硬件设备的信息或脚本以控制硬件操作。在INF文件中指明了硬件驱动该如何安装到系统中,源文件在哪里、安装到哪一个文件夹中、怎样在注册表中加入自身相关信息等等。 安装监视器、调制解调器和打印机等设备所需的驱动程序,都是通过INF文件,正是INF的功劳才使得Windows可以找到这些硬件设备的驱动并正确安装。当我们通过“开始→控制面板→添加删除程序→Windo

2010-06-30 10:49:00 2565

转载 IRP_MN_START_DEVICE分发例程中的前进和等待IRP总结

<br />      当PnP管理器检测到硬件时,它首先参考注册表以了解有哪些过滤器驱动程序将管理该硬件。如果必要(某些驱动程序可能因为其它硬件的需要已经被系统装入)它将装入这些驱动程序,并调用它们的AddDevice函数。最后AddDevice函数创建设备对象并连入设备堆栈。此后,PnP管理器将为所有设备驱动程序分配I/O资源。<br />      一旦资源分配确定,PnP管理器通过向每个设备发送一个带IRP_MN_START_DEVICE副功能码的PnP请求来通知设备。通常过滤器驱动程序对这个IRP

2010-06-29 14:10:00 1418

原创 驱动笔记

驱动笔记 1、三种类型的WDM驱动程序<br />   总线驱动程序(bus driver)<br />   功能驱动程序(function driver)<br />   过滤驱动程序(filter driver)<br /> <br /><br />2、其他分类方法<br />   类驱动程序(class driver)<br />   端口驱动程序(port driver)<br />   小端口驱动程序(miniort driver)<br /><br />3、驱动对象(DRIVER_OBJEC

2010-06-25 11:16:00 2234 1

转载 Windbg内核调试之四: Dump文件分析

<br />Dump 文件分析很大程度上就是分析蓝屏产生的原因。这种系统级的错误算是Windows提示错误中比较严重的一种(更严重的还有启动黑屏等硬件或软件兼容性错误等等)。说它是比较严重,是因为毕竟Windows还提供了dump文件给用户分析,至少能比较容易的找到错误的原因。一般蓝屏要么是内核程序中的异常或违规,要么是数据结构的损坏,也有boot或shutdown的时候内核出错。有时候蓝屏是一闪而过,紧接着是系统重启;有时候是蓝屏等待。总之蓝屏的时候都提示了一些停止代码和错误信息,不过这些提示是不全面的,

2010-06-23 17:32:00 2389

转载 Windbg内核调试之三: 调试驱动

<br />这次我们通过一个实际调试驱动的例子,来逐步体会Windbg在内核调试中的作用.<br />由于条件所限,大多数情况下,很多人都是用VMware+Windbg调试内核(VMware的确是个好东西).但这样的调试需要占用大量的系统资源,对于和我一样急性子的朋友来说这是不可接受的:).利用双机调试就可以让你一边喝咖啡一边轻松的看结果,而不至于郁闷的等待每次长达数分钟的系统响应.有关双机调试的基本设置,请参考:http://www.cnblogs.com/Sonic2007/archive/2008/0

2010-06-23 17:31:00 1386

原创 Windbg内核调试之二: 常用命令

<br />运用Windbg进行内核调试, 熟练的运用命令行是必不可少的技能. 但是面对众多繁琐的命令, 实在是不可能全部的了解和掌握. 而了解Kernel正是需要这些命令的指引, 不断深入理解其基本的内容. 下面, 将介绍最常用的一些指令, 使初学Kernel调试的朋友们能有一个大致的了解. 至于如何熟练的运用它们, 还需要实际的操作过程中进行反复的琢磨.<br /><br />Windbg能够方便的进行远程调试和本地进程调试(只限于User模式), 远程调试又分User mode和Kernel mode

2010-06-23 17:29:00 828

转载 Windbg内核调试之一: Vista Boot Config设置

<br />Windbg进行内核调试,需要一些基本的技巧和设置,在这个系列文章中,我将使用Windbg过程中所遇到的一些问题和经验记录下来,算是对Kernel调试的一个总结,同时也是学习Windows系统内核的另一种过程。<br /><br />很多人说Windbg不如SoftIce好用, 但是我使用过程中还是觉得Windbg能更好的反映系统状态, 而且相比SoftIce, Windbg更稳定(虽然它的部分操作略显复杂), 下面介绍Windbg的Kernel模式调试第一部分: 双机连接设置.<br /><b

2010-06-23 17:28:00 787

转载 Windbg内核调试之一: Vista Boot Config设置

<br />Windbg进行内核调试,需要一些基本的技巧和设置,在这个系列文章中,我将使用Windbg过程中所遇到的一些问题和经验记录下来,算是对Kernel调试的一个总结,同时也是学习Windows系统内核的另一种过程。<br /><br />很多人说Windbg不如SoftIce好用, 但是我使用过程中还是觉得Windbg能更好的反映系统状态, 而且相比SoftIce, Windbg更稳定(虽然它的部分操作略显复杂), 下面介绍Windbg的Kernel模式调试第一部分: 双机连接设置.<br /><b

2010-06-23 17:26:00 876

原创 今天开始健身

<br />今天是2010年6月22号 制定自己的健身计划 开始健身<br />现在目前的基本情况是: 27岁 身高1.70 体重71KG 体型偏胖<br />计划把脂肪转换为肌肉 胸肌明显 八块腹肌 因为这些比较直观 呵呵 <br />坚持一周称一次体重,并记录之,以此鼓励...........<br /> <br /> <br /> 

2010-06-22 13:56:00 937 1

原创 IoSkipCurrentIrpStackLocation宏

IoSkipCurrentIrpStackLocation宏当驱动被分层以后,他们被注册到一个chain中,IRP会在这个chain中传递,从最上面,到最下面,再回到最上面 <br />为适应这种体制,IRP的结构的大小是不固定的,大体结构如下: <br />-------------------- <br />| IRP header | <br />-------------------- <br />|IO_STACK_LOCATION |<-----lowest driver stack locat

2010-06-12 12:01:00 770

转载 串口的过滤驱动例子

<br />这里我们主要以串口1过滤驱动为例,例程:comtest<br />1、 先建好makefile文件和sources文件,因为用到RtlStringCchPrintfW函数,所以必须包含TARGETLIBS= $(DDK_LIB_PATH)/ntstrsafe.lib这句话,然后源文件(comtest.c)中加入<br />#define NTSTRSAFE_LIB<br />#include <br /><br />2、程序部分我们先看DriverEntry函数,也就是整个驱动的入口程序<br

2010-06-12 11:11:00 3473

原创 中兴通讯笔试题

中兴笔试题公共部分(50分)  1:作业调度程序从处于(B)状态的队列中选择适当的作业的作业投入运行。(3分)  A 运行 B 提交 C 完成 D后备  2:SQL语言中,删除一个表的命令是(B)(3分)  A CLEAR TABLE B DROP TABLE  C DELETE TABLE D REMOVE TABLE  3:ATM采用的线路复用方式为(C)(3分)  A 频分多路复用  B 同步时分多路复用  C 异步时分多路复用  D 独占信道  4:数据库中只存放视图的(C)(3分)  A操作  B

2010-06-09 17:14:00 10587

原创 TCP三建立连接过程

TCP三建立连接过程,为什么要3次握手?2009-09-30 15:51TCP握手协议  在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。  第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;  第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;  第三次握手:客户端收到服务器的SYN+ACK包,向服

2010-06-09 17:06:00 4783

转载 DriverEntry程序

DriverEntry程序<br />在以前的部分中,我讲了即插即用管理器装载硬件所需要的驱动并调用其AddDevice函数。一个特定的驱动程序可能会被一个以上的相似硬件所使用,并且存在一些只需要在其第一次加载时被执行一次的全局初始化操作。DriverEntry程序负责这些全局初始化操。<br />extern "C" NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,<br />   IN PUNICODE_STRING RegistryPath)<b

2010-06-03 17:25:00 5051

转载 DRIVER_OBJECT & DEVICE_OBJECT

驱动对象结构 DRIVER_OBJECT ,定义如下:(左侧为相对于结构体起始地址的偏移量)  struct _DRIVER_OBJECT (sizeof=168)  +00 int16 Type  +02 int16 Size  +04 struct _DEVICE_OBJECT *DeviceObject  +08 uint32 Flags  +0c void *DriverStart  +10 uint32 DriverSize  +14 void *DriverSection(即为PsLoadedM

2010-06-03 15:41:00 2545

原创 驱动程序层次结构、PIRP结构、IO_STACK_LOCATION结构

<br />一、驱动程序层次结构<br /> <br />在《Windows驱动开发详解》的第四章简单介绍了一下驱动程序的层次结构,但介绍得不清不楚,反复看了几遍,仍然是一分清楚,九分糊涂。为此,花了几个小时来查阅相关资料,最后分别参考《Windows驱动开发详解》和《Windows操作系统原理第2版》,才算有了个初步的认识。<br /> <br />要想详细解释驱动程序的层次结构,以我现在的水平可能还没那个能力,但或许能通过文字的形式让自己多一分认识。<br /> <br />1.再看DriverEntr

2010-06-03 15:02:00 4795

原创 MmAllocateContiguousMemory&&MmGetPhysicalAddress

 /////////////////////// 申请全局物理连续内存,用于D1预览及原始视频///////////////////// RtlZeroMemory(&g_DriverInfo,sizeof(g_DriverInfo)); PHYSICAL_ADDRESS pa;          //物理地址 pa.QuadPart = 0xFFFFFFFFFFFFFFFF; //@最大的可用的物理地址// g_DriverInfo.vaD1Buffer = MmAllocateContiguousMem

2010-06-02 11:50:00 3737

转载 物理地址和虚拟地址(二)

Windows 2000 使用基于分页机制的虚拟内存。每个进程有4GB的虚拟地址空间。基于分页机制,这4GB地址空间的一些部分被映射了物理内存,一些部分映射硬盘上的交换文件,一些部分什么也没有映射。程序中使用的都是4GB地址空间中的虚拟地址。而访问物理内存,需要使用物理地址。 下面我们看看什么是物理地址,什么是虚拟地址。 物理地址 (physical address): 放在寻址总线上的地址。放在寻址总线上,如果是读,电路根据这个地址每位的值就将相应地址的物理内存中的数据放到数据总线中传输。如果是写,电路根

2010-06-02 11:32:00 2103

原创 物理地址和虚拟地址的概念

虚拟地址和物理地址的概念     CPU通过地址来访问内存中的单元,地址有虚拟地址和物理地址之分,如果CPU没有MMU(Memory Management Unit,内存管理单元),或者有MMU但没有启用,CPU核在取指令或访问内存时发出的地址将直接传到CPU芯片的外部地址引脚上,直接被内存芯片(以下称为物理内存,以便与虚拟内存区分)接收,这称为物理地址(Physical Address,以下简称PA),如下图所示。                                              

2010-06-02 10:18:00 29734 4

原创 中国源码网站大全

<br />网址                            ALEXA排名<br />www.chinaz.com          141<br />www.cncode.com         20,083<br />www.downcode.com     8367<br />www.my503.com          57,646<br />www.cncodez.com        755,718<br />www.2okok.com           8,196<br />ww

2010-06-01 17:10:00 6691

原创 国外知名的源代码网站

http://www.hotscripts.com-- ASP, C C++, CFML, flash, Java, Javascript, PHP, Perl, Python, Remote Hosts and XML scripts (>15000)http://www.resourceindex.com-- CGI and PHP (>10000)http://www.scriptsearch.com-- ASP, CFML, C and Cpp, Flash, Java, JavaScript, P

2010-06-01 17:07:00 2292

原创 运动目标检测跟踪各过程算法综述

图像预处理数字图像中的几种典型噪声有:高斯噪声来源于电子电路噪声和低照明度或高温带来的传感器噪声;椒盐噪声类似于随机分布在图像上的胡椒和盐粉微粒,主要由图像切割引起或变换域引起的误差;加性噪声是图像在传输中引进的信道噪声。一般来说,引入的都是加性随机噪声,可以采用均值滤波、中值滤波、高斯滤波等方法去除噪声,提高信噪比。均值滤波在噪声分布较平均,且峰值不是很高的情况下能够得到较好的应用;中值滤波对尖脉冲噪声的滤除有较好的效果,并且能突出图像的边缘和细节;高斯滤波对滤除高斯白噪声有较好的效果。运动目标检测背景差

2010-06-01 15:31:00 6700

原创 Windows DDK中经典的宏——CONTAINING_RECORD

<br />在windows ddk中提供了一个经典的宏,其定义如下:<br />#define CONTAININT_RECORD(address, type, field) /<br />             ((type*)((PCHAR)(address) - (PCHAR)(&((type*)0)->field)))<br />这个宏用于取得内存中任何结构体的首地址,要提供的参数是:结构体中某个成员(field)的地址address、结构体的类型type、提供地址那个成员的名字field。

2010-06-01 10:31:00 849

转载 驱动开发网上关于重启的网摘(3)

<br />q:为什么在驱动中一运行READ_REGISTER_ULONG操作机器就重启<br />想对一块虚拟内存进行读取,写了一个小驱动,但是一调用WRITE_REGISTER_ULONG读取指定的内核内存空间,机器就重启,急死了,在这个地方耽搁了一个星期了,有人能帮帮我吗?<br />代码如下:<br />NTSTATUS PortTalkCreateDispatch(<br />  IN PDEVICE_OBJECT DeviceObject,<br />  IN PIRP Irp<br />  )

2010-05-31 16:31:00 1059

转载 冰岛另一处火山或将喷发

http://news.qq.com/a/20100528/001340.htm                                         冰岛埃亚菲亚德拉火山  中新网5月28日电 据英国媒体报道,英国伦敦大学学院专家在5月27日警告到:虽然冰岛埃亚菲亚德拉(Eyjafjoell)火山喷发已经偃旗息鼓,但是不远处的卡特拉(Katla)火山很可能很快喷发,

2010-05-28 17:34:00 895

原创 自旋锁

自旋锁IRQL概念仅能解决单CPU上的同步问题,在多处理器平台上,它不能保证你的代码不被运行在其它处理器上的代码所干扰。一个称为自旋锁(spin lock)的原始对象可以解决这个问题。为了获得一个自旋锁,在某CPU上运行的代码需先执行一个原子操作,该操作测试并设置(test-and-set)某个内存变量,由于它是原子操作,所以在该操作完成之前其它CPU不可能访问这个内存变量。如果测试结果表

2010-05-28 11:18:00 1399

原创 完成I/O请求

完成I/O请求每个IRP都渴望被完成。在标准模型中,你至少有两种完成IRP的环境。DpcForIsr通常用于完成导致最近中断的IRP。派遣函数也可以在下面这两种情况下完成IRP: 如果请求是错误的(可以以容易的检测方式查明,例如要求打印机倒纸请求或卸载键盘请求),则派遣例程应以失败方式完成该请求并返回适当的出错代码。    如果请求要求得到的仅是派遣函数可以容易确定的信息(例如

2010-05-26 11:01:00 3338 1

转载 驱动程序内存分配

何谓可分页和非分页内存       默认情况下,内核加载器会加载所有的代码部分和全局数据到非分页内存中。而且,加载器是一次加载整个驱动的可执行文件,包括相关的DLL。加载后,内核加载器关闭驱动程序文件,甚至你可以删除当前正在执行的驱动文件。但是,你可以告诉加载器你希望驱动的哪部分是可分页,所谓可分页,就是可能会被换页出内存(Page out)。可以使用下面的指令来实现:#define AL

2010-05-25 09:46:00 763

原创 c/c++经典面试试题及标准答案

经过几次面试,发现笔试题基本上都是那几道,没有什么创新或者改变,总结出来给大家参考参考.  一、请填写BOOL , float, 指针变量与“零值”比较的 if 语句。(10分)请写出 BOOL flag 与“零值”比较的 if 语句。(3分)标准答案:    if ( flag )    if ( !flag )如下写法均属不良风格,不得分。    if (flag == TRUE)    

2010-05-21 12:02:00 717

转载 基于Windriver的驱动开发——驱动基础

基于Windriver的驱动开发——驱动基础  在一般的操作系统(linux,Windows),不能够从用户空间直接访问硬件,只能从系统内核访问硬件。系统内核中访问硬件的部分叫设备驱动。 设备驱动提供操作系统和硬件设备的接口,负责设备命令和程序命令的转换,设备数据的IO,以及设备错误处理。 设备驱动分类  设备驱动按功能性主要分为: Monolithic驱动

2010-05-14 14:00:00 1806

原创 用VC6.0编译驱动程序的工程设置方法

用VC6.0编译驱动程序的工程设置方法  VC6.0编译驱动程序的工程设置一、编译NT式驱动1>     建立一个win32应用程序工程。2>     修改工程属性。Project --Setting-C/C++中的Project Options内容替换成/nologo /Gz /MLd /W3 /WX /Z7 /Od /D WIN32=100 /D _X86_=1 /D WI

2010-05-14 11:29:00 1543

softICE中文教程+全部命令

驱动开发必备教程,softICE教程,包含了softICE驱动调试软件的详细使用步骤和说明,是开发人员必备的手册与教程。希望对开发驱动的你有所帮助!

2010-07-15

H.264便携式实时编解码器的方案探讨.pdf

H.264便携式实时编解码器的方案探讨 1 引言 H.264标准以其高视频压缩比、高图像质量、良好的网络适应性得到了市场的广泛认可。其应用目标范围较宽,可以满足不同速率、不同解析度以及不同传输、存储场合的需求。但算法的复杂度高,必须有强劲有力的硬件作支持。 2 H.264便携式实时编解码器方案比较 ..................... ...............

2009-02-06

ITU-R BT.601-656数字视频标准.pdf

ITU-R BT.601-656数字视频标准.pdf 好资料!

2009-02-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除