![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
驱动开发
文章平均质量分 54
ymzhou117
这个作者很懒,什么都没留下…
展开
-
USB设备驱动程序导读
随着USB设备的不断增加,我们这些开发人员也就多了对USB设备进行驱动程序开发的工作。但是对于很多初学者来说,存在以下三个困难: 一是对WinCE的驱动程序结构了解得太少,没办法得心应手的专注于驱动程序的开发工作; 二是对WinCE自带的USB驱动程序的例子没有弄懂,看到一大堆文件夹结构和源程序思维混乱; 三是几乎没有什么中文的参考资料,不知如何下手。转载 2009-07-26 19:29:00 · 1222 阅读 · 0 评论 -
USB驱动Suspend&Resume 调用流程分析
在6.0中,驱动通过USBDFunction类的成员函数SuspendDevice()来调用suspend功能,代码如下所示: 在SuspendDevice函数内部,通过USBD接口函数指针来调用到USBD内的函数中,在USBD内部的suspend功能实现,代码如下图所示: 该函数中,都先通过SetDeviceBit()函数更新SDevcie类内部的Interface的标志位信息。原创 2010-02-04 21:29:00 · 4766 阅读 · 3 评论 -
基于SMDK6410的BSP包结构分析
一 首先,大体介绍下sources文件的格式与含义:1 TARGETNAME=XX 使用TARGETNAME来指示生成目标的文件名(不包含扩展名,扩展名PB会自动2 RELEASETYPE=PLATFORM RELEASETYPE指示该文件将要生成的类型,一共有五个取值:Ø SDK:使用该类型将使得生成的目标文件被存储到%_PUBLICROOT%/Oak目录,而lib文件被放置到%转载 2010-03-05 14:14:00 · 1562 阅读 · 0 评论 -
Windows CE 6.0 启动过程分析
在Windows CE 6.0中,内核(Kenerl)和OEM代码被分成oal.exe、kernel.dll和kitl.dll三个部分,其中启动代码(startup)和 OAL层的实现部分不再与内核链接生成NK.exe,取而代之的是启动代码(startup)和硬件相关且独立于内核的OAL层的实现部分编译成 oal.exe,而与内核相关且独立于硬件的OAL层代码包含在kernel转载 2010-03-05 14:33:00 · 569 阅读 · 0 评论 -
WINCE60下修改了PUBLIC下的源代码的快速编译方法
WINCE60下修改了PUBLIC下的源代码的快速编译方法因为WINCE的组件都是分成一个个LIB/DLL的形式存在,所以只要把单个LIB/DLL编译更新然后再重新连接NK就可以起到快速编译NK的方法。不过由于NK里面的各个组件都是DLL的形式,这些DLL依存一些对应的LIB文件,所以要更新DLL就得先更新那些LIB的内容先,而WINCE60下的PUBLIC下的组件一般是以LIB文件的形式存在转载 2010-03-21 16:36:00 · 919 阅读 · 0 评论 -
WINCE6.0下RIL中多路虚拟串口的实现解读
710MUX多路复用驱动程序Mux07_10.dll把一路实际的物理串口虚拟成两路串口。1。一路虚拟串口是COM7-----用于一般的AT 命令发送2。一路虚拟串口是COM9-----用于ppp connection over CSD / GPRS看对应的注册表项就可以清楚,下面的内容来自C:/WINCE600/PLATFORM/DEVICEEMULATOR/FILES/platform.转载 2010-03-21 16:56:00 · 3364 阅读 · 0 评论 -
在Wince5.0中实现关机功能
wince5.0带的电源管理驱动只实现了“休眠(SUSPEND)”功能,未实现“关机(SHUT_DOWN)”功能。调用函数 SetSystemPowerState()时,无论参数是POWRE_STATE_OFF还是POWRE_STATE_SUSPEND,最终均为 SUSPEND。如果需要关机,还需要其他的办法。我看过有人专门写了一个PowerKey的驱动,用来实现关机。但是这种方法的问题在于,转载 2010-03-21 17:21:00 · 2323 阅读 · 0 评论 -
WinCE 5.0下的鼠标键盘驱动分析
WinCE 5.0下鼠标键盘驱动分析 WinCE 5.0下鼠标键盘驱动分析 本文通过对WinCE 5.0下的鼠标键盘驱动分析,对WinCE驱动程序设计进行了分析。欢迎大家对不对的地方指出。 硬件 写一个驱动程序的第一件事就是读硬件的规范文档。所以首先必须了解硬件才能写好驱动。鼠标和键盘现在已经转载 2010-03-21 17:28:00 · 677 阅读 · 0 评论 -
WINCE键盘驱动流程不完全分析
键盘驱动有点繁杂,可以配合以下资料查阅:1. Platform Build自带的帮助文件.2. 阅读源代码:2.1 C:/WINCE420/Public/common/oak/drivers/keybd2.2 C:/WINCE420/Platform/smdk2410/drivers/keybd3. 网上的一些相关资料 初步查阅后可以知道,键转载 2010-03-21 23:17:00 · 1162 阅读 · 0 评论 -
Wince5.0下如何将Public和Private下的代码移植到BSP下
有时候在调试驱动或是学习驱动的过程发现源码在Public下,而这部分又不能乱动。同时对于Private下的代码更是如此了。如果能将这部分代码移植到自己的BSP下岂不是可以随意加入调试信息从而更好的掌握代码的实现机制,也可以自己加些功能什么的也不用担心Private或是Public下的内容被改掉。 那么就来看看如何做吧。首先看如何把Public下的驱动移植到BSP去: 将Public下的驱动转载 2010-03-31 21:52:00 · 510 阅读 · 0 评论 -
PB5.0 features/sysgen参数和ceconfig.h中宏定义的对应关系
使用PB建立一个wince image之前先要建立一个workspace来控制除OEM BSP之外的所有的image的属性,包括的内容等等。这些内容主要是通过PB的catalog来管理的,通过PB的viewàcatalog打开的视窗,我们从全部的window ce的可选组件中选择我们需要的加入到workspace中,这样的话我们sysgen出来的image就具备了相应的功能。从catalog的视窗转载 2010-04-21 09:32:00 · 547 阅读 · 0 评论 -
Integrating your project in the PUBLIC tree
Introduction Have you ever wondered how you can integrate your code under the PUBLIC tree in Windows Embedded CE 6.0? This can be useful if you want to distribute code/components t转载 2010-05-01 16:24:00 · 901 阅读 · 0 评论 -
Bruce Eitman专题链接汇总
Platform Builder: Summary of Building Windows CEhttp://geekswithblogs.net/BruceEitman/archive/2008/06/06/platform-builder-summary-of-building-windows-ce.aspx Windows CE: Device Driver Summaryh转载 2010-05-02 14:36:00 · 586 阅读 · 0 评论 -
Windows CE: ERROR: function @ Ordinal 342 missing
http://geekswithblogs.net/BruceEitman/archive/2009/03/23/windows-ce-error-function--ordinal-342-missing.aspxYou try to run your application on a new Windows CE device for the first time and BAM yo转载 2010-05-04 22:27:00 · 1421 阅读 · 0 评论 -
Windows CE: LoadLibrary Fails with Error Code 193
http://geekswithblogs.net/BruceEitman/archive/2008/12/23/windows-ce-loadlibrary-fails-with-error-code-193.aspxYour app is trying to load a DLL either explicitly by calling LoadLibrary or implicitl转载 2010-05-04 22:30:00 · 2412 阅读 · 0 评论 -
Power Management
本文对Power Management这部分代码的研究是基于Wince5.0的(注:在最新的Wince 6.0上对电源管理的架构做了较大改变)。 这部分的代码在/PUBLIC/COMMON/OAK/DRIVERS/PM下,在OS中以PM.dll的形式存在。一、PowerManagement Architecture在/PUBLIC/COMMON/OAK/DRIVERS/PM下的代码有两转载 2009-11-30 22:57:00 · 1488 阅读 · 1 评论 -
IClass与电源管理
前段时间为J9项目上添加电源管理,中间走了一些弯路。之前错误的认为,IClass只是与电源状态的改变方法有关,也就是说IClass的正确与否只会影响到设备电源状态的正确与否,而不会造成设备是否可以支持设备电源状态的转换。结果后来整USB的时候,发现完全不是这么回事,郁闷了两天。担心忘记了,电源管理中与IClass相关知识赶紧写下来。一.PM中的相关内容说明1.结构体DEVICE_LIS原创 2009-11-30 22:52:00 · 685 阅读 · 0 评论 -
USB file structure
// Module Name:// CDevice.cpp// Abstract:// This file manages the USB devices//// CDevice (ADT)// / /// CFunction CHub (ADT)//原创 2009-07-27 19:33:00 · 561 阅读 · 0 评论 -
windowsCE.net 420串口驱动分析
分析 Auth:nasiry date: 2005年4月12日 abort: windowsCE.net 420串口驱动分析相关资料 虽然串口通讯已经是普遍的标准而且广为大家熟知,但驱动中涉及的部分内容也可能在平时的应用中并不是很常用到,在这里做一个简单的介绍待后面说明到具体代码的时候可以连贯一些。 串行通讯接口是目前十分流行的通讯接口转载 2009-07-26 00:36:00 · 580 阅读 · 0 评论 -
打印函数总结RETAILMSG(..) DEBUGMSG(..) NKDbgPrintfW(..)
不管在WinCE5.0还是在WinCE6.0中,我们在调试驱动或者应用的时候都会用到打印函数。在驱动里面,我们可能会用DEBUGMSG(..),RETAILMSG(..),还有NKDbgPrintfW(..)。在我们使用这些打印函数调试我们的程序之前,我们需要实现串口打印功能。在WinCE的BSP中,如果想调用DEBUGMSG(..)或者RETAILMSG(..)来从串口打印信息,必须在我们转载 2009-11-19 11:00:00 · 3689 阅读 · 0 评论 -
WinCE 6.0中串口读数据函数代码分析
如下函数是在WINCE600/PUBLIC/COMMON/OAK/DRIVERS/USB/CLASS/USBSER目录下的示例数据读取代码,看了好多次,总是觉得这部分数据处理有点问题。详细的解释在代码中有解释。我认为目前这段代码还出现的原因就是出错的情况很小很小。大家都没有注意到这个问题。现在标出望高手指点一下,菜鸟小弟在此谢谢先!//-----------------------------原创 2009-11-17 22:29:00 · 1824 阅读 · 5 评论 -
解读WINCE 5.0 KITL代码流程
摘要:KITL是PLATFORM BUILDER中的一个亮点,提供了和本地调试类似的断点、变量跟踪、内存查看等手段,如果没有KITL,嵌入式调试应该只能用串口打印消息来看了,工作效率大大下降。本文以实现最简单的SERIAL KITL为目的,就其实现代码进行跟踪调试,这些代码跨越了WINCE的PLATFORM、PUBLIC、PRIVATE三大主要目录,有些烦琐,不过只要能调通,一切工作和弯路都是值转载 2009-11-19 15:21:00 · 659 阅读 · 0 评论 -
Porting a Sample Radio Interface Layer (RIL) to a New Platform
Porting a Sample Radio Interface Layer (RIL) to a New PlatformSend Feedback on this topic to the authorsTechnical Articlesby Intrinsyc Europe LimitedUpdated July 2004Applies t原创 2009-11-20 22:46:00 · 5351 阅读 · 0 评论 -
ril驱动解析
一.RIL 概述 目前的智能机在硬件上多采用双cpu的架构,一个是基带处理器,主要处理数字信号、语音信号的编码解码以及GSM通信协议,另一个是应用处理器,运行操作系统和各种应用程序。基带处理器、射频和其它外围芯片作为一个模块,成为GSM/GPRS modem,提供AT命令接口。网络的应用已经是一个需求的热点,而目前的GSM模块大都能支持GPRS功能。应用处理器通过AT命令集与带GPRS功能转载 2009-11-20 22:52:00 · 1972 阅读 · 1 评论 -
Microsoft Radio Interface Layer
Microsoft Radio Interface LayerCellcore上面是 Windows CE Communication_Services 的架構圖。CellCore represents a strategic wireless architecture for products based on Windows CE. The intent of the转载 2009-11-20 23:13:00 · 4626 阅读 · 0 评论 -
S3C2410下WinCE6.0的启动过程详解
通过前两篇文章的介绍,我们已经知道NBOOT用来引导EBOOT,继而EBOOT加载并引导WinCE操作系统(NK)。那么,WinCE6.0的启动过程又是怎样的呢?本文基于S3C2410的平台做一个详细的分析。需要说明的是,WinCE6.0的整个启动过程对于同一类型的MCU来说大同小异,如S3C2410和PXA270同属ARM平台的MCU,所以他们的启动过程是类似的,可以说唯一的不同就在OAL转载 2009-11-23 23:04:00 · 500 阅读 · 0 评论 -
S3C2410&&WINCE6.0&&NBOOT
S3C2410处理器支持将启动代码存储在NAND Flash中。为了实现这一功能,2410配备了一个名为“Steppingstone”的内部SRAM。在启动时,NAND Flash中第一个4K字节的内容将被加载到Steppingstone中并执行。这个工作由MCU主动完成,而我们只需将NAND Flash配置为Auto Boot模式即可。 一般来说,启动代码会拷贝存储在NAND转载 2009-11-23 23:06:00 · 573 阅读 · 0 评论 -
WinCE6.0的EBOOT概要
为一个新的硬件设备定制WinCE6.0操作系统,一般需要完成以下几个主要步骤:1. 针对特定的硬件设备创建板级支持包(Board Support Package缩写为BSP),BSP必须包括BOOTLOADER、OEM适配层(OEM Adaptation Layer缩写为OAL)和一些必要的驱动。2. 利用创建的BSP,定制一个系统设计(OS Des转载 2009-11-23 22:52:00 · 638 阅读 · 0 评论 -
A template for debug messages
Submitted by Michel on July 25, 2008 - 13:54In all the drivers and applications I develop, I always take the time to add plenty of logging because I know good logging will save me loads of time de转载 2010-01-24 16:14:00 · 878 阅读 · 0 评论 -
What to build when...
Submitted by Michel on May 1, 2008 - 22:48A question that keeps coming back on the newsgroups is "I changed some code, but it does not end up in my image", or "I changed some registry values in pl转载 2010-01-24 16:25:00 · 476 阅读 · 0 评论 -
Manual Clone of Public Code
Submitted by Michel on November 13, 2008 - 20:12If sysgen_capture doesnt work for some reason you can always manually clone the component you want to modify. By following the instructions on转载 2010-01-24 16:29:00 · 806 阅读 · 0 评论 -
Window CE 6.0 USB Driver implemention
OverViewSiRF USB OTG Driver Architecture: USB OTG Driver is a buid-in driver,which is loaded by device manager during system booting up. USB OTG driver is responsible for loading USB Host Co转载 2010-05-07 15:11:00 · 2277 阅读 · 0 评论