大家好,欢迎来到IT知识分享网。
platformbuiler开发小结
platformbuilder的开发经历了三个阶段:
从对platformbuilder的神秘崇拜---对拿到手的platformbuilder的艰难入门---第一个真正完整意义上的nk.bin文件的完成。
1.同其它的相对大型的开发软件相同,platformbuilder的入门阶段让我根本找不到“门”。
因为网上相关的资料并不是很丰富。最具权威的大概就算是 付林林 的platformbuilder开发系列指南。
http://soft.yesky.com/SoftChannel/72340168526266368/20040908/1851586.shtml
这里有付林林的专栏,可以多去研究研究。
另外,有一本很好的书《Windows CE.net内核定制及应用开发 》于2005年2月已经出版。值得买来研究
2.学习方法
根据前辈的经验和自己的心得,在拿到platformbuilder之后,最好是精下心来,按照wince.net自带的documentation(即帮助文件)的
顺序慢慢入门,这样的话,会有一个比较扎实的基础。
帮助文件中的学习次序是这样的:Using Platformbuiler with the Emalutor
Using Platformbuiler with the CEPC
Creat a Feature and Add It to a Platform
循序渐进吧
3.安装platformbuilder
platformbuilder的安装文件大概是2.8G,安装后分为WINCE420和Windows CE Platformbuilder两部分。后者是开发工具,就是我们通常
所说的IDE(integrated development environment ),前者则类似于一个WINCE系统的模板仓库,存放工程文件及cepc、bsp包等。
选择合适的空间安装。无它,顺着下来就行了。
4.关键是开发步骤。我走了很长的一段弯路,写下来以警后来人。
能够运行PB创建的CE平台的环境有三种。
第一种是真实环境,包括某一种CPU和支持的主板还有其它配置
;
第二种是模拟环境,PB包含了模拟器,能够在PC上模拟运行CE平台;
第三种是PC环境,PB可以创建能够在PC机运行的CE平台。
并且提供了一组引导文件,通过这些引导文件可以加载CE内核文件(nk.bin)并启动Windows CE。
PC环境和模拟环境相似,只适合用来学习PB。
我这里主要说的是第一种,其它的看帮助文件就好了,不会有什么问题。
怎样用platformbuilder开发??
最初的时候我犯了一个SUPER MIS,我安装好pb后,直接New 了一个platform,一番筛选后,finished the wizard,然后build platform,
顺利的生成了OS IMAGE后,就开始关心怎么样在OS IMAGE中嵌人一个Application,虽然费尽了周折,但总算实现了这个想法。
然后发现生成的OS运行后,没有发现网卡,决定学习怎样加载驱动:从via的官方网站下载了适合epia-m的驱动程序,想方设法把
dll文件加载到OS IMAGE中,但是发现无论如何努力,驱动就是无法成功运行。
这时候,我静下心来研究了一下pb的开发规范,发现正确的开发步骤是:
1>.安装platformbuilder并打好补丁。
2>.拿到开发板的同时获取与开发板匹配的bsp源码。
3>.安装via bsp for wince.net以及与开发板匹配的应用程序。(注意:如果安装了via其它版本的bsp,应该先删除再安装,删除时应保留
/WINCE420/PLATFORM/VIACEPC/Drivers目录。不正确的安装或删除会严重损坏catalog 数据库。)
4>.(重点介绍)
运行platformbuilder,
new platformbuilder--选择与所用开发板有关的 bsp,
进入功能选择菜单,
选择 Enterprise Web Pad,
在Platform Name 的空格处,键入platform的名称, Next,
在Application & Media and Networking & Communications中选择需要的功能,next,
选中Notification Acknowledged check box,
Done。
5>.build platform,注意选择debug方式。
将自己的platform build好之后,将nk.bin文件拷到目标平台上,还需要loadcepc.exe和run2.bat文件,其实run2.bat的实际作用等价于
loadcepc /v /L:800*600*8 NK.bin。
重启cepc并切换到dos下,cd到上述文件的父目录下,运行run2,五秒钟的等待之后,我的第一个wince系统出现啦。
LOADCEPC 参数
/B:指定串口的波特率。例如 /B:19200
/C:指定串口的端口。1指”COM1:”,2指”COM2:”。 例如 /C:1
/D:指定显示分辨率。0指320 x 200,1指480 x 240,等等。
/E:指定网卡IO地址和IRQ。例如/e:300:5
/L:指定显示分辨率和色深。它需要指定具体的分辨率,所以能够指定不标准的分辨率。
例如/l:768x576x8,表示分辨率为768 x 576,颜色位数为8位。
/P:指定使用并口传递数据。
/Q:指定使用串口传递数据。
/V:指定当loadcepc加载时添加状态信息。
5.在生成的平台上嵌入应用程序。
首先了解嵌入程序(包括应用程序和驱动程序)要修改的文件。
在PB中修改相应的系统配置文件。
PB所提供的配置文件包括四种文件类型:
.bib,说明需要打包进镜像文件的Windows CE文件;
.dat,文件系统、目录和文件分配表描述;
.db,Windows CE对象存储数据库的描述;
.reg,系统注册表。
在开发过程中最常用到的配置文件有:
Platform.bib、Platform.reg、Platform.dat、Config.bib。
Platform.bib定义打包到OS镜像文件时所需要的文件(files)和模块(modules);
Platform.reg定义目标平台冷启动时所加载的注册表键值;
Platform.dat定义目标平台冷启动时所加载的系统文件、目录和链接等;
Config.bib定义可用的物理地址,并进行一些属性设置。
或者修改project.bib/reg/dat也可以达到效果。
至于platform.bib和project.bib的区别,在于作用域的不同而已。platform.bib对用它所在的BSP新建的platform都有效,
而project.bib只对于当前这个platform有效。
*.bib文件中嵌入应用程序的格式及类型
格式:模块名称 路径 内存块 类型
类型:
S:系统文件
H:隐藏文件
R:只压缩模块的资源部分(默认模块是不压缩的)
C:压缩模块所有部分
D:禁止调试
N:标志模块是非信任的
P:忽略CPU类型
K:指定romimage.exe修正模块(仅用于调试或者内核跟踪)
X:指定romimage.exe对此模块验证签名
M:运行时加载整个模块,而不是按需分页
L:不分离DLL在进程地址空间和Slot 1
1>.platform中将应用程序加入到OS映象中的正确方法:
假设应用程序APP.exe,工程名pbcepc
第一步,选中platformbuilder中的build 选项卡,选择build APP.exe。
编译成功后,显示0 errors,x warnings;
第二步,激活workspace中的featureview,右击pbcepcfeatures,选择Insert User Features,浏览到APP.exe所在位置,点击确定。
(注:APP.EXE一般位于$(WkspDir)/<Application dir>/CEPC__X86Dbg/APP.exe)注意,编译时用debug,而不是release,
后者我试过多次无法成功。)
第三步,在featureview的listtree中找到APP.exe,右击选择Settings,在BIB Info选项卡中修改或确认添加的APP.EXE的属性,
重点在Attributes for Selected Files,选择Files Section ,而不是Modules Section. 这个选择相当于在project.bib文件中的
files 代码段中添加了”APP.exe” “D:/WINCE420/PUBLIC/pfcepc/<APPDIR>/CEPC_X86Debug/APP.exe” NK H
第四步,选择platformbuilder中build 选项的Make Image,生成映象后进入wince,你的APP.EXE就赫然眼前啦。
我在实际实现中,借用了一个HelloWorld程序,不过把招呼改成了“我的CE我做主”,荡气回肠啊!
网上的许多资料,都建议通过修改project.bib文件的内容来加入application,我试过很多次,编译时总是提示APP.EXE被重复装入。
很是恼火,不知道前辈们的PB是版本不同还是什么。
大家不妨使用一下我的方法,保证百发百中。
2>.在wince中开机启动自己的应用程序
创建快捷方式
新建一个文本文件APP.lnk.txt,修改内容为10#/Windows/APP.exe,完成后保存,将文件的后缀.txt去掉,即文件名为APP.lnk。
类似于将APP.exe加入OS Image中,在Insert User feature中加入APP.lnk。此时,快捷方式就已经添加到Image中。
加入快速启动
在project.dat中加入下述语句:
Directory(“/Windows/Startup”):-File(“APP.lnk”,”/Windows/APP.lnk”)
此时,Make Image后,开机就可以看到自己的程序了。
6.制作doom启动盘
假设,在windows(非CE)下识别doom盘标示符为d:
a:/
format d:
d:/
fdisk
a:/
sys d:
copy autoexec.bat,nk.bin等文件到doom盘即可使用。
将doom盘插再IDE1接口,硬盘(primary)和光驱线(secondary)插入到IDE2,启动顺序设为HDD-0优先。
7.实践应用
在wince里嵌人中文输入法。
在catalog-core os-display based devices- international-local specifical support
-font中添加宋体,GB等。
-input method editor中添加微软拼音及数据库
-input method中添加双拼
-mutilingual user interface 右击添加
在wince里嵌人msdos
catalog-core os-display based devices - shell and userface-shell-command shell中添加
8.资源列表
威盛BSP包下载:http://www.viaarena.com/default.aspx?PageID=2&Type=2
嵌入式研究网: http://www.cnemb.com/index.php?name=PNphpBB2&file=viewforum&f=44
付林林blog: http://soft.yesky.com/SoftChannel/72340168526266368/20040908/1851586.shtml
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/20939.html