
WINCE驱动开发
文章平均质量分 70
chinesedragon2010
这个作者很懒,什么都没留下…
展开
-
WINCE下实现基于USB的camera
<br />我们是做基于WINCE的GPS产品,客户需要camera功能,我们产品集成了两种方案的camera功能:USB摄像头和基于TVP5150视频编解码(camera sensor)的camera,在这里只介绍USB摄像头<br />要实现这个功能能,我们需要做下面的工作。<br /> <br />1. 支持WICNE的USB摄像头应该有很多种,而且驱动应该是不能共用的,所以我们需要根据项目需要(比如像素的要求)来选择USB摄像头,选定之后,就要找到卖USB摄像头转换器的公司提供的WINC原创 2010-09-11 08:54:00 · 3144 阅读 · 0 评论 -
WINCE下实现USB转RS232
<br />WINCE下可以通过一个USB TO RS232转换器来实现USB转RS232,也即WINCE设备的USB host接USB TO RS232转换器的USB端,而USB TO RS232转换器的RS232端可以接PC机的RS232接口,或者可以接其他设备的RS232接口,这样WINCE设备和PC端就可以通过以串口的形式来相互通讯了,因为我们的系统采用的是USB TO RS232转换器,要实现这个功能能,我们需要做下面的工作。<br /> <br />1. 支持WICNE的USB TO原创 2010-09-11 08:51:00 · 5294 阅读 · 1 评论 -
WINCE下如何虚拟多个串口
应用背景我们的产品是GPS产品,GPS模块是通过TX与RX来和CPU串口控制器的UART2连接的,对应于COM3(这个可以根据自己的项目的需要来定),platform.reg中注册表信息如下:;==========GPS===== UART2===COM3===============[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/Serial2] "DeviceArrayIndex"=dword:2 "Irq"=dword:f "MemBase"=dword:50008原创 2010-09-09 08:57:00 · 3062 阅读 · 0 评论 -
WINCE6.0+S3C2443自动重启的实现
<br /> 为了实现WINCE标准UI和我们产品的SHELL的切换,系统需要实现自动重启的功能,这里的自动重启并不是按下reset键之后的从nboot开始执行的复位重启,而只是跳转到NK的开始地址处执行,和bootloader没有关系。<br />在src/inc/oal_ioctl_tab.h中,我们看到自动重启的函数OALIoCtlHalReboot(),我们来看看这个函数体<br /><br />这个函数是利用看门狗来实现的复位重启方式,是从nboot开始执行的,我们来实现直接从NK的起始地址原创 2010-09-05 13:04:00 · 764 阅读 · 0 评论 -
WINCE6.0+2443系统大概过10分钟进入sleep状态
<br />最近在开发基于WINCE6.0+2443的GPS产品的时候,发现我的机器在电池供电的时候,开机之后,如果没有其他动作,那么大概10分钟左右,我的系统会进入sleep的状态,后来发现我在实现电池驱动的时候把函数BatteryPDDGetStatus()下面部分注释掉了<br /> memcpy(pstatus, &gpStatus->sps, sizeof(*pstatus));<br /> *pfBatteriesChangedSinceLastCall = gpStatus->fChan原创 2010-08-28 16:15:00 · 836 阅读 · 0 评论 -
WINCE6.0+S3C2443的RTC初始化及存在的问题
<br /><br />1.系统启动过程中RTC初始化<br />在WINCE6.0中,我们知道是通过OALIoCtlHalInitRTC()函数来设置RTC的时间的,但是如何调用到这个函数的呢?我们就从NKStartup()函数开始,但系统从nboot开始是如何执行到NKStartup()函数的呢?我后面会抽空写关于eboot和nk的启动过程中有涉及。<br /><br /><br />在SystemStartupFunc函数中,通过下面语句来创建一个内核线程RunApps:<br />hTh = Cre原创 2010-08-21 13:16:00 · 1193 阅读 · 1 评论 -
Nandflash K9F1208U0B学习
注:Row也就是page1. 引脚描述I/O0 ~ I/O7-----data inputs/outputs通过这8个I/O引脚,可以输入命令,地址和数据,也可以在读操作时输出数据。CLE-----command latch enableCLE输入控制了发送到命令寄存器的命令。CLE为高电平时激活,在nWE的上升沿,命令通过I/O端口被锁存到命令寄存器中,结合datasheet的相关时序图来理解更为深刻。ALE-----address latch enableALE输入控制了地址发送到内部地址寄原创 2010-07-26 00:11:00 · 2004 阅读 · 0 评论 -
基于S3C2440A+SDRAM(K4M51163)
<br /><br />本系统是采用两片K4M51163-BG75的SDRAM,大小为2*64M。<br />1. SDRAM的工作原理<br />1.1 SDRAM概述<br />SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器。同步是指其时钟频率(CLK)与CPU的AHB总线时钟频率(HCLK)相同,并且内部的命令的发送于数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进原创 2010-07-22 22:54:00 · 1470 阅读 · 0 评论 -
如何导出wince6.0的SDK
<br />最近在做WINCE6.0系统的编译和SDK的导出。但是我导出的SDK大小只有5M多,这个与以往WINCE5.0中导出的SDK要小了很多,之前我在WINCE5.0中导出的SDK大约有25M左右。查找了一通最后发现原来6的系统较5的系统有了一些改变,至少在MFC支持上有了变化。在6的系统中,导出对应OS design的SDK时,不会包含对MFC DLL的,要手工将MFC的DLL加入OS iamge中,在导出SDK时要手工将支持MFC的头文件和lib库包含到SDK中。<br />那么如何做了?<br转载 2010-07-22 22:50:00 · 1048 阅读 · 0 评论 -
WINCE6.0+S3C2443睡眠和唤醒(sleep and wake up)的实现
<br />1. 系统进入睡眠状态的过程<br />1.1 硬件相关电路<br />我们的产品使用GPF0/EINT0作为系统进入睡眠和从睡眠中唤醒的唤醒源,如下图所示:<br /> <br />EINT0作为唤醒源,而EINT0在S3C2443的datasheet中相关描述如下:<br /> <br />那么我们就需要知道触发这个中断(EINT0)的电平变化情况,是低电平触发?或是高电平触发?或是下降沿触发?或是上升沿触发?或是上升沿和下降沿触发?上面的设计是:在未按下按键(S5)时,EINT0是低电平,原创 2010-07-21 20:49:00 · 1798 阅读 · 2 评论 -
activesync对应的COM口
<br />因工作需要,在调整COM口的分配时,发现COM5已被占用,却不知道是被哪个驱动占用了,前两天才发现时被activesync占用了, activesync在platform.reg下的部分信息如下:<br /> <br />[HKEY_LOCAL_MACHINE/Drivers/USB/FunctionDrivers/Serial_Class]<br /> "FriendlyName"=LOC_USBFN_SERIAL_NAME<br /> "idVendor"原创 2010-07-19 22:29:00 · 977 阅读 · 0 评论 -
对CPU和SDRAM降频才能在板子上跑起来
<br />最近调试一个项目,遇到一个有些困惑的问题,麻烦大家给点意见,谢谢!<br /> <br />硬件环境:<br />S3C2443+128M SDRAM+128M NANDFLASH<br /> <br />软件环境:<br />WINCE6.0<br /> <br />背景:<br />因为我们之前的板子(第二版)感觉不是很稳定,判断是打板厂家的问题,后来就重新选了一家厂家重新打板(第三版),我不是很清楚这两版之间硬件设计及布局是否有变化(据硬件工程师说没有什么变化,只是微调)<br /> <b原创 2010-07-18 23:05:00 · 919 阅读 · 2 评论