WINCE
ok138ok
本人参加工作以来,一直从事嵌入式WINCE开发工作,希望同行的朋友多多交流
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用CETK测试驱动程序
使用CETK测试驱动程序 --作者:赖玉平(Auly) aulyp@163.com CETK 是微软提供的用于测试基于其 WINDOWS CE 平台开发的驱动程序的测试工具,对于开发稳定可靠的驱动程序很有帮助,所以现在很多大公司在招这方面的人才时,都有要求会用 CETK 进行测试,协助开发。 1 CE5.0 平台 第一步,在系统中加入 CET原创 2009-07-16 22:19:00 · 2261 阅读 · 3 评论 -
触摸屏锁屏(Touch Lock)功能实现
触摸屏锁屏(Touch Lock)功能实现--作者:赖玉平(Auly)aulyp@163.com 1、关闭TOUCH 对应应用程序中的锁屏功能,提供该接口,具体实现是在PDD中完成,当接收到应用程序关闭触摸屏的请求后,将设备上的触摸屏中断关闭,这样触摸屏将不起作用;一直等到请求解锁命令后才重新将中断打开,恢复触摸屏功能。 应用程序通知底层驱动的流程为:在MDD中有个线程,在等待锁屏原创 2009-08-01 12:47:00 · 7676 阅读 · 0 评论 -
触摸屏驱动分析: (本机驱动)
触摸屏驱动分析: (本机驱动)--作者:赖玉平(Auly)aulyp@163.com 触摸屏驱动为本机驱动,由微软提供有通用层 MDD,我们只需要编写PDD层就可以了。触摸屏驱动由GWES 加载,GWES 通过MDD层的DDI设备驱动程序接口函数(Device Driver Interface,DDI),实现和驱动程序的交互,而PDD层则通过实现DDSI接口函数(Device Dri原创 2009-08-01 09:33:00 · 2292 阅读 · 0 评论 -
如何从零开始开发一款嵌入式产品
如何从零开始开发一款嵌入式产品 首先,如果你有幸看到这篇文章,千万不要试图在2个小时内阅读完,就算你2个小时阅读完,我相信你也不会理解里面讲解的精华之处,我相信,你应该将此文章,慢慢品尝,这绝对是一篇需要品尝2~3天,再结合自己过往的经验,加上自己的思考,我相信会对你不仅仅是技术能力,甚至包括整体的思维方式都会有一个非常大的提高。 我写这篇文章的目的,是用本人20年的转载 2009-08-07 13:06:00 · 2375 阅读 · 1 评论 -
WinCE命令行编译
加快编译Windows CE 6.0的驱动和BSP方法--作者:赖玉平(Auly)aulyp@163.com 在WinCE下面,如果需要改我们的驱动或者BSP,我们是不需要重新编译整个工程的:当我们的BSP或者驱动改动的时候,是不需要将整个OS重新编译那么痛苦的,分为几种情况分别讨论一下。 改动了OAL层的代码:我们可以在菜单里选择“build”再选“O原创 2009-11-19 12:51:00 · 1458 阅读 · 0 评论 -
WINCE+6410 拨号上网
WINCE+6410 拨号上网 --作者:赖玉平(Auly)aulyp@163.com 我们现在的模块用的是USB接口,然后模拟成一个COM6进行通信,在CE的: 控制面板->网络连接 里要新建一个连接,选择“拨号连接”然后设置好区域代码,还有附加解调器命令+CGDCON,"IP","CMNET",modem选择,与modem的串口通信速率等信息,然后连接,这上可以实现上原创 2009-12-03 15:14:00 · 3247 阅读 · 1 评论 -
winCE标准shell美化
winCE标准shell美化--作者:赖玉平(Auly)aulyp@163.com1更换WinCE的墙纸更换墙纸就是改注册表设置,编译完WinCE工程以后,所有的reg文件中的内容都会被合并为reginit.ini文件。在platform.reg文件中添加如下内容:[HKEY_CURRENT_USER/ControlPanel/Desktop]"wallpaper"="//原创 2010-02-21 13:58:00 · 3015 阅读 · 0 评论 -
AT+CNMI的使用
AT+CNMI的使用短消息类(class)的概念:根据指定储存的位置,短消息分为class 0 – 3四个类。也可以不指定类(no class),由ME按默认设置进行处理,存储到内存或者SIM卡中。在TPDU的TP-DCS字节中,当bit7-bit4为00x1, 01x1, 1111时,bit1-bit0指出消息所属类:00 – class 0:转载 2010-04-14 17:43:00 · 2472 阅读 · 0 评论 -
WINCE6.0 RIL 电话相关开发
WINCE6.0 RIL 电话要关开发赖玉平(aulyp@163.com)2010.4.7RIL的开发需要两步: 第一步:在PB中添加CellCore/RIL和TAPI 首先在CE6.0的catalog里面找到”CellCore”,你可以只选择你需要的选项(例如SMS支持)或者所有功能(ALL Modules)。 这样做的话就只会添加到你的API转载 2010-04-08 13:19:00 · 1332 阅读 · 0 评论 -
程序在启动时隐藏窗口
程序在启动时隐藏窗口--作者:赖玉平(aulyp@163.com) 想让对话框程序启动时是隐藏的,也就是在后台启动,(最开始我是为了让3G应用程序在后台初始化)然后需要时又可以显示。刚开始我也想到在OnInitDialog()中加上ShowWindow(SW_HIDE),其实这样是不行的,我试过在OnInitDialog的最后加了一个while(1)拖住进程,结果什么都没有显示,也就是说,OnInitDialog完了之后,才去进行显示资料处理。找了网上的方法,都没有满足我的要求,下面我给出一个自原创 2010-06-24 17:24:00 · 2086 阅读 · 1 评论 -
winCE Edit Control 复制/粘贴
winCE Edit Control 复制/粘贴 --作者:赖玉平(aulyp@163.com) 在windows CE里MFC写程序,Edit Control控件使用得非常频繁,但是,默认情况下,你在该控件上输入的内容,是不支持复制粘贴的,也没有右键菜单,极为不方便,在google上找了没什么这方面的详细资料,只能看E文的帮助文档了,其实实现起来也不难,下面是步骤原创 2010-05-15 13:36:00 · 3542 阅读 · 0 评论 -
在WinCE中实现Screen Rotation(屏幕旋转)
<br /><br />在WinCE中做Screen Rotation,首先确认显示设备的驱动是否支持Screen Rotation功能。在显示设备支持的前提下,可以通过以下两种方法做Screen Rotation:<br />1.通过修改注册表做Rotation<br />默认情况下,屏幕都是正常显示的,也就是说翻转角度为0度。可以通过修改注册表来做屏幕翻转,通过修改”Angle”的值来完成,具体设置如下:<br />[HKEY_LOCAL_MACHINESystemGDIRotation]<br />"原创 2010-08-17 15:06:00 · 1653 阅读 · 0 评论 -
WINCE 开机自动弹USB连接窗口问题(已解决)
WINCE 开机自动弹USB连接窗口问题(已解决)--作者:赖玉平(aulyp@163.com) 平台:S3C6410+WinCE6.0问题现像:当启用UART0也就是COM1时,无论插没插USB线,一开机,它都会弹出个USB连接的窗口,原因分析:是因为在三星原版本BSP里的串口驱动上制定了UART0为modem(unimodem),没有人打开串原创 2010-08-31 19:39:00 · 1759 阅读 · 0 评论 -
编译WINCE时出再“don’t know how to make “/””错误 的解决
编译WINCE时出再“don’t know how to make “/””错误 --作者:赖玉平(aulyp@163.com)编译驱动时出现如下错识,请检查source文件,里面是不是多了”/”例如INCLUDES=$(INCLUDES); / $(_TARGE原创 2010-02-21 13:45:00 · 1481 阅读 · 1 评论 -
触摸屏驱动:坐标转换
触摸屏驱动:坐标转换--作者:赖玉平(Auly)aulyp@163.com 当读到触摸屏坐标,要和相应的LCD屏坐标对应,因为触摸屏都是附在LCD上使用的。这样才能达到所见即所得的效果。TSP_TransXY(INT *px, INT *py){ INT TmpX, TmpY; //---判有没有超过最大范围,如超过,取最大--- TmpX = (*p原创 2009-08-01 12:40:00 · 2872 阅读 · 0 评论 -
驱动间的协调和管理
驱动间的协调和管理--作者:赖玉平(Auly)aulyp@163.com 在一个嵌入式系统中,各个驱动之间是如何进行协调的呢?如何管理的呢?当要抢占硬件资源时,如何处理呢?下面提供两种方法,该方法是我们在实际系统中使用最广的,也是经过验证可行的。1 使用虚拟驱动的方法,如我们的一个GPS平台就用到了一个虚拟驱动(该驱动不针对任何硬件),其作用就是一开机就加载了,各个驱原创 2009-07-25 20:33:00 · 1089 阅读 · 0 评论 -
SetKMode(TRUE) 切换内核模式
SetKMode(TRUE) 切换内核模式--作者:赖玉平(Auly)aulyp@163.comWINCE下内核模式和用户模式有什么区别? 为了使读者能够详细了解WINCE的地址映射原理还有两种模式,在这里我分几个部分说明: 1、 WINCE内核nk.exe的任务是管理操作系统核心功能。按照OEMAddressTable的映射要求,所有物理地址都映射到0x80000000以 上,原创 2009-07-18 13:49:00 · 1902 阅读 · 1 评论 -
在驱动中调用其它驱动的函数(fastcall)
在驱动中调用其它驱动的函数(fastcall)--作者:赖玉平(Auly)aulyp@163.com 在嵌入式系统中,一些通信口是公用的,如IIC口, 串口等,这些口的驱动一般OEM厂商会帮写好驱动,而且这些驱动是经过测试的,比较稳定,我们在开发其它要用到这些通信口的设备的驱动时,没有必要另外去写一个IIC驱动,只要调用一次相应的IOCtrol就可以像使用自已的函数那样使用相关原创 2009-07-19 19:54:00 · 1902 阅读 · 0 评论 -
WINCE6.0 远程工具,不能使用ActiveSync连接的问题
WINCE6.0 远程工具,不能使用ActiveSync连接的问题--作者:赖玉平(Auly)aulyp@163.com 现象:“VS2005->Target->Remote Tools”打开的远程工具,当选用ActiveSync作为连接方式时,会出现如下错误:“The Microsoft ActiveSync reported the following error:原创 2009-07-16 23:01:00 · 4834 阅读 · 8 评论 -
WinCE中微秒(us)级的延时函数
WinCE中微秒us级的延时函数--作者:赖玉平(auly)aulyp@163.com 在WINCE 5.0中,做驱动开发,特别是通信协议驱动时,延时动作是非常有必要的,如果想要做延时,像单片机一样用空操作来做的话,是不行的,由于时间片的原因,最多只能达到1US的延时量,如果要实现微秒级的延时,得用到系统API. 下面是一个经过我验证的函数,在做通信协议时,非常有用。原创 2009-07-17 21:14:00 · 4102 阅读 · 0 评论 -
winCE改变字库方法(WINCE字库更新)
winCE改变字库方法(WINCE字库更新)--作者:赖玉平(Auly)aulyp@163.com更新系统字库:例如要在WinCE5.0加入微软雅黑字体的支持。第一步:增加如下注册表[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/FontPath]"FontPath"="// Windows " ; 字库文件所在目录 [HK原创 2009-07-18 13:54:00 · 4749 阅读 · 2 评论 -
WINCE压力测试
WINCE压力测试--作者:赖玉平(Auly)aulyp@163.com 开发一个新产品,有一个必要的阶段是压力测试,看看自已开发的东西是否稳定,所谓的压力测试,就是长时间高强度的操作机器,测试机器的稳定性与可靠性。看是否有内存泄露和崩溃等潜在BUG,微软提供了一个很好的压力测试工具,该工具作为CETK的一个补充,(1)运行压力测试工具第一步:用CETK与目标设备建立连接,原创 2009-07-16 23:06:00 · 1997 阅读 · 2 评论 -
Wince 5.0中不能与PC同步的问题
Wince 5.0中不能与PC同步的问题--作者:赖玉平(Auly)aulyp@163.com现在有个问题是: 不能通过USB线使用ActiveSync和PC机连接 在2440开发板WINCE端的提示是"无法启动与桌面计算机的通信.无法打开连接"USB Socket Default".此连接无效或不存在................" 答:由于pb中存在一个小buge原创 2009-07-17 20:53:00 · 1703 阅读 · 0 评论 -
在Eboot 和 CE系统里的串口输出信息(串口选择)
在Eboot 和 CE系统里的串口输出信息(串口选择)--作者:赖玉平(Auly)aulyp@163.com1 D:/WINCE500/PLATFORM/smdk2442/Src/Kernel/Oal中的文件:debug.c 在函数:VOID OEMInitDebugSerial()里面,进行选口选择就行了 2 修改注册表,有关要选用的串口的信息屏掉,(例如要选UART2,原创 2009-07-18 13:45:00 · 1249 阅读 · 2 评论 -
HIVE保存注册表的实现
HIVE保存注册表的实现 --作者:赖玉平(Auly)aulyp@163.com HIVE工作原理: WinCE下面就两种注册表,一种是RAM based,另外就是HIVE based,缺省用的是前者,如果用前者PB会在编译的时候把common.reg和platform.reg的内容做到一个叫reginit.ini 的文件然后压缩成default.***(忘记原创 2009-07-20 21:52:00 · 1290 阅读 · 0 评论 -
Wince 中实现注册表恢复原厂设置的方法
Wince 中实现注册表恢复原厂设置的方法--作者:赖玉平(Auly)aulyp@163.com理论:使用HIVE注册表,系统在完成了第一阶段也就是加载完了boot.hv+binfs之后和加载系统HIVE注册表之前,filesys.exe都会调用OEMIoControl来查询是否需要清除保存在block设备上的hv文件,其CODE代码为IOCTL_HAL_GET_HIVE_CLEAN_原创 2009-07-20 21:57:00 · 4960 阅读 · 2 评论 -
4.3寸24BPP屏驱动笔记
4.3寸24BPP屏驱动笔记 --作者:赖玉平(Auly)aulyp@163.com 一、2442平台1 , 先在EBoot 中的main.c文件修改InitDisplay()函数,目的是先摸索针对该款LCD硬件特性设置2442的LCD控制器,这样只要通每次烧个EBoot进去,就能看到效果,修改:⑴ LCDCON1 TFT LCD Pannel 选 24BPP原创 2009-07-21 22:29:00 · 1581 阅读 · 1 评论 -
三星2442LCD控制器的有关寄存器的作用
三星2442LCD控制器的有关寄存器的作用--作者:赖玉平(Auly)aulyp@163.com LCDCON1LINECNT :当前行扫描计数器值,标明当前扫描到了多少行CLKVAL :决定VCLK的分频比。LCD控制器输出的VCLK是直接由系统总线(AHB)的工作频率HCLK直接分频得到的。做为240*320的TFT屏,应保证得出的VCLK在5~10MHz之间原创 2009-07-21 22:10:00 · 982 阅读 · 0 评论 -
WinCE5.0显示驱动对DirectDraw 功能的支持
WinCE5.0显示驱动对DirectDraw 功能的支持--作者:赖玉平(Auly)aulyp@163.com 方框图: 上图中DDI 和HAL 单元都是显示设备驱动程序的组成部分DDI 单元的导出函数是DrvEnableDriver,HAL 单元的导出函数是HALInit。DDI 单元为GDI 提供服务,HAL 单元及Windows CE 自带的以软件模拟的原创 2009-07-24 22:27:00 · 2279 阅读 · 2 评论 -
RTC驱动-2450
RTC驱动_2450 --作者:赖玉平(Auly)aulyp@163.com RTC驱动主要实现的功能是能给系统提供读取和调节时间日期的接口,要修改的文件有: 1 /smdk2450/src/common/rtc rtc.c 2 /smdk2450/src/inc S3c2450a_rtc.h㈠ Rtc.c 里面的OALI原创 2009-07-24 22:22:00 · 1326 阅读 · 0 评论 -
RETAILMSG 的定义与实现
RETAILMSG 的定义与实现 --作者:赖玉平(auly)aulyp@163.com 在PUBLIC下面,很多地方是用不了RETAILMSG来打印信息,因为它取而代之的是DEBUGMSG,但是,如果我们不编译debug版本的话,这个打印函数又是不起作用的。如果想用使用RETAILMSG,就得自已定义了。例如在GPE里面,就没有对RETAILMSG的支持。我们可以自原创 2009-07-25 21:11:00 · 4722 阅读 · 0 评论
分享