摘要: 转自:http://www.cnblogs.com/mercuryxu/archive/2010/02/25/1673877.html感谢原创作者这篇文章主要为了临时抱佛脚,收到威盛的面试邀请,职位是wince的网卡驱动开发,对于wince的驱动开发可以说还是做过一些,说道网卡这真还是一个死角,因为车载上并不牵涉到网卡这个部分,所做的几个项目在网卡上基本上都是被省略了,硬件上都没有网卡这个部分,所... 阅读全文
posted @ 2010-09-09 20:38 jiege 阅读(441) 评论(0) 推荐(0) 编辑
摘要: RZ 编码(Return-to-zero Code),即归零编码。 在 RZ 编码中,正电平代表逻辑 1,负电平代表逻辑 0,并且,每传输完一位数据,信号返回到零电平,也就是说,信号线上会出现 3 种电平:正电平、负电平、零电平:从图上就可以看出来,因为每位传输之后都要归零,所以接受者只要在信号归零后采样即可,这样就不在需要单独的时钟信号。实际上, RZ 编码就是相当于把时钟信号用归零编码在了数据... 阅读全文
posted @ 2010-09-08 21:54 jiege 阅读(20917) 评论(0) 推荐(2) 编辑
摘要: 调试成功的按键中断流驱动自己修改的EINT11按键驱动成功的运行了,上次出现的USB鼠标,SD卡不能运行的问题也不知道是什么原因,后来新建了工程后解决了这个问题,估计是再改底层时动了什么其他的东西,现将按键中断驱动流程分析一下: 修改的文件:1. WINCE420\PLATFORM\SMDK2440\INC\oalintr.h增加://周义加上的#define SYSINTR_SW9 (SYSIN... 阅读全文
posted @ 2010-08-16 15:19 jiege 阅读(601) 评论(0) 推荐(0) 编辑
摘要: 非常感谢下面两位高人作者: Douglas Boling译: MoonLordWinCE下被询问次数最多的驱动是USB摄像头驱动,其原由并不难理解。首先,没个人都喜欢看视频。插上摄像头并用它来捕获视频或静态图像,然后在本地欣赏或者将其发布到网络上,这是一件非常酷的事情。其次,有大量Wince下的驱动程序被公开,所以诚实的说,还是有很多种类的驱动有待开发。最后,虽然有WinCE有现成的1394端口摄... 阅读全文
posted @ 2010-08-16 14:56 jiege 阅读(2603) 评论(0) 推荐(0) 编辑
摘要: 1 引言USB是目前发展应用非常广泛的一项技术。它是一种计算机系统连接外围设备的标准输入/输出接口。根据外围设备的不同的类型USB协议将其分类,每个设备类型都定义了类似功能设备的共同行为和协议。相同类型的设备都由一组标准定义的功能模块组成。这样主机与USB设备之间的通信就可以通过一些标准格式的数据包来完成。USB开发者论坛发布了一系列USB设备的类型定义,并配以相应的使用说明。下面表格显示出 US... 阅读全文
posted @ 2010-08-15 22:30 jiege 阅读(1359) 评论(0) 推荐(0) 编辑
摘要: 共同的内核函数:OEMInterruptHandler():中断服务例程ISROEMInterruptEnable():OEMInterruptDisable():OEMInterruptDone():顾名思意,应用层在调用InterruptEnable、InterruptDisable、InterruptDone函数时会调用这几个内核函数4.2下的OEMInterruptHandler()函数会... 阅读全文
posted @ 2010-08-14 21:35 jiege 阅读(286) 评论(0) 推荐(0) 编辑
摘要: USB是个通用的总线,端口都是统一的。但是USB设备却各种各样,例如USB鼠标,USB键盘,U盘等等,那么USB主机是如何识别出不同的设备的呢?这就要依赖于描述符了。 USB的描述符主要有设备描述符,配置描述符,接口描述符,端点描述符,字符串描述符,HID描述符,报告描述符等等。 一个USB设备有一个设备描述符,设备描述符里面决定了该设备有多少种配置,每种配置描述符对应着配置描述符;而在配置描述符... 阅读全文
posted @ 2010-08-14 15:48 jiege 阅读(1676) 评论(0) 推荐(0) 编辑
摘要: 因为BSP和WinCE系统,已经做了大量的工作,完成了所有底层的处理。所以我们仅调用几个api,就可以完成驱动程序对中断的处理。 在WinCE中,中断被转换成为了一个事件。所以我们可以创建一个线程,该线程循环等待事件发生,一旦发生则去操作对应设备。这个线程被成为IST。整个过程如下:在驱动的XXX_Init()中1.创建一个事件hEvent = CreateEvent(NULL, FALSE, F... 阅读全文
posted @ 2010-08-12 23:31 jiege 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 当用户需要卸载USB Host设备驱动时,将会调用USBUnInstallDriver函数BOOL USBUnInstallDriver(); 它与USBInstallDriver类似,不过是调用如下两个函数UnRegisterClientSettings BOOL UnRegisterClientSettings(LPCWSTR szUniqueDriverId, LPCWSTR szReser... 阅读全文
posted @ 2010-08-12 23:04 jiege 阅读(613) 评论(0) 推荐(0) 编辑
摘要: WinCE下所有的驱动都是以DLL的形式,被device.exe进程加载的,所以每个驱动程序中都要实现DllEntry函数。 在注册表的HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\键下保存了USB Host的驱动程序信息。当我们第一次插入USB设备时。因为不存在这样的信息,所以系统会弹出一个“ 未能识别的USB设备”的对话框,要求用... 阅读全文
posted @ 2010-08-12 23:03 jiege 阅读(620) 评论(0) 推荐(0) 编辑