? 英创工控主板WinCE应用程序的FTP远程更新--技术天地

英創工控主板WinCE應用程序的FTP遠程更新

 2015/1/26    

  英創公司推出的嵌入式工控主板產品系列,均預裝了正版的WinCE5.0、WinCE6.0、WCE7操作系統。微軟的WINCE實時多任務操作系統是嵌入式領域的主流操作系統之一,它包括了以TCP/IP為特色的完整網絡通訊協議,并提供了基于TCP/IP應用協議的服務器程序,如FTP Server、Web Server等等很實用的軟件程序。英創提供的工控主板以其專業性,為客戶提供良好而專業的硬件和軟件技術支持,很好地滿足了現代智能電子設備的需求,而成為許多工業應用終端客戶選擇的合作對象。在進行應用終端產品的開發過程中,總免不了會碰到需要對產品的應用軟件進行更新升級的情況。本文主要針對這一應用介紹如何利用FTP Server在英創的工控主板實現應用程序的遠程更新。
FTP Server是WinCE內核提供的應用程序,當WinCE操作系統一啟動,該程序就會通過“Core Server Support”- “Services.exe”自動加載運行。遠端的PC機只需要運行FTP客戶端程序就可以直接連到目標機(即英創的工控主板),目前比較常用的有:CuteFTP FileZilla等。

 

  對于應用程序的更新,一般應用程序還在運行,所以無法用直接COPY來更新應用程序。在本文中我們將介紹一種實現遠程更新的方案。

 

1、程序說明

 

  該方案中需要用到更新工具程序為update.exe和reboot.exe,這兩個程序均已包含在WinCE內核中。update.exe用于復制客戶應用程序以及相關的配置文件,reboot.exe用于重啟系統。以下簡單介紹update.exe程序運行的過程。

 

  為了避免和正在運行的應用程序相沖突,需要更新的程序文件需要上傳至一個指定的目錄,我們這里選擇的是目標板的“\\NandFlash”文件夾下,建立一個子目錄\\FTPUpdate。該程序首先第一步是查詢\\FTPUpdate目錄下的是否有需要更新的文件,update.exe判斷的依據是檢查在\\FTPUpdate目錄下是否有標志文件“update.flg”,如果檢查到有該文件,則目標機進行程序文件的自動COPY更新,即將\\FTPUpdate目錄下的所有文件COPY到客戶應用所在的目錄下,如果COPY文件成功,程序將自動刪除標志文件'update.flag'。

 

2、使用說明

 

  在使用該方案進行程序更新時,前提條件是網絡配置工作正常,可以通過telnet、FTP客戶端程序訪問到目標板卡。在更新過程中需要將reboot.exe和update.exe配合來使用,具體的操作步驟如下:

 

  1、首先需要在目標板的“\\NanfFlash”文件夾下,建立一個子目錄“\\FTPUpdate”,該目錄用來存放需要更新的應用程序以及相關文件。

 

  2、在遠端的PC機上運行FTP客戶端程序,如:CuteFTP、FileZilla等,和目標板連接成功后,將需要更新的文件全部成功上傳至\\FTPUpdate目錄下,包括標志文件“update.flg”上傳\\FTPUpdate目錄下。建議在PC端也建立一個對應 \\FTPUpdate目錄,用于存放需更新的文件,包括正式啟動應用程序需要用到的userinfo.txt,以便于管理。如:
  \\FTPUpdate目錄包括以下文件:
  SerialPort.exe
  update.flg
  userinfo.txt

 

  其中userinfo.txt的內容為:
  [LOCAL_MACHINE]
  DHCP='DisableDHCP'
  DefaultGateway='192.168.201.8'
  IPAddress='192.168.201.174'
  SubnetMask='255.255.255.0'
  DNS='61.139.2.69'
  [USER_EXE]
  Name='\NandFlash\SerialPort.exe'
  Parameters=''
  [SYSTEM]
  Store='50'

 

  3、更新目標板卡\\NanfFlash目錄下的userinfo.txt,以啟動更新程序update.exe,PC機端的FTP客戶端程序上傳新的userinfo.txt到目標板卡的\\NanfFlash。在2015年之前的版本板卡,WinCE內核中沒有包括reboot.exe文件,所以對于這些老的版本需要將reboot.exe文件同時上傳到\\NanfFlash目錄下。基于這種情況,建議在PC端建立一個\\FTPUpdate_Nand目錄,包括以下文件:
  reboot.exe
  userinfo.txt

 

  其中的userinfo.txt的內容:
  [LOCAL_MACHINE]
  DHCP='DisableDHCP'
  DefaultGateway='192.168.201.8'
  IPAddress='192.168.201.174'
  SubnetMask='255.255.255.0'
  DNS='61.139.2.69'
  [USER_EXE]
  Name='\Windows\update.exe'
  Parameters=''
  [SYSTEM]
  Store='50'

 

  4、到這步為止,需要更新的文件已經準備就緒。只需重啟系統即可。方法是telnet登錄到目標板卡,運行reboot.exe即可。

 

  5、系統重啟后,會自動運行更新程序update。文件復制完成后。界面如下:

 

 

  客戶再次telnet登錄,運行reboot.exe。至此應用程序更新完畢。

 

  為了保證程序下載的安全性,建議客戶在使用時最好啟動TELNET、FTP的安全認證功能,如要求提供用戶名和密碼,關于這部分的說明請參見我們公司提供的技術文檔:WinCE工控主板的網絡安全管理