WinDriver&PCIE】的更多相关文章

1.安装VS2012 安装VS2012略过,主要用它来做数据传输应用程序的,WINDRIVER提供了一系列API接口,方便了用户,使用户能直接进入用户态的编程,因为内核态的编程它已做好,不需要进行修改,当然你也可以对它进行修改,这便要求你对驱动编程有一定的认识. 2.安装WINDRIVER 在网上下个WINDRIVER,成功安装后,可以用它来生成驱动文件,这个相对比较容易.不进行详述,通常PCI卡插进电脑后,用Driver Wizard向导生成的SYS文件是可以安装上去的. 3.配置环境 由于目…
如何使用WinDriver为PCIe采集卡装驱动 第一步:使用WinDriver生成驱动 1.运行Drier Wizard 2.点击New host driverproject 3.在列表中,选择待安装驱动的设备,这里选择基于PCI的Xilinx数据采集卡 4.点击Generate .INF file控件 5.在弹出的口中,可以看到待安装驱动的设备,将Devicename处的“DEVICE”改成设备名称,这里改成“IMAGE”,然后点击“Next” 6.在弹出的出口中,输入自己想要的文件名,这里…
如何使用WinDriver为PCIe采集卡装驱动 第一步:使用WinDriver生成驱动 1.运行Drier Wizard 2.点击New host driverproject 3.在列表中,选择待安装驱动的设备,这里选择基于PCI的Xilinx数据采集卡 4.点击Generate .INF file控件 5.在弹出的口中,可以看到待安装驱动的设备,将Devicename处的"DEVICE"改成设备名称,这里改成"IMAGE",然后点击"Next"…
1.安装VS2012 安装VS2012略过,主要用它来做数据传输应用程序的,WINDRIVER提供了一系列API接口,方便了用户,使用户能直接进入用户态的编程,因为内核态的编程它已做好,不需要进行修改,当然你也可以对它进行修改,这便要求你对驱动编程有一定的认识. 2.安装WINDRIVER 在网上下个WINDRIVER,成功安装后,可以用它来生成驱动文件,这个相对比较容易.不进行详述,通常PCI卡插进电脑后,用Driver Wizard向导生成的SYS文件是可以安装上去的. 3.配置环境 由于目…
1.前言 MIZ7035官方提供了两种pcie的demo,一个就是普通的PIO测试,一个是BMD测试.我只是试验了PIO功能,可以对板卡直接进行IO寄存器读写.而另外一个BMD功能使用了DMA来加速数据读写速度. 我也是第一次接触PCIe,BMD确实也可以完成应用的需求,搞起来应该没有问题.准备用这个开始做实验呢,问了一下学校之前的第二导师,他直接给我说了5个字母:R-I-F-F-A.说让我去查一下,底层FPGA和上层软件都已经是一个完整的架构了,可以直接使用.既然老师说了,一定是这个方法可能更…
在高性能雷达信号处理机研制中,高速串行总线正逐步取代并行总线.业界广泛使用的Xilinx公司Virtex-6系列FPGA支持多种高速串行通信协议,本文针对其中较为常用的Aurora 8B/10B和PCI Express 2.0,Serial RapidIO 2.0三种协议进行了测试及对比分析.首先搭建了基于Virtex-6 FPGA的高速串行协议测试平台:然后设计并分别实现了三种协议的高速数据通信,测算了协议的实际传输速率:最后结合测试结果,从协议层次结构.链路数目.链路线速率.数据传输方式.协…
基于Spartan-6, Virtex-5/Virtex-6/Virtex-7/7 Series FPGA PCI Express Block Endpoint模块设计PCI Express Endpoint Master DMA. a.参考xilinx官方提供的xapp1052的设计 该设计有两个严重的缺点,第一个是PCIE DMA传输效率不高:第二个是当PC机正在进行DMA传输时,访问PCIE寄存器地址,会导致PC死机的问题: b.针对xapp1052的问题,重新设计PCIE DMA架构,结…
首先声明,同事做的实验 使用fio对SATA.SSD.PCIE进行了测试 测试说明: 1.测试命名   sync_write_4k_32      sync表示测试方式,可以是sync或者libaio,sync就是发起IO请求等待IO完成后,此thread继续发起IO请求,实现并发采用fio发起多线程实现:libaio,异步IO,thread发起IO请求后,IO请求进行IO队列,此模式为了实现并发多测试,采用控制iodepth实现     write:为测试IO请求方法,包括write.read…
原文地址:http://www.cnblogs.com/jacklu/p/6139347.html 正如前几篇博客所说,使用WDF开发PCIe驱动程序是我本科毕业设计的主要工作.在读研的两年,我也分别为所在课题组移植了自己编写的驱动程序,在Windows 32位和64位平台下的PXI.PXIe.PCI.PCIe板卡分别得到了验证. 这篇文章根据自己最新编写的驱动代码(源代码请找博主索取),主要讲述如何为自己的硬件板卡移植驱动程序,并简单讲述如何使用Altera系列FPGA配置PCI IP核,然后…
PCIe在传输中用8b/10b编码,所以单PCEe2.0的有效带度是4Gb/s x2模式将用于内部接口而非插槽模式 PCIe卡能使用在至少与之传输通道相当的插槽上(例如x1接口的卡也能工作在x4或x16的插槽上).一个支援较多传输通道的插槽可以建立较少的传输通道(例如8个通道的插槽能支援1个通道).PCIe设备之间的链接将使用两设备中较少通道数的作为标准.一个支援较多通道的设备不能在支援较少通道的插槽上正常工作,例如x4接口的卡不能在x1的插槽上正常工作(插不入),但它能在x4的插槽上只建立1个…
学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分配和 SR-IOV (5)libvirt 介绍 (6)Nova 通过 libvirt 管理 QEMU/KVM 虚机 (7)快照 (snapshot) (8)迁移 (migration) 本文将分析 PCI/PCIe 设备直接分配(Pass-through)和 SR-IOV, 以及三种 I/O 虚拟化…
原文出处:http://www.cnblogs.com/jacklu/p/4687325.html 本篇文章将对PCIe驱动程序的源文件代码作详细解释与说明.整个WDF驱动程序工程共包含4个头文件(已经在上篇文章中讲解)和3个.c文件(Driver.c  Device.c   Queue.c) Driver.c 在看复杂的代码前,先给出程序流程图 #include "driver.h" #include "driver.tmh" #ifdef ALLOC_PRAGM…
原文出处:http://www.cnblogs.com/jacklu/p/4679304.html 在WDF的PCIe驱动程序中,共有四个.h文件(Public.h  Driver.h  Device.h  Trace.h).本文将分别对四个文件源代码进行详细的解释. Public.h #ifndef _USER_H #define _USER_H // // Define an Interface Guid so that app can find the device and talk to…
原文出处:http://www.cnblogs.com/jacklu/p/4646601.html 本科毕业设计是这方面的工作,所以想开几篇博客来介绍使用WDF开发PCI/PCIe接口卡的驱动程序方法. 在上一篇简要介绍了WDF和开发环境搭建后,本篇将讲述几个WDF中的概念,对开发者了解WDF非常有帮助,属于“内功部分”: 本篇文章结构将没那么清晰,当句句都是作者通过看书.看论文.看MSDN提炼出来的,希望对读者能够有所帮助. 1.WinDBG是唯一的内核驱动调试利器,但是开发PCIe的WDF驱…
原文出处:http://www.cnblogs.com/jacklu/p/4619110.html 本科毕业设计是这方面的工作,所以想开几篇博客来介绍使用WDF开发PCI/PCIe接口卡的驱动程序方法. 这个系列的博客将首先用一个篇幅为不懂Windows 下PCI/PCIe驱动开发的介绍WDF和开发环境搭建,接下来几篇将直接讲述程序编写, 看完这几篇后,希望能够帮助读者了解如何通过500行左右的代码实现一个标准的PCIe接口卡驱动程序. 毕设题目的PCIe板卡是BAR0下映射两个5K的内存,偏移…
[风河VxWorks].WINDRIVER.TORNADO.V2.2.FOR.ARM下载 http://115.com/file/dlfo8zpy http://115.com/file/c4r01l47 win7下安装 打开DAEMON虚拟光驱加载CD1和CD2,各自setup install填写 CD1:x#yyo-YVXT#-nozVy-wwoyx-VXy#o-UbFBFCD2:AGpge-QbEGp-haNb3-kUhsS-bEkpC 安装到"register tornado.exe .…
摘要 WinDriver是Jungo公司出版的一个设备驱动程序开发组件,它可以大大加速PCI设备驱动程序的开发.作者在实际的项目中采用了WinDriver来开发设备驱动程序,取得了相当好的运行效果.从目前国内的资料上来看,大多数设计人员还是在用DDK.Wtools开发设备驱动程序,因而作者觉得有必要向大家介绍与推荐这个软件. WinDriver是一套设备驱动程序开发组件,它的目的就是方便Windows程序员快速开发出PCI/ISA设备的Windows驱动程序(目前最新的版本V4.32还支持PCM…
PCIe协议和SATA协议都是分层协议,分为物理层,数据链路层,传输层,命令层和应用层. 硬件工程师主要关注物理层.数据链路层和传输层.所有CMD/data由应用层和命令层打下来,每向下走一层,多一层封装和变换,最后通过差分总线传输出去. PCIe协议: 应用层和命令层打下来的CMD/data以TLP的格式封装起来,送给数据链路层,链路层给其加上sequence前缀和CRC后缀,成为一个完整的数据报文结构,送到物理层,经过8b/10b或者128b/130b编码后发送出去.关键点在于数据链路层有一…
http://blog.sina.com.cn/s/articlelist_1685243084_3_1.html BAR寄存器 http://zhidao.baidu.com/link?url=rELIW0LIW6CVt80Rl2VYXSzlteNT4zGR9E-Zx84sRJ-F1QQWi8IhoaqxIbi3LR2wDKY7enECxSmtrSblHTbDIa PCI总线的存储器读写总线事务 http://blog.csdn.net/dxq136363/article/details/77…
你想提升性能,那么组RAID0,主板上的RAID应该是软RAID,肯定没有阵列卡来得稳定.如果你有闲钱,可以考虑用阵列卡. 不会的.即使不能起到RAID的作用,起码也可以当作直接连接了2个硬盘.不会影响性能.不过如果软RAID出了问题,那硬盘上的数据同样保不住.只能重新去掉RAID在装系统了. 鉴于目前的CPU和内存速度和容量来说主板提供的阵列已经完全可以不必考虑那1%~3%的CPU占用所带来的影响.主板AMD的750,850型号南桥及INTEL ICH9R,ICH10R等都可以组建磁盘整列如果…
一般来说,在x86平台上,有两大类方式能够訪问这一区间的寄存器,   1,配置机制1#或者配置机制2#   訪问时借助in/out指令.请注意,这样的方式有别于一般的in/out指令訪问PCI的IO空间,它引入了地址port和数据port.   配置机制2#仅仅在某些特定的主板上被使用. 新的设计应使用配置机制1#来产生配置空间的物理操作.这样的机制使用了两个特定的32位I/O空间,即CF8h和CFCh.这两个空间相应于PCI桥路的两个寄存器,当桥路看到CPU在局部总线对这两个I/O空间进行双字…
前几天去电脑城装了台i5的主机,当时就发现主板上只有2个PCIex2的槽.但奇怪的是2个还长的不一样,一个屁股后面是开口的:) 问装机的小伙子,他也不懂,而且就这电脑操作水平都跟哥差远了,让他给我硬盘分区全部设基本分区(最多4个),不用扩展分区,他居然说不能这样弄,没人这样用.争执不下,让他一边休息,哥亲自上阵,在那花了1小时装win7 64. 今天上网查资料,偶然发现这2个槽设计有目的的! from: http://we.poppur.com/thread-776995-1-1.html 1楼…
声明 本文不涉及不论什么特定API,也不针对不论什么特定的厂商,可是仍然值得透露一点的是,某些加速板卡厂商的成功点和失败点恰恰都是在于其通用性,在这个人们依旧依赖专业板卡的时代,依旧将板卡视为解决专业化问题的时代,代理这些板卡并声称其能解决通用问题的厂商要谨慎!尽管,我非常看好通用化的板卡,可是我不是专家,即便我是专家,大家不是也总是攻击专家么?总之,矛盾的解决须要自己的推断力. 開始 如今出现了各种各样的PCIe加速板卡,这些板卡往往专注于处理一件事,从而释放CPU的越来越重的压力,当这样的往…
2周测试后,导致以下结果 MySQL-OLTP测试结果:(50表.每个表1000广域网数据,1000个线程) TPS:MySQL在PCIe固态存储上执行是在HDD上执行的5.63倍 writes:MySQL在PCIe固态存储上执行是在HDD上执行的5.58倍 reads:MySQL在PCIe固态存储上执行是在HDD上执行的5.55倍 Response_time:MySQL在PCIe固态存储上执行比在HDD上执行响应时间快44.45倍 Errors:MySQL在PCIe固态存储上执行是在HDD上执…
PCI-E的调试步骤 1.板子插上去之后正常情况下使用lspci 就能看的一个设备 这个设备上存在几个ID,可以根据ID可以确定设备是否识识别到 2.然后就是加载设备的驱动的时候,设备驱动会有VENDOR_ID 识别之后才能加载成功,才会PROBE进去 3.如果没有执行probe,正常情况是设备已经被一个驱动占有了 找到这个设备使用的驱动,并且去除就可以.…
从并行到串行: PCI Express(又称PCIe)是一种高性能.高带宽串行通讯互连标准,取代了基于总线的通信架构,如:PCI.PCI Extended (PCI-X) 以及加速图形端口(AGP). PCI-e的主要性能: 更低的生产成本 更高系统吞吐量 更好可扩展性和灵活性 上述传统基于总线的互连几乎根本无法达到PCI-e所拥有的优秀性能. PCI Express标准的制定是着眼未来的,它还在继续发展为系统提供更高的吞吐量.第一代PCIe约定的吞吐量是2.5千兆位/秒(Gbps),第二代则达…
Linux PCI/PCI-E设备配置空间读取与修改 1 前言 PCI和PCI Express,是计算机常使用的一种高速总线.操作系统中的PCI/PCI-E设备驱动以及操作系统内核,都需要访问PCI及PCI-E配置空间.PCI/PCI-E设备的正常运行,离不开PCI/PCI-E配置空间.通过读写PCI/PCI-E配置空间,可以更改设备运行参数,优化设备运行.本文介绍用户空间可以读取.修改.扫描PCI/PCIE设备的用户命令及使用. 在Linux内核中,为PCI和PCI-E只适用了一种总线PCI(…
事务层是PCIe总线层次结构的最高层,该层次将接收PCIe设备核心层的数据请求,并将其转换为PCIe总线事务,PCIe总线使用的这些总线事务在TLP头中定义.PCIe总线继承了PCI/PCI-X总线的大多数总线事务,如存储器读写.I/O读写.配置读写总线事务,并增加了Message总线事务和原子操作等总线事务. 本节重点介绍与数据传送密切相关的总线事务,如存储器.I/O.配置读写总线事务.在PCIe总线中,Non-Posted总线事务分两部分进行,首先是发送端向接收端提交总线读写请求,之后接收端…
PCIe总线作为处理器系统的局部总线,其作用与PCI总线类似,主要目的是为了连接处理器系统中的外部设备,当然PCIe总线也可以连接其他处理器系统.在不同的处理器系统中,PCIe体系结构的实现方法略有不同.但是在大多数处理器系统中,都使用了RC.Switch和PCIe-to-PCI桥这些基本模块连接PCIe和PCI设备.在PCIe总线中,基于PCIe总线的设备,也被称为EP(Endpoint). 4.2.1 基于PCIe架构的处理器系统 在不同的处理器系统中,PCIe体系结构的实现方式不尽相同.P…
与PCI总线不同,PCIe总线使用端到端的连接方式,在一条PCIe链路的两端只能各连接一个设备,这两个设备互为是数据发送端和数据接收端.PCIe总线除了总线链路外,还具有多个层次,发送端发送数据时将通过这些层次,而接收端接收数据时也使用这些层次.PCIe总线使用的层次结构与网络协议栈较为类似. 4.1.1 端到端的数据传递 PCIe链路使用"端到端的数据传送方式",发送端和接收端中都含有TX(发送逻辑)和RX(接收逻辑),其结构如图4?1所示. 由上图所示,在PCIe总线的物理链路的一…