版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
手持持式式移移动动设设备备嵌嵌入入式式WinCE开发发5EVC开发发工工具具简简介介第章本章章目目标标掌握握SDK的导导出出方方法法熟悉悉EVC集成成开开发发环环境境掌握握远远程程调调试试工工具具的的使使用用5.1SDK使用用eMbeddedVisualC++工具具编编写写WindowsCE应用用程程序序时时,,必必须须知知道道自自己己所所开开发发的的程程序序运运用用在在什什么么样样的的硬硬件件目目标标平平台台上上,,以以及及目目标标平平台台具具有有什什么么操操作作系系统统功功能能,,否否则则,,开开发发者者开开发发的的应应用用程程序序很很可可能能不不能能在在目目标标平平台台上上运运行行通过过PlatformBuilder向eMbeddedVisualC++导出出应应用用程程序序要要运运行行平平台台的的SDK,可可以以使使EVC开发发出出的的应应用用程程序序能能够够很很好好的的运运行行在在特特定定的的目目标标平平台台上上应用用程程序序开开发发主主要要包包括括三三各各方方面面的的内内容容::从PB中导导出出SDK(软件件开开发发工工具具包包)安装装SDK到EVC++Win32编程程,,MFC编程程5.1SDK下面面我我们们重重点点介介绍绍SDK的导导出出以以及及安安装装过过程程。。导导出出SDK主要要有有如如下下几几个个步步骤骤::导出出新新的的SDKSDK的配配置置SDK的编编译译下面面将将在在前前面面创创建建的的内内核核myce2基础础上上进进行行SDK的导导出出SDK的导导出出启动动PB,并并打打开开前前面面创创建建的的WinCE内核核myce2(可可以以选选择择创创建建一一个个基基于于某某个个BSP的内内核核))5.1SDK5.1SDK点击击PB->Platform->ConfigureSDK,如如下下图图所所示示5.1SDK点击击下下一一步步,,如如下下图图所所示示5.1SDK输入入SDK名称称和和制制造造商商名名称称,,点点击击下下一一步步,,如如下下图图所所示示5.1SDK导出出在在eVC++环境境开开发发的的SDK,点点击击下下一一步步,,如如下下图图所所示示5.1SDKSDK导出出完完成成,,点点击击Finish,如如下下图图所所示示5.1SDKSDK的配配置置再次次点点击击PB->Platform->ConfigureSDK,如如下下图图所所示示5.1SDK如下下图图所所示示选选项项,,视视图图表表示示导导出出的的SDK存储储在在开开发发者者创创建建内内核核的的路路径径下下的的SDK目录录里里,,创创建建的的内内核核平平台台名名称称为为MYCE2,导导出出的的SDK是一一个个标标准准的的安安装装文文件件,,名名称称为为MYCE2_SDK.msi5.1SDK点击击Emulation,对对模模拟拟器器设设置置,,如如下下图图所所示示,,设设置置后后点点击击““确确定定””退退出出如果果不不需需要要导导出出应应用用于于模模拟拟器器的的SDK,可可在在Emulation下拉拉表表中中选选择择None。在在此此setting项,,还还需需要要根根据据先先前前内内核核定定制制的的平平台台,,进进行行CPU的选选择择。。同同时时还还可可以以在在install项进进行行安安装装信信息息的的填填写写。。5.1SDKSDK的编编译译点击击PB->Platform->BuildSDK,如如下下图图所所示示5.1SDKSDK编译译结结束束,,如如下下图图所所示示5.1SDK若编编译译过过程程没没有有错错误误,,导导出出的的SDK保存存到到开开发发者者指指定定的的目目录录,,文文件件名名为为MYCE2_SDK.msi5.1SDKSDK的安安装装双击击MYCE2_SDK.msi文件件,,就就可可以以安安装装,,如如下下图图所所示示5.1SDK点击击””Next””,如如下下图图所所示示5.1SDK安装装过过程程,,如如下下图图所所示示5.1SDK至此此,,我我们们就就已已经经完完成成了了SDK的导导出出,,设设置置,,编编译译,,安安装装过过程程。。后后续续我我们们就就需需要要在在EVC的开开发发中中根根据据我我们们的的程程序序应应用用平平台台选选择择我我们们定定制制的的SDK5.2EVC集成成开开发发环环境境WindowsCE开发发工工具具WindowsCE与Windows编程程有有何何不不同同处理理器器::CE:支支持持多多种种处处理理器器Xp等::支支持持X86系列列处处理理器器屏幕幕或或键键盘盘等等输输入入设设备备::CE:支支持持触触摸摸屏屏((非非标标准准分分辨辨率率大大小小))或或无无显显示示器器,,可可能能无无鼠鼠标标或或键键盘盘Xp等::支支持持标标准准显显示示器器,,必必须须有有鼠鼠标标和和标标准准键键盘盘存储储设设备备::CE:可可能能没没有有硬硬盘盘等等大大容容量量存存储储器器,,可可能能无无法法存存储储大大量量文文件件,,可可能能无无法法实实现现虚虚拟拟内内存存,,内内存存访访问问受受限限((由由于于内内存存容容量量通通常常较较小小,,又又无无法法实实现现虚虚拟拟内内存存)),,内内存存是是稀稀缺缺资资源源Xp等::大大容容量量硬硬盘盘,,虚虚拟拟内内存存,,大大容容量量内内存存等等配配置置决决定定了了程程序序员员通通常常不不用用考考虑虑内内存存是是否否够够用用。。5.2EVC集成成开开发发环环境境字符编编码CE:支持持Unicode,而且且通常常都是是以Unicode为字符符的编编码标标准,,即以以两个个字节节来表表示任任何一一个字字符((不论论是中中文字字符还还是标标准ASCII字符)),这这样在在编写写程序序时,,与字字符串串相关关的处处理需需要特特别注注意这这一点点XP等:通通常是是使用用ASCII字符,,同时时支持持UnicodeCE的其他他主要要特性性界面紧紧凑、、配置置多样样化、、API函数的的精简简等等等开发工工具的的选择择CE系统通通常使使用EVC或.NET等开发发工具具,同同时支支持模模拟器器及模模拟器器的调调试5.2EVC集成开开发环环境我们的的第一一个WinCE应用程程序::HelloWorld打开EVC4,创建建一个个工作作空间间在对话话框中中选择择Workspaces标签在Workspacename对话框框中填填入工工作空空间的的名称称以及及存储储位置置5.2EVC集成开开发环环境向刚创创建的的hello工作空空间添添加文文件或或项目目在对话话中选选择Files标签,,然后后选择择C++SourceFile5.2EVC集成开开发环环境在File处填入入文件件名在hello.c中编写写你的的程序序5.2EVC集成开开发环环境5.2EVC集成开开发环环境hello.c的代码码/********************************************************///Hello-AsimpleapplicationforWindowsCE//#include"windows.h"////Programentrypoint//intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPWSTRlpCmdLine,intnCmdShow){printf("HelloWorld\n");return0;}5.2EVC集成开开发环环境这个文文件包包含了了一组组文件件,它它们中中定义义了WindowsAPI及其用用到的的结构构和常常量程序的的入口口点是是本程程序和和标准准C程序之之间最最大的的差别别#include"windows.h"C标准入口:intmain(char**argv,intargc)WindowsCE标准入口点:intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPWSTRlpCmdLine,intnCmdShow)5.2EVC集成开开发环环境这个文文件包包含了了一组组文件件,它它们中中定义义了WindowsAPI及其用用到的的结构构和常常量程序的的入口口点是是本程程序和和标准准C程序之之间最最大的的差别别#include"windows.h"C标准入口:intmain(char**argv,intargc)WindowsCE标准入口点:intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPWSTRlpCmdLine,intnCmdShow)5.2EVC集成开开发环环境第1个参数数,hInstance为其它它应用用程序序指明明程序序实例例,也也为需需要验验证这这个EXE的WindowsAPI函数提提供了了程序序实例例参数hPrevInstance是从旧旧的Win16API(Windows3.1及更早早的系系统))遗留留下来来的。。包括括WindowsCE在内的的所有有Win32操作系系统中中,hPrevInstance始终是是0,可以以忽略略掉。。参数lpCmdLine指向一一个Unicode字符串串,包包含了了命令令行文文本。。从微微软WindowsCE浏览器器启动动的应应用程程序没没有命命令行行参数数,但但在某某些情情况下下,例例如当当系统统自动动启动动一个个程序序时,,系统统包含含一个个命令令行参参数来来说明明程序序为什什么被被启动动5.2EVC集成开开发环环境参数lpCmdLine是WindowsCE与XP出现差差异的的情况况之一一,在在WindowsCE里,命命令行行字符符串是是Unicode字符串串,在在其它它版本本的Windows里,命命令行行字符符串总总是ASCII的最后一一个参参数,nCmdShow,指明明了程程序主主窗口口的初初始状状态。。由父父进程程,通通常是是浏览览器传传递这这个参参数到到程序序里。。它对对应用用程序序如何何配置置主窗窗口给给出了了说明明,在在WindowsCE里,这这个参参数的的值被被限制制成3个状态态:普通((SW_SHOW)、隐隐藏((SW_HIDE)和非非激活活显示示(SW_SHOWNOACTIVATE)。除非应应用程程序需需要强强制它它的窗窗口预预先确确定状状态,,在程程序主主窗口口被创创建后后,这这个值值是不不加修修改,,只是是简单单的传传递给给ShowWindow函数5.2EVC集成开开发环环境这个应应用程程序唯唯一的的功能能行WindowsCE支持大大部分分标准准C库,包包括printf,getchar等等。。这一一行有有趣的的地方方在于于它不不像WindowsCE其它任任何地地方,,这个个串不不是Unicode而是ANSI。下面面是对对这个个现象象的合合理解解释::对于于用ANSI标准编编译的的C标准库库,printf和诸如如strcpy等其它它字符符串库库函数数用的的是ANSI字符串串。当当然,,WindowsCE支持这这些标标准函函数的的Unicode版,例例如wprintf,getwchar,和wcscpy编译hello.c选择应应用程程序将将运行行的目目标平平台,,注意意CPU和SDK的选择择。在在此,,我们们选择择基于于emulator平台进进行实实验。。如果果是要要运行行在特特定的的硬件件平台台,必必须按按照前前面讲讲述的的内容容导出出SDK并安装装到EVC中去,,然后后进行行应用用程序序的开开发printf("HelloWorld\n");5.2EVC集成开开发环环境5.2EVC集成开开发环环境在EVC中,选选择Build菜单下下的Compilehello.c进行编编译如果弹弹出下下面的的提示示,点点击yes即可5.2EVC集成开开发环环境如果没没有错错误,,将在在输入入窗口口(Output)中输输出如如下内内容在EVC中,创创建可可执行行文件件5.2EVC集成开开发环环境在执行行完后后,会会出现现下面面的提提示在Workspace的存储储目录录下将将生成成hello.exe文件5.2EVC集成开开发环环境运行程程序导出一一个基基于模模拟器器的WinCE界面在开发发工作作站的的C盘下创创建soft目录,,将C:\test\hello\emulatorDbg目录下下的hello.exe拷贝到到C:\soft目录下下在Emulator的Emulator菜单下下,选选择FolderSharing共享本本机的的目录录5.2EVC集成开开发环环境在共享享目录录中填填入C:\soft(或者者使用用浏览览选择择)在WinCE系统中中打开开“我我的电电脑””,选选择StorageCard:5.2EVC集成开开发环环境双击打打开StorageCard,在双双击hello.exe执行即即可将看到到WindowsCE打开一一个命命令行行窗口口,打打印一一个HelloWorld之后退退出上述运运行过过程是是通过过路径径共享享的方方式,,使得得WinCE系统能能访问问WinXP系统上上的可可执行行文件件应用程程序的的执行行有时时候可可以直直接在在EVC下的模拟拟器执行行,但是是它只适适合调试试基于emulator:X86编译的内内核。所所以,我我们要用用模拟器器调试程程序时,,要注意意先前开开发过程程中的SDK的配置以以及编译译平台的的选择。。当然,,对于应应用程序序到开发发板的调调试,我我们还可可以用前前面提到到过的activesync工具5.2EVC集成开发发环境消息窗口口的使用用下面的程程序Welcome创建一个个消息框框而不是是用printf来显示文文字#include"windows.h"//ProgramentrypointintWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPWSTRlpCmdLine,intnCmdShow){MessageBox(NULL,TEXT("欢迎使用移动平台"),TEXT("欢迎"),MB_OK);return0;}5.2EVC集成开发发环境编译并运运行Welcome,可以看看到如图图所示的的小窗口口:MessageBox函数原型型如下::intMessageBox(HWNDhWnd,LPCTSTRlpText,LPCTSTRlpCaption,UINTuType);第1个参数是是顶层窗窗口的句句柄,它它是消息息窗口的的父窗口口。目前前我们把把这个参参数置为为NULL,因为Welcome还没有任任何其它它窗口第2个参数是是准备显显示在窗窗口里的的文字。。注意传传入的字字符串是是用TEXT宏包裹的的,确保保它能够够编译成成Unicode版本第3个参数lpCaption是显示在在窗口标标题栏的的文字。。最后一一个参数数uType是一系列列标志位位,规定定消息框框如何显显示在屏屏幕上。。标志位位规定了了消息框框中按扭扭的数量量和类型型,规定定了图标标的类型型以及消消息框窗窗口的风风格设置置5.3远程调试试工具EVC远程调试试工具主主要用于于在开发发平台与与实际平平台间执执行一些些调试工工作利用远程程调试工工具可以以在开发发平台运运行,得得到实际际平台上上的文件件、监视视实际平平台上进进程或线线程的状状况、测测试实际际平台上上应用程程序的性性能等一部分远远程调试试工具是是我们在在开发应应用程序序时常用用的,还还有一部部分是开开发内核核时常用用的5.3远程调试试工具远程调用用评测程程序(RemoteCallProfiler)远程调用用评测程程序包含含评测和和分析工工具。利利用图形形图像显显示出你你的代码码中算法法的效率率或者占占用资源源情况。。远程调调用评测测程序包包含一系系列接口口函数。。在你想想要评测测的代码码中调用用这些接接口函数数,然后后运行你你编写的的程序。。远程调调用评测测程序就就能够接接收你编编写的程程序的数数据并记记录。最最后利用用图形显显示出来来通过实例例hello来体验远远程调用用评测程程序5.3远程调试试工具运行远程程文件浏浏览程序序,先弹弹出一个个对话框框,要选选择访问问哪个平平台,如如图所示示选择"DefaultDevice"后。主窗窗口就显显示出来来了,如如图所示示。左边边目录数数列出的的是模拟拟器运行行的内核核的所有有目录。。右边是是指定目目录下的的文件。。工具栏栏最右边边是导入入和导出出按钮。。这里的的导入和和导出是是相对开开发平台台而言的的远程文件件浏览程程序(RemoteFileViewer)远程文件件浏览程程序是最最常用、、最易操操作的工工具之一一。它的的作用就就是向实实际平台台导入或或导出文文件5.3远程调试试工具要将一个个位图文文件传到到模拟器器中。先先单击导导出按钮钮(上箭箭头),,在弹出出的对话话框中选选择一个个位图文文件,确确定后,,这个文文件就出出现在远远程文件件浏览程程序的右右边文件件窗口中中了。导导入也简简单,先先选择一一个文件件,再单单击导入入按钮,,再选择择路径,,保存即即可5.3远程调试试工具远程堆查查看程序序(RemoteHeapWalker)从名字就就可以看看出它是是用来查查看操作作系统中中每个进进程使用用的堆的的情况利用“远远程堆查查看程序序”能够够查看到到:内核核中正运运行的进进程的名名字、ID、及使用用的所有有的堆的的ID如图所示示进程的的一个堆堆中的首首地址、、结束地地址、及及标志((Fixed、Free)堆中每每块(Block)的实际际内容5.3远程调试试工具CE下每个进进程启动动时,系系统会自自动分配配192KB的局部堆堆给这个个进程。。要是不不够你就就通过调调用堆管管理函数数自己再再分配自自定义大大小的堆堆。自己己分配的的堆,包包括系统统给你分分配的堆堆,都由由ID来标识“Flag”只有一个个值“HF32_DEFAULT”,表示系统默认认分配的的堆图中的“device.exe””,有四个都一一样。但从进进程ID就可以看出这这是一个进程程,而不是一一个应用程序序的四个实例例。因为列表表是以堆为单单位,“device.exe””分配了四个堆堆,就显示了了四个双击列表中任任何一项,弹弹出这个堆的的包含的块的的列表。列出出块的首地址址、大小、标标志。我们们分配了一个个堆,就可以以在堆中分配配数组、结构构等。这个块块就指每个分分配的元素。。标志中“Fixed””表示不能释放放这个块占据据的内存空间间。而“Free”则相反,表示示能够释放这这个块占据的的内存空间5.3远程调试工具具远程内核跟踪踪程序(RemoteKernelTracker)远程内核跟踪踪程序用于跟跟踪实际平台台内核的执行行情况,一般般使用它跟踪踪内核的启动动情况,搜集集相关数据并并在开发平台台上以图表形形式显示出来来5.3远程调试工具具这个程序能够够跟踪所有的的进程和进程程中的所有线线程。从开始始运行起跟踪踪,跟踪结束束的时间由数数据接收缓冲冲区的大小决决定。缓冲区区的大小从1MB到100MB,由用户自己己设定跟踪内容为进进程的运行、、不运行,线线程的运行、、阻塞、睡眠眠。还有在线线程中所有发发生的同步事事件。在此此程序的右边边有所有能够够跟踪的事件件对应的图标标个程序提供了了查找功能和和过滤功能。。查找功能可可以查找你想想要找的事件件,而过滤功功能可以让此此程序只记录录你想要的事事件5.3远程调试工具具远程性能监视视程序(RemotePerformanceMonitor)这个程序和其
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西医护理护理职业素养
- 2024-2025学年广东深圳红岭中学初三一模英语试题含答案
- 在职IT工程师网络安全防护知识指导书
- 2024-2025学年度执法资格模考模拟试题附答案详解【夺分金卷】
- 2024-2025学年全国统考教师资格考试《教育教学知识与能力(小学)》高频难、易错点题含完整答案详解(名校卷)
- 2024-2025学年度一级建造师考前冲刺试卷及答案详解(易错题)
- 2024-2025学年信阳航空职业学院单招考试文化素质数学试卷附完整答案详解【网校专用】
- 2024-2025学年度法律硕士模拟试题附答案详解【B卷】
- 2024-2025学年度公务员(国考)真题完整参考答案详解
- 2024-2025学年度机械设备制造修理人员考试历年机考真题集【综合题】附答案详解
- 中考英语1600词汇(背诵版)
- 大数据赋能企业财务分析的效率提升路径
- TD/T 1033-2012高标准基本农田建设标准
- 阳光房安装施工合同协议
- 浙商银行不良资产管理办法
- DB34-T 4521-2023 国资国企在线监管信息系统数据交换规范
- GB/T 13511.1-2025配装眼镜第1部分:单焦和多焦定配眼镜
- 2025年江西工业贸易职业技术学院单招职业技能测试题库带答案
- 邮政快递安全培训课件
- 主动防护网施工方案
- 《大学物理绪论》课件
评论
0/150
提交评论