wince 驱动
sukhoi27smk
学习是为了探索这个世界的本质
展开
-
wince6下usb摄像头(UVC)使用指南
转自:http://hi.baidu.com/cahbb/blog/item/6d76093498fe0790a61e120e.html在搭好了wince6的开发环境之后,下一步试验一下wince6下使用摄像头的方法。搜集了不少资料,从中学习了很多有用的东西,在这给记录下来,方便其它人学习,和自己以后使用。//---------以下是微软网站内容我看到过一些关于Windows Em转载 2013-12-20 10:32:40 · 2139 阅读 · 0 评论 -
VC代码实现WINCE 软重启
#include //#ifndef IOCTL_HAL_REBOOT#define IOCTL_HAL_REBOOT CTL_CODE(FILE_DEVICE_HAL, 15, METHOD_BUFFERED, FILE_ANY_ACCESS) extern "C" __declspec(dllimport) BOOL Kern转载 2012-12-15 17:17:40 · 1030 阅读 · 0 评论 -
解决6410 WINCE6 应用层调用SetSystemPowerState api关机无效的问题
6410平台下的wince6系统,在应用层中使用SetSystemPowerState api函数关机发现无效。应用层调用如下:[cpp] view plaincopySetSystemPowerState(NULL, POWER_STATE_OFF, POWER_FORCE); 注:该调用需要引用pm.h头文件,该头文件在wi转载 2012-12-15 22:26:26 · 1067 阅读 · 1 评论 -
WinCE6.0中应用程序如何直接访问物理空间
在实际开发过程中,经常希望能在应用程序中直接读写设备的物理空间。以前在做WinCE6.0下的MEMMgr时通过秘密加载一个内核态驱动实现了这个需求。但这种方式有一个明显的缺陷,每次读写都必须经由它才能完成。如果只是读取GPIO,那问题不算大。如果想通过这种方式实现视频播放的加速就比较困难了。估计非但不能加速,反而会变得更慢。 早先曾与ZL仔细的讨论过这个问题,他当时在WinCE6.0转载 2012-12-15 16:29:58 · 658 阅读 · 0 评论 -
Windows CE下驱动程序开发基础
Windows CE下的串口驱动程序能够处理所有I/O行为类似串口的设备,包括基于16450、16550 UART(通用异步收发芯片)的设备和一些采用DMA的设备,常见的有9针串口、红外I/O口、Modem等。在%_WINCEROOT%/Public/Common/OAK/Drivers/Serial目录下,COM_MDD2子目录包含新的串口驱动MDD层函数代码。COM16550子目录包含串口驱动转载 2012-12-15 15:25:06 · 794 阅读 · 0 评论 -
WinCE6下的kernelIoControl使用方法
WinCE6下的kernelIoControl可不是谁都可以调的。这个可能很多人曾经知道,但是老是忘记,比如我,哈哈。kerneliocontrol以前在CE5下面耍惯了,用这个接口,AP简直可以无法无天啊,动不动就reset你,哼!who怕who(AP不要 kernelicontrol还是可以无法无天,fullkernel啊,哈哈)最近加了一个CE6下的kerneliocontrol转载 2012-12-15 15:23:00 · 2738 阅读 · 0 评论 -
自己动手写TCC7901的GPIO驱动
//=====================================================================//TITLE:// 自己动手写TCC7901的GPIO驱动//AUTHOR:// norains//DATE:// Monday 12-July-2010//Environment:// Window转载 2012-11-22 06:55:27 · 898 阅读 · 0 评论 -
获取WinCE已加载驱动的信息
//=====================================================================//TITLE:// WinCE驱动的动态加载//AUTHOR:// norains//DATE:// Monday 22- February-2010//Environment:// WINDOWS转载 2012-11-22 06:50:25 · 522 阅读 · 0 评论 -
WinCE驱动的动态加载
//=====================================================================//TITLE:// WinCE驱动的动态加载//AUTHOR:// norains//DATE:// Monday 22- February-2010//Environment:// WINDOWS转载 2012-11-22 06:49:05 · 633 阅读 · 0 评论 -
WinCE驱动调试助手V2.5
http://www.cnblogs.com/we-hjb/archive/2008/12/15/1280822.html http://blog.chinaunix.net/u1/49088/showart.php?id=1279989 工欲善其事,必先利其器。做WinCE驱动的开发已有一段时间了,WinCE驱动调试助手也跟着更新了很多功能。现在只要做驱动,DM是转载 2012-11-22 01:02:39 · 1735 阅读 · 1 评论 -
Windows CE下流驱动的动态加载
Windows CE下流驱动的动态加载 闲话少说,进入正题。查找EVC的帮助,发现函数ActivateDevice()可用来加载驱动程序。而这个函数的使用是相当简单的。我就不多说了,贴上一段帮助最能说明问题。当然,你也可以用ActivateDeviceEx()。HANDLE ActivateDevice (LPCWSTR lpszDevKey,DWORD dwC转载 2012-11-22 00:43:33 · 649 阅读 · 0 评论 -
WinCE驱动的动态卸载
//=====================================================================//TITLE:// WinCE驱动的动态卸载//AUTHOR:// norains//DATE:// Wednesday 21-April-2010//Environment:// Windows C转载 2012-11-22 06:57:14 · 655 阅读 · 0 评论 -
发一个自己写的2440驱动1602的资料(电路+代码)
上个星期把MINI2440板上的富余数据线引了出来,看着以前丢下的1602突然有了想用ARM9驱动它的冲动,于是就开始干了。代码是从以前刚学C51的时候改的,呵呵,看见以前写的代码真觉得很烂,现在已经整理好了。虽说有点牛刀杀鸡的味道,但驱动起来真的费了不少劲。如果有裤子穿就好了 ^_^驱动方式:2440+HC595+LCD1602电路图:电路图 (原文件名:转载 2012-11-24 13:48:10 · 833 阅读 · 0 评论 -
S3C2440 WINCE6将USB DEVICE改成USB HOST,实现两个USB HOST
S3C2440一般默认的是一个USB DEVICE,一个USB HOST,即一个主口,一个从口,先来看看USB Device与USB Host相关知识。 USB Host:最底层就是USB Host控制器了,上层是USB Host Controller Driver,该驱动负责和硬件通讯来传输数据,在WinCE中支持UHCI,OHCI和EHCI。Host Core Driver & H转载 2013-05-06 10:01:20 · 1234 阅读 · 0 评论 -
wince6.0驱动开发
1、基础知识:1)系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件细节,在应用程序看来硬件只是一个设备文件,应用程序可以像操作普通文件一样对硬件设备进行操作。设备驱动是内核的一部分。2)驱动程序完成以下功能:——对设备初始化和释放;——把数据从内核传送到硬件和从硬件读取数据;——转载 2013-05-06 10:04:57 · 1670 阅读 · 0 评论 -
WINCE Driver 心得总结
一.Windows CE的驱动程序的区分1.从加载以及接口方式来区分可以分为本机设备驱动(Built-In Driver)、可加载驱动(Loadable Driver)以及混合型驱动。(1)本机设备驱动本机设备驱动即Native Device Drivers。这些驱动程序在系统启动时,在GWES的进程空间内被加载,因此它们不是以独立的DLL形式存在。这些驱动对应的设备通常在转载 2013-02-04 20:44:32 · 1684 阅读 · 0 评论 -
WINCE驱动编写
一般我们在驱动程序中需用LocalAlloc保留一块存储空间,然后用LocalCopy将I/O端口映射到该地址上,以后就可以访问该保留下来的地址了。而对中断的处理各种设备不尽相同。如果是一个内置设备(Built In),一般在oalintr.h文件中定义一个新的中断,OAL层中加上对该中断的处理。然后在驱动程序的Init函数中用CreateEvent创建一个事件,调用InterruptInit转载 2013-02-04 20:30:38 · 669 阅读 · 0 评论 -
修改SMDK6410的调试串口为普通串口(wince系统)
环境: 飞凌OK6410A开发板, Windows CE6.0系统最近在做GPRS通信,可是手头上的GPRS模块(Q2403A)是五线串口的(RXD、TXD、GND、RCS、CTS),老板又不愿买新的模块。所以考虑将调试串口COM1改为普通串口来用(飞凌开发板上也就这1个5线串口)。在网上找了些资料,然后让师弟测试摸索了下,发现网上现有资料都无法修改成功,他经过几天的努力后给出了正确的修改方法转载 2013-01-31 00:51:28 · 653 阅读 · 0 评论 -
wince的调试串口作为普通串口使用
目前wince的串口0是作为调试串口用的,但是因为我的案子需要3个串口,所以要把它改为普通串口,但是开机时候还是需要打印debug信息,鉴于此,我修改如下:debug.c中加入一行:int DebugConsoleEnabled=1;发送时候做判断://---------------------------------------------------------------转载 2013-01-31 10:09:21 · 893 阅读 · 0 评论 -
WinCE下的GPIO中断的处理
在我所负责的音频驱动部分代码中,采用了PXA270的GPIO34来检测Headphone的插入与拔出.原驱动部分有个BUG,即当耳机插入以后,耳机和喇叭同时在响,很明显没有对耳机插入事件做出响应.所以我开始采用了检测GPIO信号拉高或者拉低和检测耳机的插入事件,但是这样做有个问题,就是会有延时,插入耳机以后,会有一两秒的时候喇叭才会变关掉.为了改变这种办法,经过咨询,决定采用中断的办法来做这件事情转载 2012-12-29 21:16:16 · 530 阅读 · 0 评论 -
WinCE的I2C驱动程序设计
1 I2C 通信协议及S3C2410 芯片介绍 I2C(Inter Integrated Circuit) 总线是1980 年由Philips 公司推出的。 I2C 总线用两条线(SDA 和SCL )在总线和装置之间传递信息,在微控制器和外部设备之间进行串行通信或在主设备和从设备之间进行双向数据传送。两条通信线通过上拉电阻被拉升至+5 V 。在控制系统中的每个集成电路可以通过一个CMOS转载 2012-12-30 16:02:51 · 1122 阅读 · 0 评论 -
WinCE OAL中的OEMIoControl函数
关于OEMIoControl函数,我在2008年1月份写过一篇blog叫“WinCE BSP中OAL层中的OEMIoControl介绍”,已经比较详细的介绍了OEMIoControl,今天在这里只是对OEMIoControl中比较常用的case说一说。看看PB的文档就知道OEMIoControl可以包含很多case而且被分了类。下面就我个人接触到的和比较常用的做个说明: 1. IOCTL转载 2012-12-30 10:09:09 · 585 阅读 · 0 评论 -
【WinCE】流设备驱动简介及GPIO驱动的实现
流设备驱动实际上就是导出标准的流接口函数的驱动,这是文档上面的定义。在WinCE中,所有的流设备都导出流设备接口,这样WinCE中的Device Manager可以加载和管理这些流设备驱动。 流设备驱动的架构如图: 首先我声明一下,这个图是我抄的,呵呵。在WinCE启动的时候,OAL(OAL.exe)首先加载kernel.dll,然后kernel.dll加载devic转载 2012-12-15 17:47:46 · 691 阅读 · 0 评论 -
WINCE下I/O操作基础
对外设进行 I/O 操作实际上也就是读写外设的寄存器,而我们通常使用的X86或者ARM处理器在硬件上决定了wince系统启动后,无法直接访问物理地址,因此需要做一些工作来实现I/O操作. 首先要理解 windows CE 下的地址映射机制。 wince有两种地址:物理地址和虚拟地址.不同架构的 CPU 硬件上的区别导致地址映射也不同。MIPS和SH x 处理器,不采用MMU,直接在CPU转载 2012-11-20 20:44:55 · 649 阅读 · 0 评论 -
WINCE6.0 DM.EXE 激活驱动失败的原因之一
前些天把WINCE6.0的开发环境建好了,今天定制了一个系统,练习了一下驱动的编写和调试。把DLL文件通过VS2005部署到开发板上,用一位大侠写的DM.EXE工具进行激活,但是发现点击激活按钮式无反应,驱动还是停在“停用”状态,郁闷了几个小时。。。 后来在网上发现这个软件有了新版本V2.9,原来的是V2.5,赶紧下了个。试了一下,还是不能激活,但是驱动列表中显示了全部驱动,而原来的转载 2012-11-22 00:56:46 · 784 阅读 · 0 评论 -
VirtualCopy()操作I/O口 物理地址为什么要移8位
(1)IO接口是XSCale处理器的外部设备,对于一般的单片机,可以直接操作硬件,即通过直接读写IO端口来访问硬件.而对于WICNE操作系统,它屏蔽了用户应用程序对硬件访问的权限,只有内核应用程序才可以访问硬件资源.如果要直接访问某一址的物理内存(对于ARM核的MCU,IO端口地址通常被映射到物理内存中,内存和IO统一编址)可以采用内存映射方法,将该硬件寄存器映射到普通的内存空间,像操作内存地址一转载 2012-11-19 11:27:03 · 559 阅读 · 0 评论 -
wince6.0 WiFi ON/OFF控
#include "Iphlpapi.h"#include "eaputil.h"#include "wzcsapi.h"#include "ndispwr.h"WCHAR *szAdapter1=_T("SDIO86861");// use statically allocated memory block// to reduce risk of mem le转载 2012-12-05 22:48:35 · 860 阅读 · 0 评论 -
WINCE 网卡控制
最近在搞wifi上网,看了些这方面的资料,稍微总结点东西:)DeviceIoControl和底层通信:方法1 :把第二个参数设为IOCTL_NDIS_REBIND_ADAPTER。方法2 :把第二个参数设为IOCTL_NDIS_UNBIND_ADAPTER,然后再IOCTL_NDIS_BIND_ADAPTER。获取设备的句柄 : hNdis = CreateFile转载 2012-12-05 22:49:28 · 1934 阅读 · 0 评论 -
wince下获取mac地址的简单方法!
下,可以通过访问注册表获取mac地址,可是非常可惜的是有些系统的注册表不提供这个键值,另外也可以通过DeviceIoControl这类函数获得,但是所有方法要么不全面,要么不够简单或者有些平台bsp包根本就不支持,我捉摸了一个比较通用的方法,通过SendArp函数来获得,下面是代码,用起来比较简单,查msdn,获得方法如下// // Link with ws2_32.lib and转载 2012-12-07 22:21:42 · 2186 阅读 · 0 评论 -
Window CE 6.0流驱动开发动态加载实验
amily:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>我是直接从51到ARM,受51的影响,在wince6.0下怎么编写应用程序控制开发板的LED,查了好多资料,并结合开发板提供的LED测试程序和led驱动,编写了一个简单的LED驱动和应用程序来控制开发板的LED!转载 2012-11-19 23:53:05 · 545 阅读 · 0 评论 -
VirtualAlloc和VirtualCopy的蕴含知识点
VirtualAlloc和VirtualCopy的蕴含知识点1.VirtualAlloc用来在进程的虚拟地址空间中保留(reserve)或者提交(commit)页。在保留时以64KB为粒度,即保留空间以64K为单位。而提交虚拟地址时,则以页(典型大小为4KB)为单位。 2.VirtualCopy用来绑定一块物理内存到当前进程虚拟地址空间。参数里的lpvSrc既可以是内核段的虚拟地址也可以是转载 2012-11-19 11:14:49 · 536 阅读 · 0 评论 -
wince下Gpio 驱动程序
【转】wince下Gpio 驱动程序在WINCE下能够直接访问的都是虚拟地址,不能直接访问GPIO端口,因此我们首先需要将GPIO口的物理地址映射到虚拟地址上来。 分别使用VirtualAlloc和VirtualCopy这两个函数来完成映射! 这两个函数的原型: LPVOID VirtualAlloc( LPVOID lpAddress, D转载 2012-11-18 19:48:07 · 483 阅读 · 0 评论 -
CTL_CODE定义中Method的说明
我在上一篇中说明CTL_CODE的时候,其中CTL_CODE定义中有一个Method域,该域的功能意义是定义用于与在驱动程序中获取应用程序数据缓冲区的地址方式。如果你看了我前边的文章,你可以看到在DeviceIoControl的使用说明中对DeviceIoControl参数进行描述中关于lpInBuffer 和lpOutBuffer 的描述。简单的说,Method域就是定义了lpInBuffe转载 2012-11-18 12:54:19 · 582 阅读 · 0 评论 -
WINCE驱动程序快速入门
有人也许和我一样比较心急,想尽快知道如何去写一个具体的驱动程序,这里,假设您对驱动程序已经有比较好的了解,告诉大家一个快速上路的方法。当然,如果您有足够的时间我建议在动手之前还是深入了解一下CE整个系统架构。在CE中,最简单的一个驱动程序莫过于一个内置(Built-in)设备的流接口驱动。对于一个不支持热拔插的设备,最快捷的方法就是为其实现一个内置的流接口的驱动。对于这样一类驱动程序,我们转载 2012-11-18 12:50:38 · 452 阅读 · 0 评论 -
WinCE流设备驱动简介及GPIO驱动的实现
作者:ARM-WinCE 流设备驱动实际上就是导出标准的流接口函数的驱动,这是文档上面的定义。在WinCE中,所有的流设备都导出流设备接口,这样WinCE中的Device Manager可以加载和管理这些流设备驱动。流设备驱动的架构如图: 首先我声明一下,这个图是我抄的,呵呵。在WinCE启动的时候,OAL(OAL.exe)首先加载kernel.dll,然后kernel.转载 2012-11-17 09:49:54 · 522 阅读 · 0 评论 -
210板wince键盘驱动分析和移植
主要是bsp包里面的3个cpp文件的分析。首先是pddlist.cpp文件这个文件介绍了3种键盘的wince的api入口函数名前面加winapi),本文只关心第二种矩阵键盘。然后在kbd.cpp文件中可以找到这个入口函数Matrix_Entry。这里值得注意的是,本驱动是全键盘驱动,里面涉及到一些shift键和fn键的处理,即组合键的处理,这里先不分析,因为暂时没有用到。分析这转载 2012-11-30 17:05:49 · 789 阅读 · 0 评论 -
修改了WINCE自带的驱动程序后如何编译
修改了WINCE自带的驱动程序后如何编译?如果是自己开发的驱动程序如何编译? 1、分为IDE方式和命令行方式。 IDE 方式的编译很简单,以PB5.0为例,打开定制内核的工程,在左边的“workspace”—“FileView”中找到你已经修改了的目录,然后单击右 键弹出菜单,在菜单中选择“Build and Sysgen Current Project”,这样PB就会编译指定的目录中的项转载 2012-12-04 21:23:03 · 562 阅读 · 0 评论 -
DeviceIoControl的使用说明
应用程序和驱动程序的通信过程是:应用程序使用CreateFile函数打开设备,然后用DeviceIoControl与驱动程序进行通信,包括读和写两种操作。还可以用ReadFile读数据用WriteFile写数据。操作完毕时用CloseHandle关闭设备。我们比较常用的就是用DeviceIoControl对设备进行读写操作。先看看DeviceIoControl是怎么定义的:BOOL Devic转载 2012-11-18 12:53:14 · 522 阅读 · 0 评论 -
wince串口驱动分析(转)
wince串口驱动分析串行通讯接口主要是指UART(通用串行)和IRDA两种。通常的串行连接电气连接上有3wire和9wire两种。3wire的接线方式下定义了发送、接收和地三根连接。其用途就如名称一样分别用于发送、接收。通常在串行接口控制器上会有两个FIFO用作接收和发送的缓冲,当接收到数据后会直接将接收到的数据置入该缓冲器,并同时由控制电路向本地总线发出通知,以便让本地总线将缓转载 2012-11-25 03:16:16 · 611 阅读 · 0 评论 -
wince中的背光灯控制
要控制背光灯就必须知道相关设置,以下是wince中背光灯的设置。在BL_ReadRegistry函数中被读取。[HKEY_CURRENT_USER/ControlPanel/BackLight] "ACTimeout"=dword:0000012c "UseExt"=dword:00000001 "UseBattery"=dword:00000001 "BatteryT转载 2012-12-05 22:54:14 · 929 阅读 · 0 评论