导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→ARM9工控主板WinCE应用程序的远程FTP自动更新 --

* 61820: ARM9工控主板WinCE应用程序的远程FTP自动更新 -- 成都英创信息技术有限公司

   emtronix 
emtronix发表的帖子 

 ARM9工控主板WinCE应用程序的远程FTP自动更新 --  成都英创信息技术有限公司
文章来源:
 英创公司推出的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.flg”,如果检查到有该文件,则目标机马上进行程序文件的自动COPY更新,即将\\FTPUpdate目录下的所有文件COPY到客户应用所在的目录下,如果COPY文件成功,程序将自动删除标志文件。第二步自动启动客户的应用程序,应用程序的名称和参数同样是从用户编辑的userinfo.txt文件中获取。第三步启动一个查询的线程,每隔5秒自动查询在\\FTPUpdate目录下是否有标志文件“update.flg”,如果检测到有该文件,目标机将自动重启动,然后再重复以上过程,从而达到远程自动更新的目的。

二、应用说明

      该核心程序update.exe已经包含在内核中,用户可以通过编辑userinfo.txt来选择是否启动程序自动更新方案。为了保证以前的userinfo.txt兼容,我们只是在 [USER_EXE] 中增加一个选项来选择,Update=”ON”表明启动程序自动更新方案。如:

            [LOCAL_MACHINE]                          //目标机信息
            DefaultGateway='192.168.201.8'   //默认网关,根据所在的实际运行网络来设置。该网关
                                                                   //地址与dbginfo.txt中的设置不一定相同
            IPAddress='192.168.201.205'        //目标机IP地址,由用户自行设置。该IP地址与
                                                                   //dbginfo.txt中的设置不一定相同
            SubnetMask='255.255.255.0'         //子网掩码,根据所在的实际运行网络填写,该子网
                                                                   //掩码与dbginfo.txt中的设置不一定相同
            [USER_EXE]                                     //用户程序信息
            Name='serialtest.exe'                      //系统开机自动执行的程序,默认为serialtest.exe。
                                                                    //实际开发完成以后用户将自己的应用程序文件名填
                                                                     //在双引号之间取代目前的默认文件名,开机即可
                                                                    //自动运行(注)
            Parameters='COM1 9600'                //系统开机自动执行的程序的参数配置。此处为
                                                                    //serialtest.exe的参数:测试COM1,波特率
                                                                    //为9600。开发完成以后在此处填入实际应用
                                                                    //程序的参数,如果没有则不填,但必须保留双引号
            Update=”ON”                               //系统开机会自动检测该项参数,如果为“ON”
                                                                    //(大小写区分的,必须为大写字母),则表明启动
                                                                    //程序自动更新;如果无该选择项,或者参数为其他,
                                                                    //则均不启动。

      在使用该方案进行程序更新时,可以按照以下步骤进行:

      1、首先需要在目标板的“\\NandFlash”文件夹下,建立一个子目录“\\FTPUpdate”,该目录用来存放需要更新的应用程序相关文件。
      2、在远端的PC机上运行FTP客户端程序,如:CuteFTP、FileZilla等,和目标板连接成功后,将需要更新的文件全部成功上传至\\FTPUpdate目录下,最后再将标志文件“update.flg”上传\\FTPUpdate目录下。为了保证程序下载的安全性,建议客户在使用时最好启动FTP的安全认证功能,如要求提供用户名和密码,关于这部分的说明请参见我们公司提供的技术文档“WinCE工控主板的网络安全管理”。

三、补充说明

      由于update.exe程序本身不涉及到文件的下载操作,它只是有一个自动更新的程序,主要特点就是要求首先将需要更新的文件下载到指定的目录下,然后在下载一个指定文件名的标志文件到该目录,update.exe程序就可以根据该特征自动进行程序的更新了。

      以上介绍的是目标机作为FTP Server来实现的更新文件上传,同样的如果目标板作为FTP客户端也可以利用此方案,用户可以将FTP客户端程序嵌套在应用程序中,直接从远端的FTP 服务器获取相应的更新文件到指定的目录下,再自动生成相应的标志文件,update.exe程序的操作方式还是一样的。

      为了保证程序更新COPY的可靠性,需要注意的是一定要保证给磁盘“\\NandFlash”留有足够的剩余空间,此剩余空间的大小起码不少于需要更新的文件容量大小。


成都英创信息技术有限公司
地址:成都市高新区高朋大道5号博士创业园
邮编:610041 
客服电话:86-28-86180660 85140028 85145208
传真:86-28-85141028 
公司网址:
技术支持邮箱:support@emtronix.com

 ]

发表时间:2009年3月26日11:40:01

  
回复该帖

本主题共有 1 帖,分页:>>>>>该主题的所有内容[1]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:DOS工控主板的TCP/IP应用 -- 成都英创信息技术有限公司文章来源&nbs
[下一篇帖子]:嵌入式主板EM9360串口使用注意事项 -- 成都[原创]文章来源:http:/