谈谈WinCE应用程序的升级

作者:ARM-WinCE

 

 

简单介绍一下WinCE下应用程序的升级,一般在WinCE启动以后,系统可能包含多个应用程序,其实升级也很简单,就是通过网络下载更新某一个应用程序,这里知识介绍一种方法可以对包括shell或其他应用程序进行升级。

 

如下图:

 

这是一个系统启动及应用升级的状态图,简单介绍一下:

Hardware Boot: 上电后,硬件初始化,一般运行一个bootloaderEboot或者什么,然后加载WinCE内核。

OS Bootup: WinCE内核被拷贝到RAM中运行。

Application Bootloader: WinCE运行以后,自动运行一个小程序,可以称它为Application Bootloader,该应用程序对系统硬件进行基本的初始化和检测,比如初始化声音和显示,检测以太网连接等。然后调用CreateProcess来启动主应用程序,比如shell.exe或者其他的UI应用程序。然后等待消息,等待什么消息呢?等待主应用程序启动后发出的运行正常的消息,该窗口消息应该是一个广播,这样Application Bootloader就知道调用CreateProcess启动的进程已经运行正常了,否则将通过网络发送出错信息或者在LCD上面显示错误信息等。

Application这个就是我们的主应用程序了,一般可能是基于UI的。主应用程序会接收来自网络的Update Command命令,然后进行应用配置或者应用程序的升级。

Application Configuration Update: 这个是指关于应用程序的配置信息,应用程序启动以后,会读取配置文件中的配置信息,比如是不是要全屏显示,显示的图片,图片是否可触摸,图片屏幕上的位置等。这个根据需要,可能你的应用程序根本不需要这个,那么你就忽略它。

Configuration Update: 升级命令为配置信息的升级,那么下载并更新配置文件,主应用程序会重新读取配置文件中的信息,然后重新运行。

Application Update: 如果主应用程序接收到的命令是升级应用程序,那么检测是否升级主应用程序。如果不是,那么直接下载并更新本地应用程序即可。如果是要升级主应用程序,那么首先将主应用程序备份,然后下载最新的主应用程序,并进行CRC校验。下载成功后,发送消息给Application Bootloader表示要运行最新的。Application Bootloader会调用TerminateProcess函数终止当前主应用程序的运行并予以删除,重命名最新的,然后调用CreateProcess来启动更新后的主应用程序。

 

基本把原理说完了,只是介绍了一种方法,通过一个Application Bootloader来完成应用程序的升级工作。

 

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值