英创信息技术ARM9工控主板远程操作自动更新介绍

描述

  利用WinCE内核中的FTP Server程序,实现应用程序远程更新的方法,但在很多应用场合,往往是工控主板作为FTP客户端与FTP服务器交换文件,为此我们提供了FTP客户端应用程序库EM_FTPClient.LIB,客户利用这个库可以方便的编写出适合自己应用的FTP客户端应用程序,在《ARM9工控主板支持断点续传的FTP文件传送》一文中对各库函数做了详细介绍。本文介绍的更新方案就是利用EM_FTPClient.LIB,工控主板作为客户端,通过GPRS实现应用程序远程更新。客户可先看《ARM9工控主板WinCE应用程序的远程FTP自动更新》,再看本文,可对应用程序的自动更新有更清楚的了解。

  本方案的最大特点是FTP传送支持断点续传,由于GPRS网络的原因,对基于GPRS的FTP应用,断点续传功能必不可少,本文的断点续传方案大大增加了文件传送成功的机率,节省了传送时间。本方案分为两个大的步骤:一、应用程序远程下载,主要是将FTP服务器上指定目录下的文件下载到本地指定的目录中,同时生成update.flg标志文件;二、应用程序自动更新,通过绑定在内核中的update.exe程序实现。

  1、应用程序远程下载

  应用程序的下载由FTPTEST.EXE完成,程序中,先读取配置文件FtpConfig.txt,FtpConfig.txt中包含了目标FTP服务器,登录用户名、密码,远端目录等信息。读取配置文件后,紧接着GPRS拨号,GPRS连接建立成功,就依次调用EM_FTPClient.LIB中的Logon()登录到FTP服务器,ListAll()列取FTP目录下的文件, GetFile()函数进行文件下载,如果在下载过程中出错,则再次调用GetFile()函数,并将参数中的bResume设置为TRUE,进行断点续传。各函数的具体使用请参考《ARM9工控主板支持断点续传的FTP文件传送》。文件下载成功后,将生成update.flg标志文件。

  FtpConfig.txt 中的各项定义如下:

  [FTP_SERVER] // 目标FTP服务器信息

  IPAddress=‘125.69.125.193’ // FTP服务器IP

  DomainName=‘’ // FTP服务器域名

  [LOGON_INFO] // FTP用户信息

  User=‘guest’ // 登录用户名

  Pass=‘888’ // 用户密码

  RemoteDir=‘\ttt’ // FTP服务器目录

  FtpType=‘image’ // 传输文件类型 image/ascii

  [LOCAL_INFO] // 用户本地信息

  LocalDir=‘\NandFlash\FTPUpdate’ // 下载文件存储的本地目录

  ExistFile=‘jump’ // 要下载的文件已存在于当前目录:跳过或覆盖jump/cover

  MaxResumeCount=‘10’ // FTP最大重试次数

  2、应用程序自动更新

  为了避免和正在运行的应用程序冲突,文件均下载到指定的\NandFlash\FTPUpdate下,系统启动时,先检查userinfo.txt中的Update项是否等于“ON” ,如果是,则启动自动更新方案,运行update.exe来完成程序的更新工作。对于update.exe的详细说明,请参考《ARM9工控主板WinCE应用程序的远程FTP自动更新》。

  本文介绍的方法既是一个完整的应用程序更新方案,也是一个EM_FTPClient.LIB库应用的例子,感兴趣的客户可向英创索要相关代码。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分