以文本方式查看主题 - 曙海教育集团论坛 (http://sun4.cn/bbs/index.asp) -- Wince技术讨论区 (http://sun4.cn/bbs/list.asp?boardid=9) ---- ARM9嵌入式工控主板产品系列 (http://sun4.cn/bbs/dispbbs.asp?boardid=9&id=1375) |
-- 作者:wangxinxin -- 发布时间:2010-11-16 11:18:27 -- ARM9嵌入式工控主板产品系列 英创公司推出的ARM9嵌入式工控主板产品系列,均预装了正版的WinCE5.0操作系统。微软的WINCE实时多任务操作系统是嵌入式领域的主流操作系统之一,它包括了以TCP/IP为特色的完整网络通讯协议,并提供了基于TCP/IP应用协议的服务器程序,如FTP Server、Web Server等等很实用的软件程序。英创提供的工控主板以其专业性,为客户提供良好而专业的硬件和软件技术支持,很好地满足了现代智能电子设备的需求,而成为许多工业应用终端客户选择的合作对象。在进行应用终端产品的开发过程中,总免不了会碰到需要对产品的应用软件进行更新升级的情况。本文主要针对这一应用介绍如何利用FTP Server在英创的ARM9工控主板实现应用程序的远程自动更新。 FTP Server是WinCE内核提供的应用程序,当WinCE操作系统一启动,该程序就会通过“Core Server Support”- “Services.exe”自动加载运行。远端的PC机只需要运行FTP客户端程序就可以直接连到目标机(即英创的ARM9工控主板),目前比较常用的有:CuteFTP FileZilla等。 对于应用程序的更新,一般应用程序还在运行,所以无法用直接COPY来更新应用程序。在本文中我们将介绍一种实现远程自动更新的方案。 一、程序说明 该方案中一个核心的程序为update.exe,该程序是在客户应用程序启动之前首先启动的。为了避免和正在运行的应用程序相冲突,需要更新的程序文件需要上传至一个指定的目录,我们这里选择的是目标板的“\\\\NandFlash”文件夹下,建立一个子目录\\\\FTPUpdate。该程序首先第一步是查询\\\\FTPUpdate目录下的是否有需要更新的文件,判断的依据是检查在\\\\FTPUpdate目录下是否有标志文件“update.***”,如果检查到有该文件,则目标机马上进行程序文件的自动COPY更新,即将\\\\FTPUpdate目录下的所有文件COPY到客户应用所在的目录下,如果COPY文件成功,程序将自动删除标志文件。第二步自动启动客户的应用程序,应用程序的名称和参数同样是从用户编辑的userinfo.txt文件中获取。第三步启动一个查询的线程,每隔5秒自动查询在\\\\FTPUpdate目录下是否有标志文件“update.***”,如果检测到有该文件,目标机将自动重启动,然后再重复以上过程,从而达到远程自动更新的目的。 二、应用说明 该核心程序update.exe已经包含在内核中,用户可以通过编辑userinfo.txt来选择是否启动程序自动更新方案。为了保证以前的userinfo.txt兼容,我们只是在 [USER_EXE] 中增加一个选项来选择,Update=”ON”表明启动程序自动更新方案。如: [LOCAL_MACHINE] //目标机信息 在使用该方案进行程序更新时,可以按照以下步骤进行: 1、首先需要在目标板的“\\\\NandFlash”文件夹下,建立一个子目录“\\\\FTPUpdate”,该目录用来存放需要更新的应用程序相关文件。
|