`
yangshen998
  • 浏览: 1247339 次
文章分类
社区版块
存档分类
最新评论

WinCE 5.0边做边学(3)

 
阅读更多
作者: 文斌
主页: 文斌程序网 http://www.wenbinweb.com

经过前两次的边做边学,我们已经创建并可以自由修改自己的平台了,这次我平来补充一点理论知识,以便加深对CE生成过程的了解。在此之前,需要说明的是CE的目录结构是很庞大而复杂的,在以后的工作中很多事情会取决于你对目录结构的了解程度,在此,CE5的文件夹结构未发生大的改变,因此想了解此部分内容的朋友可直接参阅本人的《WinCE实验教程》相关部分。与CE4稍有不同的是在CE5中你自己的平台不在存放于Public文件夹中了,而是专门有一个PBWorkspaces的文件夹,这样更加方便管理且结构清晰了。
我们重点要说的还是CE的生成过程,即你在编译平台的时候Platform Builder到底为你做了些什么?
实际上,IDE在生成CE的过程当中共经历了四个阶段,分别是Sysgen、Build、Copy、Make,即组件生成阶段,编译阶段,Release文件夹复制阶段和镜像打包阶段。下面我们就分阶段来说明一下。
在Public文件夹下是CE为我们提供的可用组件,我们定制自己的平台是通过Platform Builder做的选择就是从这里面选择了一部分需要的组件。在这些文件夹中,包含了所有可用的库文件,头文件,DEF文件,当然也包括了所有可导出的函数说明。在Sysgen阶段要做的就是从中选择我们自己的平台需要的头文件,库文件和导出函数以创建我们自己平台需要的组件。它所完成的头文件会以C++注释的方式加以标记,这样它就可以选择需要的部分来导出,最后把所有需要的库进行链接就得到了我们自己平台所需要的东西了,它就放在Wince500/pbworkspaces/%ProjectName%/WINCE500/%CPU_TYPE%_x86/cesysgen文件夹下。
经过上一阶段后,需要的头文件库文件就准备好了,但这只是系统组件部分,我们的平台还有各种设备驱动程序等其他的东西,这些就要在Build阶段来完成了。
整个Build阶段都是在围绕着DIRS文件和SOURCES文件来进行,前者决定了哪些文件夹要被编译,后者决定了哪些文件要被如何编译,也就是说,此阶段要完成的就是各种源程序的编译过程。下面我们就重点看一下这两种文件的内容。
DIRS文件可以在很多文件夹中找到,它列出了要参与编译的子文件夹,内容大体如下:

DIRS_CE=/
ceddk /
regenum /
pcibus /

这样,build.exe在编译的时候就可以通过它来逐层找到要参与编译文件夹了。至于其中的OPTIONAL_DIRS、DIRS_NTANSI等项目的含义可以通过帮助查到。
同样,SOURCES文件对参与编译的源程序的编译方式做了规定,例如通过TARGETNAME规定编译后的名称,通过TARGETTYPE规定编译的类型是EXE,DLL还是LIB,通过DLLENTRY规定DLL文件的入口点,通过INCLUDES规定编译过程中需要的头文件,通过SOURCES规定参与编译的源文件等等。这些宏的用法在帮助文档里有更加明细的说明,在这里只要理解这种编译机制就可以了。
接下来,所有的编译都有完成了,DLL也好,EXE也好,都是目标平台自有的了,下一步就是一个Copy过程,也就是将你的项目文件夹下的WINCE500文件夹下的内容复制到RELEASE文件夹下,这步就没什么可说的了。
最后一步就是打包了,即将已经准备好的目标平台的文件打包成NK.bin这样的操作系统镜像文件。在这个过程当中,一个完成了文件合并、注册表压缩、资源文件替换和打包四个子过程。
文件合并阶段重点对以下文件进行合并:
--所有的.bib文件合并成CE.BIB
--所有的.reg文件合并成REGINIT.INI
--所有的.dat文件合并成INITOBJ.DAT
--所有的.db文件合并成INITDB.INI
知道这几个合并以后便于你在RELEASE下查找你做的修改是否确实被置入了目标平台。
注册表压缩会将REGINIT.INT文件压缩成DEFAULT.FDF文件。
资源替换就是将EXE或DLL中的资源替换成本地语言如简体中文。
接下来才是把这些CE.BIB等二进制文件制作NK.BIN文件,这才是我们需要的文件,不过在CE5中好像可以在项目设置中改变这个文件的名称,读者可以自己试试。
以上说的这些编译过程,在Platform Builder中的Build OS菜单下分得比较明确,这一点比CE4要好得多,你可以自己掌握让它单独执行某一步骤。如果你修改了某个组件的源程序,也可以右击这一组件然后单独编译此组件,最后再生成Image,总之,灵活性是比较不错的了。
同时,经过以上的分析也可以看出来,Platform Builder这个IDE在帮助生成CE时基本上是依赖于文件夹结构和那些文本文件以及批处理文件的,因此,对于文件夹结构还是要尽量的熟悉。同时也证明那些总说批处理文件没用的人的无知,在微软的操作系统和开发工具中,批处理文件是至关重要的,说它无用的人只是由于自己的水平不够而已。
好了,这次我们学得多做得少,不过这些知识还是有必要了解的,别忘了对照你的文件夹结构来学习哦!
分享到:
评论

相关推荐

    WinCE 5.0边做边学

    WinCE 5.0边做边学,比较详细的讲述了WinCE 5.0的内核配置等学习内容!

    WinCE 5.0 软件合集(内置25个程序)

    内置25个WinCE5.0程序,包括系统工具,媒体播放、游戏、计算器等 这些的程序都是由通过网络收集的 程序能都在WinCE5.0上完美运行(分别在WinCE5.0模拟器和装有WinCE5.0的导航仪上成功运行)

    WINCE5.0应用程序

    WINCE5.0 VS2005 应用例子供WINCE开发参考。

    WinCE5.0中文模拟器SDK(VS2005) Part2

    目前权限只能上传45MB大小的文件,只能分包压缩上传了,需要用的请将两个压缩包都下载下来再解压缩。

    嵌入式系统/ARM技术中的WinCE 5.0边练边学(5)(6)

    工欲善其事,必先利其器    对于实时系统,如何调试是一个很难解决的问题,包括对系统内核的调试,对驱动程序的调试,对应用程序的调试等。对于应用程序,通常各集成开发环境都提供了常规的单步跟踪等调试手段。...

    wince5.0 explorer.exe

    wince5.0 explorer.exe

    VS2008+WINCE5.0 模拟器 配置方法

    VS2005 安装WINCE5.0 配置方法

    wince5.0环境下播放器

    wince5.0模拟器下运行通过,wince5.0自带的媒体播放器,从platform builder下分离出来,用evc4.0编译运行。

    wince5.0和6.0系统结构详解

    介绍了WINCE5.0和WINCE6.0的整体结构,深入了解系统,内存布局。从硬件层,OEM层,OS层和应用层4方面进行介绍。也介绍了这两个版本之间的不同点。对于wince开发有极大的帮助。

    最好的wince5.0系统 中文播放器

    最好的wince5.0系统 中文播放器 精简说明: 中文版的,可以播放MP3,和各种视频文件 导航仪上安装,会更好。边导航,边听歌。 测试通过。绝对能用。 不多说了。

    WinCE 5.0边练边学(5)(6)

    工欲善其事,必先利其器    对于实时系统,如何调试是一个很难解决的问题,包括对系统内核的调试,对驱动程序的调试,对应用程序的调试等。对于应用程序,通常各集成开发环境都提供了常规的单步跟踪等调试手段。...

    WinCE5.0播放mp3音乐的方法

    利用waveOutOpen,waveOutWrite,waveOutPrepareHeader,waveOutUnprepareHeader,waveOutClose等函数制作的一个利用多线程同时进行解码播放的程序,解码线程和播放线程共享一个pcm块队列。只有如此,才能流畅的在...

    wince5.0 sdk.part1

    wince5.0 sdk vs2008可用

    WinCE5.0模拟器(中文).rar

    Win CE5.0模拟器简体中文版 使用说明: 下载后,先解开压缩包,直接运行里面的.bat文件就可以使用了

    wince5.0 sdk 配置

    wince5.0 sdk 配置

    wince5.0下使用SQLCE必须的文件

    在wince5.0下使用sqlce2.0, 需要在wince5.0上安装 C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v2.0\wce400\armv4 sqlce20.dev.ppc.wce4.armv4.CAB sqlce20.ppc.wce4.armv4.CAB...

    WinCE5.0中文模拟器SDK

    WinCE5.0中文模拟器 适用于vs2005配置

    win10配置wince 5.0的sdk和usb驱动

    自己的解决win10配置wince5.0的开发环境问题的方法,具体看博客https://blog.csdn.net/Leoxford/article/details/80202934

    UDP通信实验.WINCE 5.0

    UDP通信实验.WINCE5.0 UDP通信实验.WINCE5.0 UDP通信实验.WINCE5.0

    WinCE5.0中文模拟器VS2008

    VS2008中可用的WinCE5.0中文模拟器SDK,支持文件和注册表保存。

Global site tag (gtag.js) - Google Analytics