自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

转载 如何用程序实现“rescan windows device manager"

本文主要介绍两种”检测硬件设备“的方法,即”rescan windows device manager“。一、调Windows DDK的API实现        先用CM_Locate_DevNode得到设备管理树的根结点,然后用CM_Reenumerate_DevNode以这个根结点为参数刷新它就搞定!在MSDN里面可以查到这两个函数的用法,相关的知识里面也有。(该方法转自点击打开链接,

2016-04-28 16:56:28 2495

原创 介绍一个windows设备操作工具——devcon.exe

Windows操作系统对设备的管理,可以通过设备管理器查看。在cmd窗口键入”devmgmt.msc“,即可打开设备管理器。本文要介绍的是微软提供的一个操作设备的工具软件——devcon.exe(Windows Device Console)

2016-04-27 17:30:50 17005

转载 VC++文件操作之”获取文件大小“和”读文件“

本文分别转载自以下两篇博客:C++读文件详解windows获取文件大小的4种方法        在此主要讲一下纯c++获取文件大小和读二进制文件:在二进制文件中,使用>,以及函数(如getline)来操作符输入和输出数据,没有什么实际意义,虽然它们是符合语法的。文件流包括两个为顺序读写数据特殊设计的成员函数:write 和 read。第一个函数 (write) 是o

2016-04-27 17:00:19 1979

转载 CString、TCHAR*、char*互转

原文:点击打开链接/* *********************************************************************** * 函数: TransCStringToTCHAR * 描述:将CString 转换为 TCHAR* * 日期:*****************************************************

2016-04-27 10:30:39 456

原创 KMDF工程新增source文件出现的"TraceEvents未定义”编译错误

问题引入:在windows驱动开发过程中,我们一般会用VS2015+WDK10,新建一个KMDF工程(非empty)。该过程可参考我的另一篇博客:点击打开链接。这个工程新建好了,并能编译通过,但有时我们需要在该工程中新增source文件。通过在VS中“添加现有项"或”新增加项“的方式添加一个或几个新的源文件到工程中。然后再编译,会报错”error C4013: “TraceEvents”未定义

2016-04-26 14:40:38 3226

转载 KMDF的WDFREQUEST对象

创建框架请求对象获取IO请求的相关信息

2016-04-25 14:53:58 1045

原创 win10下使用VS2015+WDK10生成win7 X64的设备驱动的过程

本文主要介绍“win10下使用VS2015+WDK10生成win7 X64的设备驱动”的过程,并在win7 X64下安装的过程。具体如下:1,在win10下,使用VS2015+WDK10新建一个KMDF工程,命名为“MyKMDF”,注意要选择那个“非empty”的KDMF,它会生成如下几个文件:2,查看它的“public.h”文件,有如下的GUID定义://// Define

2016-04-25 10:59:18 10755

转载 八大排序算法总结

本文主要转载两位网友的总结,如下:各种排序(简易版)八大排序算法(提升版)

2016-04-24 14:21:11 447

原创 32位的整型数拆分为两个浮点数的方法

在数字信号处理领域,常常需要将基带采集的AD数据传送到PC,并进行相应的处理和数据可视化。在基带,特别是FPGA中,一般不采用浮点运算,故基带会用一个unsigned long来表示一对IQ数据,其中高16位表示I路,低16位表示Q路。基带将这样的一堆usigned long传递给上位机后,上位机需要将它们拆分位两个浮点型的数组来存储。这个拆分可以用如下的一个函数来完成:void ULONG2

2016-04-23 09:19:46 2440

转载 WinDbg学习笔记

WinDbg学习笔记   帖子中附文档下载

2016-04-21 17:30:11 715

原创 Qwt快速部署的方法

本文主要介绍一种快速在已安装了Qt的PC上,快速部署Qwt的方法。其中略去了Qwt的编译等过程。步骤如下:1,编译Qwt源码,并拷贝到如下文件夹下。参考我之前的博客:点击打开链接其中,designer目录里面还有两层,“designer->plugins->designer”,然后里面放置的是“libqwt_designer_plugin.a”和“qwt_designer_plugin

2016-04-21 15:27:01 741

原创 Windows驱动开发之日志打印

在WDF框架中,有一个“trace.h”头文件,在驱动的入口函数中,会用到 // // Initialize WDF WPP tracing. // WPP_INIT_TRACING( DriverObject, RegistryPath ); // // TraceEvents function is mapped to DoTraceMess

2016-04-21 08:58:19 9858

原创 WinDriver打开设备失败“source overlap”

问题描述:新安装的操作系统,插上PCIE设备,并安装WinDriver,打开WinDriver可以发现设备,但打开该设备时,报错“source overlap”。打开其他设备,没有问题。此时,再安装自定义驱动,也有问题。        问题解决:先用WinDriver对该设备生成一个INF文件,然后对该设备安装该INF文件,即可用WinDriver打开该设备。后续,卸载该设备再安装自定义驱动,

2016-04-19 19:34:46 1751

转载 PCI Vendor and Device IDs

对于PCI设备,当PC启动并检测到该设备存在时,它首先读取该设备的配置空间,然后根据配置空间中的Vendor ID & Device ID查找相应的驱动程序。 此时,在设备管理器中,右键相应设备,也可以在详细信息中查看到设备的“硬件ID”。      在利用.inf文件安装PCI设备的驱动程序时,.inf文件中应该包含相应的信息,系统将匹配设备配置空间和INF文件中的信息,并写入注册表

2016-04-19 09:11:03 4254

原创 多个设备同一个驱动

近日,看了博客:多个设备对象(同一个驱动),它创建了多个设备对象,对应不同的设备,但是采用该博文介绍的方法创建的设备对象是垂直关系的。有没有多个设备对象呈水平关系的方法呢?下面将以微软发布的“PLX9x5x设备驱动示例”进行讲解。        多个设备,同一个驱动,主要是配置inf文件。        该示例的Inf文件既包含了两个设备——“9056”和“9656”。但是这两个设

2016-04-18 18:36:54 5361

转载 VS2015应用Github扩展

微软推出Visual Studio的Github扩展,现在可以直接将VS的工程托管到Github。具体怎么使用,可以参考下面的两篇博客:博客1:点击打开链接博客2:点击打开链接注:1,除了在安装VS的时候选择安装Github扩展,也可以在安装好的VS2015的工具菜单中,选择“扩展和更新”,在其中找到github扩展,进行下载。2,需要配合应用浏览器登录github。

2016-04-16 22:16:37 1182

转载 设备驱动的INF文件介绍

参考一:百度百科参考二:INF文件的节参考三:wikipedia参考四:msdn

2016-04-16 10:08:55 1918

原创 一个简单的PCIE驱动到设备的通信协议

本文主要介绍一个简单的单一设备PCIE驱动程序和设备的通信协议,从上到下大致分为三层:应用层、驱动层和设备层。其中,应用层和驱动层通过系统总线(win32 API调用)实现通信,驱动层和设备层通过PCI总线(地址空间映射)进行通信。一、Driver和Device的数据交互方式        Driver和Device的通信主要是通过地址空间映射来实现。操作系统将Device的物理地

2016-04-15 09:38:13 12105

转载 C++文件读写和字符串处理

http://blog.csdn.net/kingstar158/article/details/6859379

2016-04-15 08:57:13 590

原创 C++打印日志功能设计

我之前用Qt框架下,设计了一个“打印日志”的功能(点击打开链接),利用了Qt框架的一些机制,并调用了一些的Qt框架函数。现在,我需要编写一个纯C++的“日志打印”功能。(事实上,还是调用了一些windows系统函数)一、日志打印函数        我设计的是一个全局函数,而不是一个全局变量来实现log文件管理和输出。全局变量会导致“不可重入”,在多线程环境下,会概率性打印出错。

2016-04-14 19:20:49 2210

原创 Qt程序调试“QWidget : Must construct a Qapplication before a Qwidget"BUG分析

近日,我在Debug Qt程序时,遇到了如下的运行时错误。经过几番分析,终于解决,现记录下来,并分享给大家。一、调试环境1,开发工具VS2013+QT5.4插件2,程序结构Qt EXE调用QT DLL3,问题描述使用F5启动Qt程序,在运行EXE部分时,运行正常,显示EXE中的GUI界面,跳转到DLL时,出现上述错误。二、问题跟踪   

2016-04-14 10:56:38 3001

转载 Dump文件生成与分析

参考《Windows驱动开发详解》最后一章,设置dump文件参考博客:点击打开链接

2016-04-13 17:23:37 1862

转载 PCI总线地址空间与系统地址空间的关系

PCI总线地址空间与系统地址空间的关系

2016-04-13 17:15:53 698

原创 驱动工程中添加新文件后出现的“cannot open source file '***.tmh'"编译错误

在VS2015+WDK10的开发环境下,开发KMDF驱动工程——sample.sln。当我往该工程添加一个”devicecontrol.c“文件后,在该文件中的”#include "devicecontrol.tmh“”语句编译报错:“cannot open source file devicecontrol.tmh”。        我添加文件的方法同普通的VS工程,在“解决方案资源管理器”

2016-04-12 11:15:36 9223

原创 Windows DMA驱动调试

本文记录我调试微软官方提供的一个PCI驱动sample程序的过程。一、开发环境和资源下载1,在win10 X64操作系统下,安装VS2015+WDK10。(参考我前面的驱动开发入门篇)2,使用TI6655 DSP开发板,点击打开链接。3,下载微软官方发布在github上的驱动samples,点击打开链接,选择其中的“General/PLX9x5x”这个工程。4,参考微软关于wi

2016-04-09 17:39:18 4528

原创 Win10驱动数字签名的解决办法

方法一:采用高级重启的方式,点击打开链接方法二:下载“EASYBCD”软件;方法三:1,系统启动时,按“delete”进BIOS;2,在BIOS中,关闭“默认系统”,这样就可以在每次开机时进“Windows启动管理器”;另外,也可参考如下方法进“Windows启动管理器”(点击打开链接)3,在“Windows启动管理器”中,按F8进高级设置页面,再选“禁用数

2016-04-07 19:48:44 30685

转载 一个简单的Linux驱动示例

本文参考百度文库“linux驱动开发入门”点击打开链接和转载博文:点击打开链接。一、基本知识                Linux设备驱动分为:字符设备、块设备和网络设备。原理图如下:二、示例示例主要转载自博客园的博客,见上。只是我采用的的Linux内核版本比那篇博文的新,有小许改动,粘贴代码如下:内核版本:ry@ubuntu:/$ uname

2016-04-05 19:55:27 10107 3

《Windows驱动开发技术详解》源码

《Windows驱动开发技术详解》一书的源码,包括:DDK 编译版本和VC 版本。

2019-02-13

空空如也

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

TA关注的人

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