- 收藏
- 点赞
- 分享
- 举报
Windows ce嵌入式疑难问题解答
1.问:我的Activesync能连接上WINCE,在移动设备中有显示WINCE的内容,也能复制文件到WINCE,但是EVC不能与WINCE通信. 感觉很奇怪,不知道是什么原因引起的,大家指点一下了.搞了一天都没有找到什么原因.。 答:由于没有看到你的实际运行环境,所以只能按照以下步骤来排查: 通常我们在EVC下调试WinCE或应用程序有以下三种连接方式: (1): KITL + CESH SERVER (2) ActiveSync + ActiveSync 使用这种方式调试的时候,首先需要注意保证开发机和目标机上的ActiveSync版本是一致的。其次确认你的WinCE系统支持Activesync组件。这项功能是在构建WinCE的时候添加的。连接的绝提设置方法是:在Tools下打开Configure platform Manager,选择你对应的SDK,然后点击Properties选项,打开Device Properties对话框,Transport:选择TCP/IP Transports for windows Ce, startUp选择Microsoft ActiveSync,先Test一下,如果正常会提示OK。另外注意TCP/IP...的configure中的HostIp要选择Configure automatically over serial。 (3)TCP/IP + MANUAL SERVER 其中最理想的是最后一种。脱离开发环境,速度快,并且不占用任意端口功能。需要注意的是调试前最好安装工程需要的SDK。 另外,不知道你是不是自己修改了WinCE下相关的驱动?这也可能导致不能正常的连接到WinCE。 2.问:公司找的外包软件公司需要direct3d功能,对此不了解,所以有几个问题: (1)外包公司一直提到direct3d.dll,而WINCE5.0中有d3dm.dll,两者之间的关系是类似于MDD与PDD之间的关系还是同等关系? (2)看他们软件介绍是需要Pocket PC\Windows Mobile 5,那么WINCE5.0上能够实现吗? (3)WINCE5.0中的Direct3D Mobile组件是要添加的吧?Direct3d Mobile Reference Driver组件是参考驱动吗?我在定制的工程中加了这两个组件,并没有产生direct3d.dll,只有d3dm.dll (4)除此之外是否我的BSP中display的驱动还要支持direct3d.dll? 答:WinCE5.0能够支持direct6.0的所有功能,而目前最新的WinCE6.0 R2版本能够支持direct6.0的所有功能和direct9.0的部分功能(即二维图像部分)。在2009年即将发布的R3版本中将会集成最新的Arclmy,就是类似于Silverlight的效果,开发过程也大大的简化。 Pocket PC\Windows Mobile 5是基于WinCE的定制版本,如果需要在WinCE中添加Direct3D的功能,是需要把Direct3D相关的组件添加到你的WinCE中去的。如果你的硬件平台能够支持direct3d加速,那么最好把direct3d的支持添加到你的BSP中。
3.问:我需要给服务请求的密码进行MD5加密,该怎么办呢,好像SDK没有提供类似的加密函数吧。 答:SDK中可能确实不会提供MD5加密的函数,不过你可以在网上找一份PC的代码,移植到EVC下就可以了。也可以将移植好的MD5加密的函数整合到你的SDK中,根据需要而定。
4.问:WinCE上的电子书程序如何写?请给一些思路或链接? 答:可以采用一些现成的第三方控件来完成电子书的主体显示,这样可以不用关心文档格式。也可以自己来编写代码,基本和PC机上一样,建立自己的程序,计算文字的宽高,在VIEW中绘制,需要注意的就是翻页的计算和页面的刷新。 在网上搜一下可以找到很多这样的源码以供学习,例如: http://www.pudn.com/downloads29/sourcecode/comm/windows_mobile/detail92513.html
5.问:WINCE5.0的BSP(不是由4.2升级成5.0),240320的屏,请问要把分辨率改为480640的话,需要修改哪些文件,哪些参数呢? 答:修改下s3c2440a_lcd.h、InitDisplay()函数和s3c2440disp.cpp, 就可以实现轻松实现各种尺寸屏的切换。主要就是修改init.c文件中的InitDisplay()函数:但是需要根据你的LCD芯片手册来配置相应的参数。
6.问:S3C6410+WINCE6.0的系统大家有没遇到这样的情况----系统跑起来后几分钟/十几分钟后挂掉(死了),串口也没有什么报错消息输出! 答:首先可以在每个可能出问题的驱动中输出调式信息,检查原因。另外就是重新编译每个DEBUG版本的驱动看看。有没有错误信息输出。
在网上看到以前有过这种情况,是有中断不停的产生就会造成这种情况。如果是系统崩溃,异常一般会输出信息的。 现在没有错误信息,极有可能是这种情况。
建议采取排除法,逐一把驱动卸载,看是哪个驱动出了问题。
问:现在项目中需要获得真机的手机型号,可是找遍了API都没找到能获得手机型号的API。上网搜索也没得到相关的解决办法。但感觉这个功能该是有API支持的。 答:如果是山寨机可能会不行,如果OME厂商没有按约束规定写,你也不能获取到. 如果HKEY_LOCAL_MACHINE\Security\Internet Explorer\User Agent\CustomBase和手机中。设置—系统—设备信息-“特性识别”是一致的,你通过过注册表就可以读出来。
问:条件有限,只能在一台机子上装CE5和CE6的开发环境。并且由于种种原因,已经装好了CE6,此时再装CE5会不会有什么问题? 如果真的会有问题的话,怎么做可以避免掉这些问题呢? 答:CE5 和 CE6 有很大区别建议不要装在一起,可以用虚拟机来安装两个不同的版本。如果一定要装在同一台机器上的话,也是可以的。CE5开发工具使用的是Platform Builder,而CE6则是整合在Visual Studio 2005开发环境下的,注意,2008不行。安装的顺序: 1.安装CE5,Platform Builder 5.0 2.安装Visual Studio 2005 3.安装Visual Studio 2005 Service Pack 1 4.安装CE6,Platform Builder 6.0 5.安装CE6的SP1,Platform Builder 6.0 Service Pack 1 6.VS2005 Update for Vista 安装完成后可能会出现CE6和CE5在Platform Builder的Connectivity Options上的冲突问题,大家可以参考我博客中的文章来解决这个问题:http://lzg-ad.blog.sohu.com/118092446.html
问:我的用户态驱动和内核态ISR要对I/O设备协同操作才能完成, 但我的IO设备是这样工作的: IO设备只有一个地址,内部有16个寄存器, 要对设备中的寄存器读写时, 要先往IO 端口中写寄存器号,再在这个端口读写,(有点像对COMS的操作) 这就要保证一个读写操作要两次IO,并且一定要成对出现,就是这两个操作要是原子的,不可拆分; 如果IST正刚往端口中写了寄存器号,还没来得及写数据,这时中断来了,ISR也要操作设备,那不是乱了, 这种问题怎么解决呢?有没有什么信号量、互斥量什么的可以用? 答:看看ISR 和 IST的协助方式,就知道如何解决这种问题,在网上也有人已经回答了这个问题:
- IST 在操作时, 通常还没 call InterruptDone(dwSysIntr);, 故 ISR 不会产生中断, 就没有这个问题了.
- ISR 先把 Index Register 读出後保存後再修改, 离开前再改回原值.
- 将 IST 要读的值全部放在 ISR 内读完, 再用 Share Memory 的方式, 送给 IST.
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
-
2020-11-12 16:47:33
-
2012-12-05 14:05:13
-
2018-07-06 16:02:29
-
02016-06-22 23:45:46
-
2020-12-02 17:07:46
-
2023-05-23 10:31:01
-
2015-01-15 09:04:55
-
02008-07-19 12:55:54
-
02013-11-18 15:31:11
-
2017-06-05 15:20:33
-
02008-07-12 19:17:39
-
02008-08-14 00:23:28
-
222019-08-20 16:57:22
-
2015-02-05 20:43:14
-
2015-02-02 11:38:04
-
342019-07-19 19:18:52
-
2012-12-04 13:52:20
-
02018-12-14 15:11:04
-
2012-12-24 15:33:12
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
-
10求HI3519DV500_SDK_V2.0.1.1
-
5有偿求HI3516DV500 + OV5647驱动
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明