摘要: Windows驱动程序加载总线驱动器的任务之一就是枚举总线上的设备。并为每个设备创建一个PDO。一旦总线驱动器程序检查到新硬件存在,PnP管理器就创建一个PDO,创建完PDO后,PnP管理器参照注册表中的信息查找与这个PDO相关的过滤器和功能驱动程序。系统安装程序负责这些注册表项,而驱动程序包中控制... 阅读全文
posted @ 2015-02-26 15:35 AIPGLAB 阅读(1523) 评论(0) 推荐(0) 编辑
摘要: 第七章 中断及中断处理 本章主要描叙Linux核心的中断处理过程。尽管核心提供通用机制与接口来进行中断处理,大多数中断处理细节都是CPU体系结构相关的。 图7.1 中断路由的逻辑图Linux通过使用多种不同硬件来执行许多不同任务。包括驱动显示器的视频设备、驱动硬盘的IDE设备等。 我们可以同步驱动... 阅读全文
posted @ 2014-11-03 12:41 AIPGLAB 阅读(1146) 评论(0) 推荐(0) 编辑
摘要: wince驱动开发2 四、驱动的编写1、 wince驱动介绍1:WinCE毕竟是一个嵌入式系统,有其自身的特殊性,为了提高运行效率,所有驱动皆为动态链接库,驱动实现中可以调用所有标准的API。而在其他Windows系统中可能的驱动文件还有.vxd, .sys和动态链接库。2:WinCE驱动从结构上讲... 阅读全文
posted @ 2014-10-31 17:10 AIPGLAB 阅读(389) 评论(0) 推荐(0) 编辑
摘要: CE的中断(2008-10-26 20:59:04)转载▼标签:杂谈分类: CEstudynote 中断WCE有两种私有的中断表,一种是物理中断——中断请求(IRQs),另一种是逻辑中断——SYSINTR值。WinCE必须将一个物理中断和一个逻辑中断关联起来。而且,这两者必须是唯一的,而且是deli... 阅读全文
posted @ 2014-10-28 18:08 AIPGLAB 阅读(200) 评论(0) 推荐(0) 编辑
摘要: C语言中的左移与右移先说左移,左移就是把一个数的所有位都向左移动若干位,在C中用=类型长度.那么实际上i,j移动的就是1位,也就是33%32后的余数.在gcc下是这个规则,别的编译器是不是都一样现在还不清楚.总之左移就是:丢弃最高位,0补最低位再说右移,明白了左移的道理,那么右移就比较好理解了.右移的概念和左移相反,就是往右边挪动若干位,运算符是>>.右移对符号位的处理和左移不同,对于有符号整数来说,比如int类型,右移会保持符号位不变,例如:int i = 0x80000000;i = i >> 1; //i的值不会变成0x40000000,而会变成0xc000000 阅读全文
posted @ 2013-12-20 18:30 AIPGLAB 阅读(1276) 评论(0) 推荐(0) 编辑
摘要: 首先需要了解NAND FLASH的结构。如图: 以镁光MT29F4G08BxB Nand Flash为例,这款Flash(如上图)以4个扇区(sector)组成1个页(page),64个页(page)组成1个块(block),4096个块(block)构成整个Flash存储器;由于每个扇区的容量是512 字节(bytes),整个Flash容量为4224M Bit(相当于528M字节),去掉备用区域用于存放ECC数据校验16M(虚线部分),就是这个片子的容量512M字节。其他型号的Flash也是同样由扇区组成页、由页组成块、块组成整个存储设备,只是扇区、页、块的数量多少有区别而已。 在Flash 阅读全文
posted @ 2013-12-20 10:21 AIPGLAB 阅读(470) 评论(0) 推荐(0) 编辑
摘要: ECC的全称是Error Checking and Correction,是一种用于Nand的差错检测和修正算法。如果操作时序和电路稳定性不存在问题的话,NAND Flash出错的时候一般不会造成整个Block或是Page不能读取或是全部出错,而是整个Page(例如512Bytes)中只有一个或几个bit出错。ECC能纠正1个比特错误和检测2个比特错误,而且计算速度很快,但对1比特以上的错误无法纠正,对2比特以上的错误不保证能检测。校验码生成算法:ECC校验每次对256字节的数据进行操作,包含列校验和行校验。对每个待校验的Bit位求异或,若结果为0,则表明含有偶数个1;若结果为1,则表明含有奇 阅读全文
posted @ 2013-12-18 15:08 AIPGLAB 阅读(9157) 评论(0) 推荐(0) 编辑
摘要: 实时数据库简介1.前言一提到数据库,大家肯定会想到SQL Server、Oracle等关系型数据库。实际上,数据库的种类非常多,在计算机发展的历史上,存在着多种类型的数据库。早期,关系型数据库与层次型数据库、网络型数据库并驾齐驱,但关系型数据库依靠其描述简单、实现容易等特点,在竞争中取得了胜利,在上世纪90年代初期,从Foxpro、Access到Oracle、Informix、SyBase、SQL server,关系型数据库一统天下。但在特定的应用领域中,关系型数据库并不能完美表现,于是,产生了新的数据库类型:在协同办公领域中使用的文档型数据库(如NOTES),在嵌入式应用领域中使用的嵌入式数 阅读全文
posted @ 2013-12-02 17:00 AIPGLAB 阅读(1867) 评论(0) 推荐(0) 编辑
摘要: 使用Windows标准控件我们在前面曾提到过,控件是一些行为标准化了的窗口,一般用于对话框或其它窗口中充当与用户交互的元素。在Visual C++中,可以使用的控件分成三类:(1) Windows标准控件Windows标准控件由Windows操作系统提供,在Windows 95中还提供了一些新增的控件。所有这些控件对象都是可编程的,我们可以使用Visual C++提供的对话框编辑器把它们添加到对话框中。Microsoft基础类库(MFC)提供了封装这些控件的类,它们列于表6.1。表6.1 Windows标准控件控件MFC类描述动画CAnimateCtrl显示连续的AVI视频剪辑按钮CButto 阅读全文
posted @ 2013-11-27 16:01 AIPGLAB 阅读(2835) 评论(0) 推荐(1) 编辑
摘要: 1、plc即可编程控制器(programmable logic controller),是指以计算机技术为基础的新型工业控制装置。在1987年国际电工委员会(international electrical committee)颁布的plc标准草案中对plc做了如下定义:“plc是一种专门为在工业环境下应用而设计的数字运算操作的电子装置。它采用可以编制程序的存储器,用来在其内部存储执行逻辑运算、顺序运算、计时、计数和算术运算等操作的指令,并能通过数字式或模拟式的输入和输出,控制各种类型的机械或生产过程。plc及其有关的外围设备都应该按易于与工业控制系统形成一个整体,易于扩展其功能的原则而设计。 阅读全文
posted @ 2013-11-27 14:09 AIPGLAB 阅读(1572) 评论(0) 推荐(1) 编辑