Posted on 2007-04-15 09:54
Walzer 阅读(5764)
评论(65) 编辑 收藏 所属分类:
APPLICATION
中文模拟器这个问题实在被问得太多了,eVC自带的STANDARDSDK_500 Emulator用起来显然不顺手,存在以下缺点:
(1) 不支持中文的,只支持英文。中文显示上去一堆框框。
(2) 不支持Folder Sharing。模拟器开起来后,菜单里的Emulator->Floder Sharing是灰的,点不了。导致要用到的所有文件都得用Remote File Viewer传上去,不仅麻烦,而且上传的大小总量还有限制。比如你打算用模拟器上的播放器,放个100M的视频文件,这在STANDARDSDK_500 Emulator上就不可能了
(3) 组件有限。想用的API没有。比如计划的最终产品上有IE和WMP,你想用Internet Client接口,但标准模拟器上就是没有。
自己定制模拟器的前提是安装了Platform Builder for Windows CE 5.0。定制步骤如下:
一、建立PBWorkspace,定制语言和组件,编译run-time image
(1) 打开Platform Builder, 从菜单File->New Platform新建一个PBWorkspace, 注意在 New Platform Wizard - step 3 选BSP时要钩选EMULATOR:X86。在step 4的Design Template我选了Mobile Handheld,带的组件比较多,省事。一路NEXT下去。
(2) 在step 4选完Design Template后,别点Finish, 要点Next进到下一步。在这里把Standard SDK for Windows CE都选上, 再下一步把网络都勾上。ActiveSync和TCP/IP都是连接模拟器的调试手段,多勾点没什么坏处。在eVC里我比较郁闷的是用ActiveSync作Transport的话,连不上模拟器;而用TCP/IP连接模拟器时有个不好,就是网卡不能处于断开状态,得随便找个路由或者MODEM连上,程序才能下载到模拟器上。这个是后话了。
(3) NEXT到头后,PBWorkspace建好了,自己点菜,往里头加组件吧,应用开发比较常用到的也就是Applications and Services Development,Graphics and Multimedia Technologies, Shell and User Interface三个目录下面的东东,还有里我的建议是在产开发初期就把所需的组件定好,然后定制模拟器给应用开发人员用,BSP开发好后,同样也加上模拟器上用的那些组件来编译产品的IMAGE,这样应用开发才不会走样。
(4) 大家最关心的一步,中文。从PB菜单的Platform->Settings点进去,选择Locale页,然后在Locales:下面的复选框里慢慢找中文吧。其实就在最后一个:中文(中国)。加好后,在Default Language下拉菜单里就可以选“中文(中国)”了。 默认的拉丁文国家是在太多了,我一般先点Clear All,然后再找英文(美国)和中文(中国)就够了。
(5) 选完语言后,顺便拜访一下Build Options页。Full Kernel Mode我是比较喜欢,可惜据说运行起来会不稳定,还是别勾了;Enable KITL勾上,多个调试通路也好。
(6) 编译生成一个run-time image. 从菜单里Build OS->Sysgen. 等半个小时吧。从编译和SDK的原理来说,这步不是必须的。但是如果不SYSGEN而直接BUILD SDK,会弹出下图这个警告框。怕怕,还是SYSGEN一下好了

二、编译SDK
(1) 终于等完SYSGEN,现在可以导出SDK了,从PB菜单里点Platform -> SDK -> New SDK. 出来个对话框,如下图。这里面的Locale只能选U.S.English和Japanese,这步和SDK的语言没关系,我们选English. 点NEXT

(2) 第二步选编程支持,eMedded Visual C++ 4.0 support是必选的,其他看开发规划了。然后就FINISH了
(3) 别急着点Build SDK, 在Configure SDK里还很多好玩的。从PB菜单里点Platform->SDK->Configure SDK, 出来个N多内容的对话框。
A) 比较重要的,切到Emulation页,在Configuration里默认的可能是None, 选成Emulator: x86_Release,然后就可以配置内存大小、分辨率和色深了,这点比较重要,以前我还不懂自己定制模拟器时,就在分辨率和色深上吃过亏,模拟器上作好的东西,放到板子上跑完全走了样
B) 首先选Transports页,看看TCP/IP, ActiveSync, KITL三种调试手段都勾上没,选个自己喜欢的作默认。
C) 然后切到Splash Screen页, 可以弄张BMP图片作为SDK安装包启动时的广告界面。我原来以为是可以替换掉每次WINCE模拟器启动时显示的Windows CE那张LOGO图片,看来还没那么好玩。
(4) 编译SDK了。Platform->SDK->Build SDK。这个很快,两三分钟就搞定了。
三、安装SDK,开始爽吧
在WINCE500\PBWorkspaces\%your_workspace%\SDK\ 里面可以找到刚才编译出来的SDK。先关闭eVC再安装它。安装完后,重新打开eVC,就可以选择这个模拟器了,用法和STANDARDSDK_500模拟器一样,但是功能强多了,有自己定制的组件、分辨率和色深、可以Folder Sharing。我自己弄的一个,发张PP

Feedback
请问在 configure SDK时,你提到过“在 Emulator: x86_Release,然后就可以配置内存大小” 我的初始值是48,请问这个值是否受到主机(HOST)的物理内存的限制,譬如HOST机内存是1G,那么配置内存是否能大于1G呢!谢谢
@kimi
嘿嘿,这个我倒没试,你可以试一把,估计是不行。
WINCE最多也只能管512M内存,我一般设置成128M就足够用了。
到了设备上,有个64M物理内存就谢天谢地了,有128M就要笑歪了,现在的设备制造商都很节省BOM的。
首先,非常感谢你的回答。another question
我现在有块2410的板子(带LCD),采用NANDFLASH启动WinCE,想做一个WinCE启动就能自动运行的界面程序类似一些工控的组态软件(但我现在还没有确定这个界面所要包含的功能,不用去考虑,仅仅是一个界面而已)。我对VC的界面编程不太熟悉,对EVC就知道的更少了。
请问我是否应该现看看VC方面的UI编程知识,我希望能够有针对性的看,那样会感觉进步快一点。
glad to hear from you!
@kimi
EVC和VC看起来不多,主要区别应该只在SDK/CPU类型的选择,和远程调试方法上面。
关于调试方法,我BLOG的随笔分类里的TOOLS栏目里有一些入门的文章可以参考
http://www.cnblogs.com/walzer/category/61900.html
关于UI编程,在UI分类里有些可以参考
http://www.cnblogs.com/walzer/category/92488.html 如果你对FLASH空间的开销不敏感的话,就用MFC;如果对成本敏感,那么就可以用GWES的方案,目前我就是在这基础上做的。GWES的说明位于WINCE500的产品文档的Windows CE Features > Shell and User Interface > Graphics, Windowing and Events里面
你好,Walzer!
我想在WinCE下做数据库的开发,现在用的是模拟器,据说要装一个什么
AdoCE Manger,我下载下来后,通过EVC的remote File Viewer,将所有的安装文件都export到emulator下(o(∩_∩)o),想进行安装,结果失败,不仅如此,所有我传送到emulator系统的.exe文件都不能执行,譬如我还传过winRAR.exe ,请问这是问什么,你有好的建议吗!
谢谢!!!!
1、数据库开发我只是预研过,没真正做过。在CE5组件里Core OS->Windows CE devices -> Applications and Services Development -> SQL Server CE 2.0 不知道合用不,但这个实在太大了。
2、我不曾在EMULATOR上装过软件,重启一下就没了,(VS2005的模拟器改进了这一点),你传过去的EXE文件不能执行,我猜三种情况:1、你下载EXE文件时CPU类型选得不对,比如拿个ARMV4的下载到EMULATOR X86上;2、操作系统类型不对,比如EXE是用于Win Mobile或Win XP的;3、你自己定制的EMAULTOR里少组件,典型的比如少 CAB File Installer / Uninstaller
博主,按你所说的方法,我已成功生成sdk,并安装.在vs2005中可以看到该sdk.
但无法运行对应的模拟器.即vs2005无法部署应用程序.
请问该如何才能得到对应的模拟器呢?
我是下载的ms DeviceEmulatorBSP,在pb5中生成的arm模拟,不是x86的.这应该没关系吧.
@akay
呵呵,你在CE6的那篇博客里似乎找到了答案,上面这篇是CE5的。CE6的模拟器无法正确启动,的确很可能就是Virtual Machine Network Driver导致的。如果你用的是无线网卡,还会多些麻烦,最好把无线网卡关掉。
楼主还得麻烦你帮我看看我的pb编译是怎么了!我定制了
os后 Sysgen后出现如下提示
==================
Sysgening platform E:\progromfiles\WINCE500\platform\Emulator
Sysgening platform E:\progromfiles\WINCE500\platform\Emulator
\progromfiles\WINCE500\build.err
E:\progromfiles\WINCE500\build.log
E:\progromfiles\WINCE500\build.err
已复制 2 个文件。
BLDDEMO: There were errors building Mydemo
Mydemo - 0 error(s), 0 warning(s)
==================
之后我又Make run-time image后
出现如下提示
====================
--------------------Configuration: Emulator: x86_Release--------------------
Starting Build: makeimg
==============
makeimg for Windows CE (Release) (Built on Feb 13 2004 16:16:30)
makeimg: Change directory to E:\progromfiles\WINCE500.
makeimg: run command: cmd /C E:\progromfiles\WINCE500\public\common\oak\misc\pbpremakeimg
Generating PBWorkspace Custom makeimg build step batch Files to E:\progromfiles\WINCE500\PBWorkspaces\Mydemo\WINCE500\Emulator_x86\oak
Done Generating PBWorkspace Custom makeimg build step batch Files
makeimg: Check for E:\progromfiles\WINCE500\PBWorkspaces\Mydemo\RelDir\Emulator_x86_Release\PreMakeImg.bat to run.
makeimg: Found localization settings.
makeimg: LOCALE: 0804 LOCALE3: (null) TargetDir: 0804 CodePage=936 LocaleId: 804 PrimaryLandId: 4 SubLangId: 2
makeimg: Building international version for locale 0804
makeimg: Check E:\progromfiles\WINCE500\PBWorkspaces\Mydemo\RelDir\Emulator_x86_Release\tokens\0804\ for tokens.
makeimg: Read string substitutions from E:\progromfiles\WINCE500\PBWorkspaces\Mydemo\RelDir\Emulator_x86_Release\intltrns\0409\
makeimg: No .str files found.
makeimg: Copy files from E:\progromfiles\WINCE500\PBWorkspaces\Mydemo\RelDir\Emulator_x86_Release\intlfile\0409\ to release directory.
makeimg: Read string substitutions from E:\progromfiles\WINCE500\PBWorkspaces\Mydemo\RelDir\Emulator_x86_Release\intltrns\0804\
makeimg: No .str files found.
makeimg: Copy files from E:\progromfiles\WINCE500\PBWorkspaces\Mydemo\RelDir\Emulator_x86_Release\intlfile\0804\ to release directory.
makeimg: Not creating E:\progromfiles\WINCE500\PBWorkspaces\Mydemo\RelDir\Emulator_x86_Release\nlscfg.out because E:\progromfiles\WINCE500\PBWorkspaces\Mydemo\RelDir\Emulator_x86_Release\nlscfg.out is up-to-date with respect to E:\progromfiles\WINCE
500\PBWorkspaces\Mydemo\RelDir\Emulator_x86_Release\postproc\nlscfg.inf.
makeimg: run command: fmerge -txt E:\progromfiles\WINCE500\PBWorkspaces\Mydemo\RelDir\Emulator_x86_Release\postproc\nlssrc.txt E:\progromfiles\WINCE500\public\common\oak\files\locale.txt E:\progromfiles\WINCE500\PBWorkspaces\Mydemo\RelDir\Emulator_x
86_Release\nlssrc.txt
fmerge for Windows CE (Release) (Built on Jan 29 2004 17:34:26)
makeimg: FATAL ERROR: Command returned non-zero exit code 1 (dec).
makeimg: FATAL ERROR: Command returned non-zero exit code 1 (dec).
Mydemo - 2 error(s), 0 warning(s)
====================
始终不成功!我真找不出问题所在了,请指教。
Email:ttgzs_wt◎163.com 谢谢了
building过不了,making就不用运行了.
你可以从 E:\progromfiles\WINCE500\build.err 文件里看看ERROR在哪里,光从你上面的信息里是看不出问题所在的
build.err文件内容
C:\WINCE500\build.log(1) : error SYSGEN0000: error(s) in sysgen phase
麻烦帮忙解释一下,我在网上也查了,有很多人也有类似情况
博主,你好
请教一个问题:我在pb5中生成的arm模拟的sdk,要怎样能让它支持MFC library呢?目前在EVC下编译程序总是出现mfc的文件没有添加进工程之类的问题,但是我在pb下生成SDK的时候把支持MFC的都选上了呀!
还有你有做过把标准shell显示出来画面中的鼠标箭头去掉吗?
路过的朋友有遇到类似问题的给些建议。
我的msn:tina-lan3068@hotmail.com
@tina
想要MFC支持的话,在PB里有两个地方要加.一个是CATLOG里面把Core OS->Windows CE devices->Applications and Services Development->MFC这个组件加到你的WORKSPACE里面,然后SYSGEN. 第二个地方才是你说的导出SDK设置里面的勾选MFC.
隐藏鼠标箭头的话,参考这篇文章
http://blog.yesky.com/114/vincentzhou/1641614.shtml
在打了一些补丁后,用博主的的方法终于生成了自己的模拟器,在这首先要感谢博主!
现在我有一个疑问是:用上述方法生成的模拟器是基于X86 CPU的,能否通过一些些方式生成一个能支持ARM CPU的模拟器呢?
我安装了微软提供的DeviceEmulatorBSP.msi,但用生成的SDK却无法启动模拟器,可能是我的操作有误吧,望各位有这方面经验的人士能给些提示,谢谢!!!
想问下阿 我的SYSGEN后出现错误 是不是就不行拉
还有博主 能不能加我QQ:8504677 我可以细说
@cageling
微软提供一个ARMULATOR的BSP下载, 你可以去找找, 不过那个只能在CE6上跑,CE5上是没有的.
@cugthh
SYSGEN后出现什么样的错误? 把PB里出错提示的那几句贴上来瞧瞧
博主,请教一个入门级的问题:
1.WinCE5.0 基于S3C2440生成的SDK安装后在.net2003中如何才能看见;
2.在.net2003的C#中,怎样调用WinCE生成的DLL中的方法?我每次调用DLL中的方法,在模拟器上运行时总是报“未处理的“System.MissingMethodException”类型的异常出现在 WinCEprogram.exe 中。”感觉DLL引入不成功。
@baixiancheng
不好意思,(1)我只做C/C++开发, 所以CE5.0的SDK只弄过在EVC中可见,而没试过在VS2003中可见. (2)我只懂用C/C++调用DLL中的接口, 彻底没用过C#,就无能为力了.
首先感谢博主的热心回复,我是刚接触WinCE,没有做过实际的项目,平时都用java写代码,在学校时用C写过一些简单的代码;这次也是看书上的例子是用C#,所以就用C#了,如果时间允许,我会考虑改用EVC,这个效率要高很多;但博主能否给我解答下WinCE的驱动是如何作用于应用程序和内核的:比如我要写一段IO的驱动,我需要做些什么,WinCE如何编译我的驱动,内核怎么知道我的驱动,我的应用程序如何调用驱动,这一块核心的东西我还不清楚,博主有时间能否给我回答下,或者有什么比较好的书籍请博主推荐一二,小弟万分感谢!
@baixiancheng
这个实在说来话长了,我就你提的问题挨个简单讲一下
(1) WINCE驱动如何用与应用和内核的: 在WINCE文档里, 目录Welecome to Windows CE 5.0 -> Windows CE Architecture这页里有一张WINCE架构图, 看懂了就理解了.
(2) 写段驱动,需要做些什么: 这时候你不需要EVC了,而需要Platform Builder for CE 5.0,用来编译驱动和内核的IDE. 还需要一份原始的BSP, 把BSP克隆出来,在BSP里修改或添加新的驱动, 最后用PB编译成DLL并包含到NK.BIN里, 再下载到开发板上运行
(3) WINCE如何编译驱动: 用PLATFORM BUILDER编译, 你可能需要自己写sources文件, 类似LINUX下的MAKEFILE, 不过比那个简单得多
(4) 内核和应用怎么知道我的驱动: 修改platform.reg, 在 HKEY_LOCAL_MACHINE\Drivers\下面建立子键, 这样在启动时device.exe就会调用你驱动里的初始化函数了. 比较简单的方法就是写成"流式设备"的驱动, 然后在注册表里弄个名字, 应用就可以通过CreateFile和DeviceIoControl调用你的驱动了
@baixiancheng
最好的书籍应该就是WINCE的产品文档了, 实际上除了这个之外我没看过其他书籍了. 我强烈推荐"付林林"的文章作为入门,你可以GOOGLE出来很多. 实际上我不做BSP两年多了, 现在只能谈点入门级的问题. 你有更深入的问题可以去
http://nasiry.cnblogs.com和
http://songtitan.cnblogs.com, 他们两位都是一直从事BSP领域的专家.
太崇拜博主了,在博主的指点之下,我有了一个大概的认识了,这个嵌入式领域很复杂,我刚开始接触;有博主这样的热心人领路,实在是一件荣幸之事,小弟按博主的指导先对整个WinCE来个大体的了解,再继续开发,看来路比想象中的要长啊,呵呵;
不过小弟现在是业余选手,对这方面的东西很感兴趣,业余时间搞搞自己喜欢的东西,确实不错,谢谢博主!有问题我会常打扰您的,呵呵
请问博主,我若调用SDK现有的驱动,比如产商提供的ADC驱动,经PB编译后生成一个.dll文件,我是直接调用这个dll中的方法,还是怎么用呢?需要把SDK导出,再在SDK上调用吗,谢谢!
@baixiancheng
最好不要直接对驱动的DLL进行LoadLibrary进行加载和调用, 这中间还应该有一个系统层. 我只了解"STREAM DRIVER"类型, 以这种流式设备驱动为例
(1) 首先你可以用PB或EVC上的REMOTE PROCESS VIEWER来查看一下板端的DEVICE.EXE里头是否加载了你的DLL, 如果没有,则应该在platform.reg里找找原因; 如果有就进行下一步
(2) 如果在应用程序里调用改驱动DLL里的功能, 那么调用方法分两种,
(a) 一种是CE提供API与DRIVER相接,不直接调用DeviceIOControl. 比如你调用CreateFile("COM1:", ...)时, 串口驱动DLL里的COM_Open就被系统调用到了, 但你不是直接LoadLibrary后调用COM_Open, 而你调用WaitCommEvent时, 驱动里的COM_IOControl(...IOCTL_SERIAL_WAIT_ON_MASK)就会被操作系统调用到了.
(b) 一种是自己添加的驱动, 比如你说的ADC驱动,在CE里头应该就没有专用的一套API来调用了,就需要直接用DeviceIOControl函数. 那么比方说你在platform.reg里头把这个设备叫"ADC1:",那么你在应用程序里CreateFile(TEXT("ADC1:"),...)拿到HANDLE后, 通过WriteFile调用你驱动里的ADC_Write, 通过ReadFile调用驱动里的ADC_Read, 通过DeviceIoControl调用驱动里的ADC_IOControl就可以了.
你要在应用层上调用驱动, 最好是把SDK从PB上导出, 用EVC在SDK上编写应用, 这个你说得对. 在PB里编译应用程序也行, 但下载和调试很麻烦,工作效率不高.
太感谢博主了,我决定用EVC写应用程序,按博主的指导的第一种方法,先跑一个简单的“Hello World !”,增加点信心,呵呵,后面的驱动得花更多的时间来搞了,不过万事开头难,坚持就好,再次感谢博主!
请教博主:1.EVC提供的SDK怎么不能打开.txt文件呢,
我在EVC里创建了两个线程,一个产生数据,一个把产生的数据写入一个文件,模拟了数据采集的过程,文件能够生成,但是在模拟器中打不开,不知道线程处理是否正常,只能通过属性看见文件在不停的增大;
2.EVC中的线程,为什么要声明称 static 呢,而在静态的函数中药调用非静态成员还不能调用,必须把这些成员也设置成静态的,不怎么方便,有好的解决方法吗;
3.我在自己的SDk上写的程序,当编译时在链接这一步出问题,因为硬件还有点问题,不能通过ActiveSync连接,没法调试,必须要硬件一起调试吗。谢谢!
@bxianch
(1) 貌似CE5 STANDARD SDK里面没有提供TXT浏览器. 你在自己定制模拟器时,可以把Core OS->Windows CE devices->Applications - End User-> WordPad加进去, 弄好后用WordPad打开TXT文件
(2) "在模拟器中打不开"如何理解? 你运行EXE后,如果没有创建任何窗口, 那么感觉上是"看不见的", 纯粹在后台跑. 如果你不放心,可以用EVC里的REMOTE PROCESS VIEWER连到模拟器上看看你那个应用进程是否在运行.
(3) 在C语言里, 线程的CALLBACK函数不必要声明成STATIC; 但在C++类里, 就需要是STATIC成员变量。系统内部CALLBACK的时候不会为你的C++类建立对象,而非静态成员函数只能通过对象访问. 你问的这个问题是一个很经典的应用案例, 你看一下我最新写的那篇BLOG, 会贴出示范代码.
(4) 链接有问题最多和SDK有关, 和硬件无关吧? LINK不出来的话,EXE没生成,你有再多的连接手段也无法调试.
请教博主:EVC中怎样把一个int型的数字转换成一个字符串?
看似一个简单的问题,在网上搜了一把,没有一个简洁明了的回答阿;
另外用GetTickCount()可以获取系统的时间吧,我想把这个时间转换成字符串作为数据文件的文件名。
可以了转化了,
看了CString的用法,CString的Format方法比较好用
@bxianch
不用MFC的话,就用vsprintf这个API转, 用ASCII和UNICODE通用的版本是_vstprintf, 比如
TCHAR szDest[100];
memset(szDest, 0, sizeof(szDest));
_vstprintf(szDest, TEXT("time = %d"), GetTickCount() );
另外,GetTickCount获取的是开机到调用该函数时,走过了多少毫秒,你拿来做数据文件的文件名好象不太直观, 如果是我来写就用GetSystemTime
楼主,您好,我现在用的是EVC,wince400
1.我想在模拟器上同时跑TCP 服务器和客户端两个程序,但是客户端发信息给服务器,服务器收不到
于是我实验,服务器在PC上跑,客户端在模拟器上跑,客户端发信息给服务器,服务器收到了,但是服务器发给客户端,客户端却收不到了。为什么?
2.还有模拟器上IP是多少啊?
3.我的是wince4.2,用您的方法可以吗?
我用您的方法装上了,能显示中文了,非常感谢
但是还是不能解决1.我想在模拟器上同时跑TCP 服务器和客户端两个程序,但是客户端发信息给服务器,服务器收不到
于是我实验,服务器在PC上跑,客户端在模拟器上跑,客户端发信息给服务器,服务器收到了,但是服务器发给客户端,客户端却收不到了。为什么?
2.还有模拟器上IP是多少啊?
我的邮箱地址:yuanbinlove@tom.com
非常感谢!非常感谢!非常感谢!非常感谢!非常感谢!非常感谢!
@陈嘉雯
很抱歉,我没有在WINCE上写过TCP/IP类型的代码. 对您描述的问题实在无能为力. 如果您解决了这个问题, 能否写篇BLOG教教大家怎么弄呢?
那位仁兄共享哈 编译好的eVC上的中文模拟器下载!
我这边没有PB只有eMbedded Visual C++ 4.0开发平台!其实我也不去用PB!谢谢了
@fm
把你的EMAIL地址私人留言给我, 过些天我让发个给你。
用EMULATOR在EVC上调试会非常慢, 你得做好心理准备.
谢谢搂主。
请问我要怎么样做才能同时生成DEBUG模式和RELEASE模式下都能用的模拟器呢?我在RELEASE模式下生成的,只能编译RELEASE的程序;在DEBUG模式生产的,只能编译DEBUG的程序。
@huajl
没的事啊。EMULATOR上跑应用, 当然是DEBUG/RELEASE两种模式编译出来的应用都可以跑了。我自己常用的就是RELEASE下生出来的模拟器上,跑DEBUG模式的应用程序。
谢谢你回复。
但是我用MFC写程序时,就会出现mfcs42d.lib找不到啊。我编译的是RELEASE的版本。
@huajl
(1) 你在定制系统的时候,检查一下Application & Service里面的MFC组件有没有加进去.
(2) 如果组件有加, 那么确认一下SDK安装后的目录里面有没有mfcs42d.lib
(3) 如果有这个LIB, 那就是你在LINK属性里面设置PATH之类的地方有错.
谢谢你耐心的解答。
我发现SDK目录里并没有MFCS42D.LIB。难道要编译一个DEBUG版本的?
@huajl
WINCE里添加组件和RELEASE/DEBUG版本选择没有关系.
你好!再次谢谢。
尽管添加组件和RELEASE与DEBUG无关,不过可以编译成DEBUG和RELEASE的OS。
在我这边的情况是这样的,先编译一个RELEASE版本的OS,然后编译SDK,安装SDK,最后再编译DEBUG版本的OS,在evc的DEBUG模式时把DEBUG的库链接上。
我想知道,你是不是这样做的?
@huajl
你还是把BSP和APP层混为一谈, 我会被你搞疯掉.
我这边的情况是这样的, 先编译一个RELEASE版本的OS, 然后编译SDK, 安装SDK. 然后在EVC里选择这个SDK, 就可以编译DEBUG或RELEASE版的应用程序, LINK这个"RELEASE版"的SDK里面的LIB
这个道理,和你编译PC上跑的,X86 WIN32版应用程序一样,WIN32 SDK只有一个,不分RELEASE和DEBUG, 但你编译X86上程序时候可以选DEBUG或RELEASE.
最近一段时间忙其他项目去了.但EVC开发这边是一个未来开发热点,所以还请博主发一个eVC上的中文模拟器安装文件!估计软件很大,那就请您发到我的"373172965@qq.com"QQ邮箱里吧.它可以支持1G附件!再次谢谢您了!
你好,我想请问一下,现在evc系列的开发工具的最新版本组成是什么?谢谢!
在Platform->SDK..->Config SDK中为什么我切到Emulation页,在Configuration里除了默认的None,什么也没有呢?(注:我用的是微软提供的ARMV4I的bsp包)
补充一下:而且Configuration里很多设置都是灰色,无法再用户自定义了,这是怎么回事?感谢楼主能给予解答。
我的是PB4.20
博主所说的,这一步怎么实现
==========================
编译生成一个run-time image. 从菜单里Build OS->Sysgen. 等半个小时吧。从编译和SDK的原理来说,这步不是必须的。但是如果不SYSGEN而直接BUILD SDK,会弹出下图这个警告框。怕怕,还是SYSGEN一下好了
==========================
我这边build SDK 的时候总是让我先build一个 configure SDK
我怎么build ??
楼主:你好,想问一下,要实现隔10ms刷新一次界面,我用定时器SetTimer(0,100,NULL);然后重载OnTimer(UINT nIDEvent) ,但是系统不响应WM_TIMER消息,是怎么回事啊?有没有其他什么方法?
给点建议!非常感谢!
我知道了,在EVC中定时器SetTimer(0,100,NULL),第一个参数不能为零!
在Platform->SDK..->Config SDK中为什么我切到Emulation页,在Configuration里除了默认的None,什么也没有呢?(注:我用的是亿道提供的ARMV4的bsp包)我用的是pb4.2,安装那个SDK后我evc里面的模拟器显示的是Device,而不是Emulator。。。请问楼主怎么解决??谢谢
楼主能不能给个在ce6。0上导出sdk的制作过程,我搞2天了没搞定.
请问在evc下只能打开可执行文件吗?像 .txt 或.raw这类文件能打开吗
@qiang333
你想问的是在EVC所带的WINCE模拟器下, 或在WINCE设备里面只能打开可执行文件?
这取决于你在定制时选了哪些应用, 以及后来是否修改了注册表, 把某个文件后缀关联到某个EXE上面了.
比如你如果编译时加入了WORD, POWERPOINT这些,那么在模拟器里就可以打开WORD文档咯, 如果加入了写字板应用,那么就可以打开TXT咯.
我想问下楼主,我定制WINCE5.0的基于ARMEMULATER不能在VS2005部署应用程序为什么?
@小寒1113
部署失败的原因很多, 你得详细说下按照上文的方法步骤,你失败在哪一步,出现了什么样的异常, 这样才好判断出错原因
在Platform->SDK..->Config SDK中为什么我切到Emulation页,在Configuration里除了默认的None,什么也没有呢?(注:我用的是亿道提供的ARMV4的bsp包)我用的是pb4.2,安装那个SDK后我evc里面的模拟器显示的是Device,而不是Emulator。。。请问楼主怎么解决??谢谢
@f123
注意看我上文第一条的第1点,里面有句"注意在 New Platform Wizard - step 3 选BSP时要钩选EMULATOR:X86"
定制EMULATOR必须在BSP选择了EMULATOR:X86的基础上, 用其他的BSP, 是建不起来EMULATOR SDK的. (最近这周也不知道怎么搞的, 问这个问题的人特别多)
你的目标看起来是在EVC里开发出来能在亿道板子上跑的应用程序, 那么直接用STANDARD_500 SDK EMULATOR就可以了, 只要你在开发板的OS里不要缺组件, 那么应用层的代码在EMULATOR和开发板上可以通用的.
@tankss
没有试过.不过我强烈建议升级到VS2005以上. 花个两三天时间升级老程序, 后面下载调试等都快很多,绝对值得.