自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 驱动程序(10) Windriver实现DMA传输时分配超大内存Buffer的办法

前言利用windriver做DMA传输的时候,尤其是将数据从板卡传输到PC端时,往往需要分配内存buffer。windriver给了两种方法,Contiguous buffer模式(WDC_DNAContigBufLock)和Scatter/Gather(WDC_DMASGBufLock)模式。PC内存比较小的情况下可以使用Scatter/Gather模式,分配到的内存buffer就是每页固定、...

2018-12-24 15:06:09 4385 14

原创 驱动程序(9) 利用Windriver修改代码实现DMA传输定制功能的驱动程序

前言前一篇文章讲到了利用windriver来生成一个对应使用的板卡的驱动程序,并且有相对应的INF文件给板卡安装上。这个生成的驱动程序代码包含了基本的访问板卡的功能,甚至可以实现DMA传输等功能(需要你的板卡支持DMA操作),但是这个驱动程序是基于交互式的,将程序编译生成exe文件运行后,还需要操作者输入访问的寄存器偏移地址或者数据等,没法做到自动执行。所以,我们在得到这份驱动代码后,基于这个框...

2018-12-21 15:13:53 4423 9

原创 驱动程序(8) Windriver初步使用和快速生成驱动程序代码

Windriver简介之前使用微软WDF框架下的WDK开发Windows驱动程序,使用起来调试速度太慢了,同时需要对内核态驱动程序有一定了解,就转到使用Windriver来开发驱动程序。就我个人而言,这款软件最大好处就在于它屏蔽了内核态下驱动程序的细节,所有的开发工作都建立在用户态下,你不必担心因为某些操作导致电脑蓝屏死机(当然有些特殊操作同样会蓝屏);开发代码也像写C语言一样,调试起来非常方...

2018-12-17 11:34:33 3741 7

原创 驱动程序(7) WDF下DMA传输的驱动程序代码详细说明之应用程序

这一篇主要说明应用程序怎么去和驱动程序通信的,包括识别打开驱动程序,传递数据到驱动程序,同时接收驱动程序返回的数据。application.c首先是应用程序的创建,WDF里利用模板生成驱动程序时时不带有应用程序的源文件的,需要我们自己手动生成,其实就是和创建一个C语言文件一样。找到驱动程序的解决方案,右键选择‘添加’->‘新建项目’->‘测试’->‘Applications...

2018-12-14 15:01:29 1316 1

原创 驱动程序(6) WDF下DMA传输的驱动程序代码详细说明之queue.c

这一篇主要讲queue.c里对于消息请求队列的处理,涉及到了和应用程序的通信,同时为了以后的项目需求,也加入了DMA传输和传输完成后的MSI中断处理。queue.c/*++Module Name: queue.cAbstract:This file contains the queue entry points and callbacks.And it includes DeviceIoC...

2018-12-14 15:01:12 2246 7

原创 驱动程序(5) WDF下DMA传输的驱动程序代码详细说明之device.c

这一篇文章说明了在device.c文件里,驱动程序怎样枚举设备,然后获得设备资源,并将其显示出来供开发者使用。device.c/*++Module Name: device.c - Device handling events for example driver.Abstract: This file contains the device entry points and callba...

2018-12-14 15:00:51 2089 10

原创 驱动程序(4) WDF下DMA传输的驱动程序代码详细说明之driver.c

从这一篇开始介绍几个比较重要的源文件和应用程序,并且会对其中一些关键代码进行说明。这些代码流程都是本人亲身测试可行的,但是由于当时调试时杂七杂八的东西加的太多,现在看起来有的地方的代码风马牛不相及,如果完全照搬的话可能行不通的,还是需要各位读者自行理解然后加以改进的。当然如果有问题也欢迎各位读者指出更正,谢谢!driver.c/*++Module Name: driver.cAbstrac...

2018-12-14 14:54:03 2610 1

原创 驱动程序(3) WDF下DMA传输的驱动程序代码详细说明之头文件

之前提到根据KMDF模板生成的程序里主要有5个头文件和3个源文件,接下来的几篇文章则会对这些文件详细说明,一个驱动程序是怎样写成的。这一篇主要说明几个头文件。1. device.h/*++Module Name: device.hAbstract: This file contains the device definitions.Environment: Kernel-mode ...

2018-12-14 14:53:45 1613

空空如也

空空如也

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

TA关注的人

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