任务:
用C#语言开发连连看小游戏,下载到试验箱运行,实现开机自启动
一、运行环境
1、 硬件平台:博创UPNETARM2410-S
2、 开发环境:wince5.0
3、 开发工具:vs2005
二、步骤
1、用vs2005进行应用程序开发:
启动vs2005,新建项目,项目类型选择:智能设备àwince5.0,在模板里选择:“设备应用程序”,根据情况修改项目名称和路径,然后进行应用程序开发,生成可执行文件GreedySnake.exe。
2、pb5.0新建工程生成新的操作系统映象:
A、启动Plat form5.0,File->new Platform,弹出“New Platform Wizard-Step 1”,选择下一步输入工程名字,选择保存路径,按next按钮继续
在这里要选择“UT2410X:ARMV4I”,按next
选择Mobile Handheld,按next
选上Standard SDK for Windows CE,按next
之后直接选择下一步下一步,最好点击finish完成新平台的建立
B、添加各类特征:
值得注意的一点是:要在Catalog视图里选择.NET Compact Framework2.0添加,不要选择1.0的,因为我最开始创建的时候选择的是1.0,导致应用程序在目标平台上无法加载成功,出现错误:GreedySnake.exe应用程序需要比当前设备安装的.NET Compact Framework更高的版本。
添加其他功能……
设置相关属性,如语言……
C、编译:点击菜单Build OS-Sysgen,开始编译系统,这个过程有十几分钟,编译完成之后生成NK.bin映象文件
D、导出SDK并且安装
Platform->SDK->new SDK,导出后进行安装,Platform->SDK->build SDK
4、 设置应用程序为开机shell(这种方法是让应用程序直接替换掉了操作系统桌面)
A、将应用程序GreedySnake.exe复制到映象文件目录下D:/PBWorkspaces/…/UT2410X_ARMV4I_Release
B、在pb中修改platform.bib文件:
在FILES区域添加:GreedySnake.exe $(_FLATRELEASEDIR)/ GreedySnake.exe NK H
$(_FLATRELEASEDIR)/表示映象文件目录,H表示隐藏文件
C、修改注册表文件shell.reg:
在命令行输入:notepad shell.reg,打开之后修改
[HKEY_LOCAL_MACHINE/init]
"Launch50"="explorer.exe"
"Depend50"=hex:14,00, 1e,00
其中把explorer.exe替换为GreedySnake.exe,也就是将GreedySnake.exe作为开机自启动的对象
5、重新编译:
编译之前要选择clean before buiding,然后选sysgen,编译完了之后会出现几个错误,其中一个错误提示在映像文件目录下找不到GreedySnake.exe,因为编译之前,原来在D:/PBWorkspaces/…/UT2410X_ARMV4I_Release下的文件都被clean了,这时把GreedySnake.exe重新复制到此目录下,然后重新修改shell.feg,最后make run-time image,重新生成系统映象
这里有一个问题:为什么要重新编译,而不是直接make run-tine image?我尝试过直接make run-tine image,但是发现GreedySnake.exe没有被包含进NK.bin里面。
6、将新映象下载到目标板UPNETARM2410-S
A、 连接好网线,设置IP地址
打开超级终端和目标板电源,在超级终端里进行相关设置:
当超级终端出现Initiating image launch in 15 seconds:时按空格键进入eboot设置
B、1、5、6、7、9相关功能:
1) IP地址及子网地址设定,IP要求同一网段地址与PC相同
5) 第一次下载选择DOWNLOAD NEW方式,成功后选择LAUNCH EXIST方式
6) 若不选择ENABLED将不会被写入FLASH中,断电后会丢失
7) 修改MAC地址:不要与主机发生冲突
9) 最好在下载新内核镜像是先格式化FLASH,否则会在下载新内核后出现一些错误
C、这些功能都配置好以后,按下D,进入等待界面,这时在pb5.0里面进行相关配置:
点击target->Connectivity Options……进入配置界面,在Download和Transport里面选择Ethernet,再点击右边的Setting,配置好以后点击target->Attach Device进行下载
下载完毕后目标板上就能自动启动游戏了
D、程序自启动后按实验平台的复位键重启,并且对eboot重新配置:
5)改为LAUNCH EXIST方式
6)改为DISABLE
W)保存
按L进入系统
用红色字体显示的是我遇到的一些问题,希望各位朋友能解答
看看效果: