EVC开发工具介绍.pptx
《EVC开发工具介绍.pptx》由会员分享,可在线阅读,更多相关《EVC开发工具介绍.pptx(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、手持式移动设备嵌入式手持式移动设备嵌入式WinCE开发开发5EVCEVC开发工具简介开发工具简介第章本章目标掌握掌握SDK的导出方法的导出方法熟悉熟悉EVC集成开发环境集成开发环境掌握远程调试工具的使用掌握远程调试工具的使用5.1 SDKv 使用使用eMbedded Visual C+eMbedded Visual C+工具编写工具编写Windows CE Windows CE 应用程序应用程序时,必须知道自己所开发的程序运用在什么样的硬件目标时,必须知道自己所开发的程序运用在什么样的硬件目标平台上,以及目标平台具有什么操作系统功能,否则,开平台上,以及目标平台具有什么操作系统功能,否则,开发
2、者开发的应用程序很可能不能在目标平台上运行发者开发的应用程序很可能不能在目标平台上运行v 通过通过Platform Builder Platform Builder 向向eMbedded Visual C+ eMbedded Visual C+ 导出应导出应用程序要运行平台的用程序要运行平台的SDKSDK,可以使,可以使EVCEVC开发出的应用程序能开发出的应用程序能够很好的运行在特定的目标平台上够很好的运行在特定的目标平台上v 应用程序开发主要包括三各方面的内容:应用程序开发主要包括三各方面的内容: 从从PBPB中导出中导出SDK(SDK(软件开发工具包软件开发工具包) ) 安装安装SDKS
3、DK到到EVC+EVC+ Win32Win32编程,编程,MFCMFC编程编程5.1 SDKv 下面我们重点介绍下面我们重点介绍SDKSDK的导出以及安装过程。导出的导出以及安装过程。导出SDKSDK主主要有如下几个步骤:要有如下几个步骤:导出新的导出新的SDKSDKSDKSDK的配置的配置SDKSDK的编译的编译 v 下面将在前面创建的内核下面将在前面创建的内核myce2myce2基础上进行基础上进行SDKSDK的导出的导出v SDKSDK的导出的导出启动启动PBPB,并打开前面创建的,并打开前面创建的Win CEWin CE内核内核myce2myce2(可以选择(可以选择创建一个基于某个创
4、建一个基于某个BSPBSP的内核)的内核) 5.1 SDK 5.1 SDK 点击点击PB-Platform-Configure SDKPB-Platform-Configure SDK,如下图所示,如下图所示 5.1 SDK 点击下一步,如下图所示点击下一步,如下图所示 5.1 SDK 输入输入SDKSDK名称和制造商名称,点击下一步,如下图所示名称和制造商名称,点击下一步,如下图所示 5.1 SDK 导出在导出在eVC+eVC+环境开发的环境开发的SDKSDK,点击下一步,如下图所示,点击下一步,如下图所示 5.1 SDK SDKSDK导出完成,点击导出完成,点击FinishFinish,如
5、下图所示,如下图所示 5.1 SDK v SDKSDK的配置的配置 再次点击再次点击PB-Platform-Configure SDKPB-Platform-Configure SDK,如下图所示,如下图所示 5.1 SDK 如下图所示选项,视图表示导出的如下图所示选项,视图表示导出的SDKSDK存储在开发者创建内核的路存储在开发者创建内核的路径下的径下的SDKSDK目录里,创建的内核平台名称为目录里,创建的内核平台名称为MYCE2MYCE2,导出的,导出的SDKSDK是一是一个标准的安装文件,名称为个标准的安装文件,名称为MYCE2_SDK.msiMYCE2_SDK.msi 5.1 SDK
6、点击点击EmulationEmulation,对模拟器设置,如下图所示,设置后点击,对模拟器设置,如下图所示,设置后点击“确定确定”退出退出 如果不需要导出应用于模拟器的如果不需要导出应用于模拟器的SDKSDK,可在,可在EmulationEmulation下拉表中选择下拉表中选择NoneNone。在此。在此settingsetting项,还需要根据先前内核定制的平台,进行项,还需要根据先前内核定制的平台,进行CPUCPU的选择。同时还可以在的选择。同时还可以在installinstall项进行安装信息的填写。项进行安装信息的填写。 5.1 SDK v SDKSDK的编译的编译 点击点击PB-
7、Platform-Build SDKPB-Platform-Build SDK,如下图所示,如下图所示 5.1 SDK SDKSDK编译结束,如下图所示编译结束,如下图所示 5.1 SDK 若编译过程没有错误,导出的若编译过程没有错误,导出的SDKSDK保存到开发者指定的目录,保存到开发者指定的目录,文件名为文件名为MYCE2_SDK.msiMYCE2_SDK.msi 5.1 SDK v SDKSDK的安装的安装双击双击MYCE2_SDK.msiMYCE2_SDK.msi文件,就可以安装,如下图所示文件,就可以安装,如下图所示 5.1 SDK 点击点击”Next”Next”,如下图所示,如下图
8、所示 5.1 SDK 安装过程,如下图所示安装过程,如下图所示 5.1 SDK 至此,我们就已经完成了至此,我们就已经完成了SDKSDK的导出,设置,编译,安装过的导出,设置,编译,安装过程。后续我们就需要在程。后续我们就需要在EVCEVC的开发中根据我们的程序应用平的开发中根据我们的程序应用平台选择我们定制的台选择我们定制的SDKSDK 5.2 EVC5.2 EVC集成开发环境集成开发环境v Windows CEWindows CE开发工具开发工具 Windows CEWindows CE与与WindowsWindows编程有何不同编程有何不同 处理器:处理器:CECE:支持多种处理器:支持
9、多种处理器XpXp等:支持等:支持X86X86系列处理器系列处理器 屏幕或键盘等输入设备:屏幕或键盘等输入设备:CECE:支持触摸屏(非标准分辨率大小)或无显示器,可能无鼠标:支持触摸屏(非标准分辨率大小)或无显示器,可能无鼠标或键盘或键盘XpXp等:支持标准显示器,必须有鼠标和标准键盘等:支持标准显示器,必须有鼠标和标准键盘 存储设备:存储设备:CECE:可能没有硬盘等大容量存储器,可能无法存储大量文件,可:可能没有硬盘等大容量存储器,可能无法存储大量文件,可能无法实现虚拟内存,内存访问受限(由于内存容量通常较小,能无法实现虚拟内存,内存访问受限(由于内存容量通常较小,又无法实现虚拟内存),
10、内存是稀缺资源又无法实现虚拟内存),内存是稀缺资源XpXp等:大容量硬盘,虚拟内存,大容量内存等配置决定了程序员等:大容量硬盘,虚拟内存,大容量内存等配置决定了程序员通常不用考虑内存是否够用。通常不用考虑内存是否够用。 5.2 EVC5.2 EVC集成开发环境集成开发环境字符编码字符编码 CECE:支持:支持UnicodeUnicode,而且通常都是以,而且通常都是以UnicodeUnicode为字符的编码标准,为字符的编码标准,即以两个字节来表示任何一个字符(不论是中文字符还是标准即以两个字节来表示任何一个字符(不论是中文字符还是标准ASCIIASCII字符),这样在编写程序时,与字符串相关
11、的处理需要特别字符),这样在编写程序时,与字符串相关的处理需要特别注意这一点注意这一点 XPXP等:通常是使用等:通常是使用ASCIIASCII字符,同时支持字符,同时支持UnicodeUnicodeCECE的其他主要特性的其他主要特性 界面紧凑、配置多样化、界面紧凑、配置多样化、APIAPI函数的精简等等函数的精简等等开发工具的选择开发工具的选择 CECE系统通常使用系统通常使用 EVC EVC 或或 .NET .NET 等开发工具,同时支持模拟器及模等开发工具,同时支持模拟器及模拟器的调试拟器的调试 5.2 EVC5.2 EVC集成开发环境集成开发环境我们的第一个我们的第一个WinCEWi
12、nCE应用程序:应用程序:HelloWorldHelloWorld打开打开EVC4EVC4,创建一个工作空间,创建一个工作空间在对话框中选择在对话框中选择WorkspacesWorkspaces标签标签 在在Workspace nameWorkspace name对话框中对话框中填入工作空间的名称以及存储填入工作空间的名称以及存储位置位置 5.2 EVC集成开发环境集成开发环境向刚创建的向刚创建的hellohello工作工作空间添加文件或项目空间添加文件或项目 在对话中选择在对话中选择FilesFiles标标签,然后选择签,然后选择C+ C+ Source FileSource File 5.
13、2 EVC集成开发环境集成开发环境在在FileFile处填入文件名处填入文件名 在在hello.chello.c中编写你的中编写你的程序程序 5.2 EVC集成开发环境集成开发环境 5.2 EVC集成开发环境集成开发环境hello.chello.c的代码的代码/*/ Hello - A simple application for Windows CE/#include windows.h/ Program entry point/int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine
14、, int nCmdShow) printf (Hello Worldn); return 0; 5.2 EVC集成开发环境集成开发环境这个文件包含了一组文件,它们中定义了这个文件包含了一组文件,它们中定义了Windows APIWindows API及其用及其用到的结构和常量到的结构和常量 程序的入口点是本程序和标准程序的入口点是本程序和标准C C程序之间最大的差别程序之间最大的差别 #include windows.hC C标准入口:标准入口:int main (char *argv, int argc)Windows CEWindows CE标准入口点:标准入口点:int WINAPI
15、WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,LPWSTR lpCmdLine, int nCmdShow) 5.2 EVC集成开发环境集成开发环境这个文件包含了一组文件,它们中定义了这个文件包含了一组文件,它们中定义了Windows APIWindows API及其用及其用到的结构和常量到的结构和常量 程序的入口点是本程序和标准程序的入口点是本程序和标准C C程序之间最大的差别程序之间最大的差别 #include windows.hC C标准入口:标准入口:int main (char *argv, int argc)Window
16、s CEWindows CE标准入口点:标准入口点:int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,LPWSTR lpCmdLine, int nCmdShow) 5.2 EVC集成开发环境集成开发环境第第1 1个参数,个参数,hInstancehInstance为其它应用程序指明程序实例,也为为其它应用程序指明程序实例,也为需要验证这个需要验证这个EXEEXE的的Windows APIWindows API函数提供了程序实例函数提供了程序实例参数参数hPrevInstancehPrevInstance是从旧的是
17、从旧的Win16 APIWin16 API(Windows 3.1Windows 3.1及更早及更早的系统)遗留下来的。包括的系统)遗留下来的。包括Windows CEWindows CE在内的所有在内的所有Win32 Win32 操操作系统中,作系统中,hPrevInstance hPrevInstance 始终是始终是0 0,可以忽略掉。,可以忽略掉。参数参数lpCmdLinelpCmdLine指向一个指向一个UnicodeUnicode字符串,包含了命令行文本。字符串,包含了命令行文本。从微软从微软Windows CEWindows CE浏览器启动的应用程序没有命令行参数,浏览器启动的应
18、用程序没有命令行参数,但在某些情况下,例如当系统自动启动一个程序时,系统包但在某些情况下,例如当系统自动启动一个程序时,系统包含一个命令行参数来说明程序为什么被启动含一个命令行参数来说明程序为什么被启动 5.2 EVC集成开发环境集成开发环境参数参数lpCmdLine lpCmdLine 是是Windows CEWindows CE与与XPXP出现差异的情况之一,在出现差异的情况之一,在Windows CEWindows CE里,命令行字符串是里,命令行字符串是UnicodeUnicode字符串,在其它版本字符串,在其它版本的的Windows Windows 里,命令行字符串总是里,命令行字符
19、串总是ASCIIASCII的的 最后一个参数最后一个参数,nCmdShownCmdShow,指明了程序主窗口的初始状态。,指明了程序主窗口的初始状态。由父进程,通常是浏览器传递这个参数到程序里。它对应用由父进程,通常是浏览器传递这个参数到程序里。它对应用程序如何配置主窗口给出了说明,在程序如何配置主窗口给出了说明,在Windows CEWindows CE里,这个参里,这个参数的值被限制成数的值被限制成3 3个状态:个状态:普通(普通(SW_SHOWSW_SHOW)、隐藏()、隐藏(SW_HIDESW_HIDE)和非激活显示(和非激活显示(SW_SHOWNOACTIVATESW_SHOWNOA
20、CTIVATE)。)。除非应用程序需要强除非应用程序需要强制它的窗口预先确定状态,在程序主窗口被创建后,这个值制它的窗口预先确定状态,在程序主窗口被创建后,这个值是不加修改,只是简单的传递给是不加修改,只是简单的传递给ShowWindowShowWindow函数函数 5.2 EVC集成开发环境集成开发环境这个应用程序唯一的功能行这个应用程序唯一的功能行Windows CEWindows CE支持大部分标准支持大部分标准C C库,包括库,包括printf,getcharprintf,getchar等等。等等。这一行有趣的地方在于它不像这一行有趣的地方在于它不像Windows CEWindows
21、CE其它任何地方,这其它任何地方,这个串不是个串不是UnicodeUnicode而是而是ANSIANSI。下面是对这个现象的合理解释:。下面是对这个现象的合理解释:对于用对于用ANSIANSI标准编译的标准编译的C C标准库,标准库,printfprintf和诸如和诸如strcpystrcpy等其它等其它字符串库函数用的是字符串库函数用的是ANSIANSI字符串。当然,字符串。当然,Windows CEWindows CE支持这支持这些标准函数的些标准函数的UnicodeUnicode版,例如版,例如 wprintf, getwchar,wprintf, getwchar,和和 wcscpyw
22、cscpy编译编译hello.c hello.c 选择应用程序将运行的目标平台,注意选择应用程序将运行的目标平台,注意CPUCPU和和SDKSDK的选择。在的选择。在此,我们选择基于此,我们选择基于emulatoremulator平台进行实验。如果是要运行在平台进行实验。如果是要运行在特定的硬件平台,必须按照前面讲述的内容导出特定的硬件平台,必须按照前面讲述的内容导出SDKSDK并安装到并安装到EVCEVC中去,然后进行应用程序的开发中去,然后进行应用程序的开发 printf (Hello Worldn); 5.2 EVC集成开发环境集成开发环境 5.2 EVC集成开发环境集成开发环境在在EV
23、CEVC中,选择中,选择BuildBuild菜单菜单下的下的Compile hello.cCompile hello.c进行进行编译编译 如果弹出下面的提示,点如果弹出下面的提示,点击击yesyes即可即可 5.2 EVC集成开发环境集成开发环境如果没有错误,将在输入窗口(如果没有错误,将在输入窗口(OutputOutput)中输出如下内容)中输出如下内容 在在EVCEVC中,创建可执行文件中,创建可执行文件 5.2 EVC集成开发环境集成开发环境在执行完后,会出现下面的提示在执行完后,会出现下面的提示 在在WorkspaceWorkspace的存储目录下将生成的存储目录下将生成hello.e
24、xehello.exe文件文件 5.2 EVC集成开发环境集成开发环境运行程序运行程序 导出一个基于模拟器的导出一个基于模拟器的WinCEWinCE界面界面在开发工作站的在开发工作站的C C盘下创建盘下创建softsoft目录,将目录,将C:testhelloemulatorDbgC:testhelloemulatorDbg目录下的目录下的hello.exehello.exe拷贝到拷贝到C:softC:soft目录下目录下 在在EmulatorEmulator的的EmulatorEmulator菜单下,选择菜单下,选择Folder SharingFolder Sharing共享本机共享本机的目
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EVC 开发 工具 介绍
限制150内