以文本方式查看主題 - 曙海教育集團(tuán)論壇 (http://www.martymets.com/bbs/index.asp) -- Wince技術(shù)討論區(qū) (http://www.martymets.com/bbs/list.asp?boardid=9) ---- ARM9嵌入式工控主板產(chǎn)品系列 (http://www.martymets.com/bbs/dispbbs.asp?boardid=9&id=1375) |
-- 作者:wangxinxin -- 發(fā)布時(shí)間:2010-11-16 11:18:27 -- ARM9嵌入式工控主板產(chǎn)品系列 英創(chuàng)公司推出的ARM9嵌入式工控主板產(chǎn)品系列,均預(yù)裝了正版的WinCE5.0操作系統(tǒng)。微軟的WINCE實(shí)時(shí)多任務(wù)操作系統(tǒng)是嵌入式領(lǐng)域的主流操作系統(tǒng)之一,它包括了以TCP/IP為特色的完整網(wǎng)絡(luò)通訊協(xié)議,并提供了基于TCP/IP應(yīng)用協(xié)議的服務(wù)器程序,如FTP Server、Web Server等等很實(shí)用的軟件程序。英創(chuàng)提供的工控主板以其專業(yè)性,為客戶提供良好而專業(yè)的硬件和軟件技術(shù)支持,很好地滿足了現(xiàn)代智能電子設(shè)備的需求,而成為許多工業(yè)應(yīng)用終端客戶選擇的合作對象。在進(jìn)行應(yīng)用終端產(chǎn)品的開發(fā)過程中,總免不了會(huì)碰到需要對產(chǎn)品的應(yīng)用軟件進(jìn)行更新升級的情況。本文主要針對這一應(yīng)用介紹如何利用FTP Server在英創(chuàng)的ARM9工控主板實(shí)現(xiàn)應(yīng)用程序的遠(yuǎn)程自動(dòng)更新。 FTP Server是WinCE內(nèi)核提供的應(yīng)用程序,當(dāng)WinCE操作系統(tǒng)一啟動(dòng),該程序就會(huì)通過“Core Server Support”- “Services.exe”自動(dòng)加載運(yùn)行。遠(yuǎn)端的PC機(jī)只需要運(yùn)行FTP客戶端程序就可以直接連到目標(biāo)機(jī)(即英創(chuàng)的ARM9工控主板),目前比較常用的有:CuteFTP FileZilla等。 對于應(yīng)用程序的更新,一般應(yīng)用程序還在運(yùn)行,所以無法用直接COPY來更新應(yīng)用程序。在本文中我們將介紹一種實(shí)現(xiàn)遠(yuǎn)程自動(dòng)更新的方案。 一、程序說明 該方案中一個(gè)核心的程序?yàn)閡pdate.exe,該程序是在客戶應(yīng)用程序啟動(dòng)之前首先啟動(dòng)的。為了避免和正在運(yùn)行的應(yīng)用程序相沖突,需要更新的程序文件需要上傳至一個(gè)指定的目錄,我們這里選擇的是目標(biāo)板的“\\\\NandFlash”文件夾下,建立一個(gè)子目錄\\\\FTPUpdate。該程序首先第一步是查詢\\\\FTPUpdate目錄下的是否有需要更新的文件,判斷的依據(jù)是檢查在\\\\FTPUpdate目錄下是否有標(biāo)志文件“update.***”,如果檢查到有該文件,則目標(biāo)機(jī)馬上進(jìn)行程序文件的自動(dòng)COPY更新,即將\\\\FTPUpdate目錄下的所有文件COPY到客戶應(yīng)用所在的目錄下,如果COPY文件成功,程序?qū)⒆詣?dòng)刪除標(biāo)志文件。第二步自動(dòng)啟動(dòng)客戶的應(yīng)用程序,應(yīng)用程序的名稱和參數(shù)同樣是從用戶編輯的userinfo.txt文件中獲取。第三步啟動(dòng)一個(gè)查詢的線程,每隔5秒自動(dòng)查詢在\\\\FTPUpdate目錄下是否有標(biāo)志文件“update.***”,如果檢測到有該文件,目標(biāo)機(jī)將自動(dòng)重啟動(dòng),然后再重復(fù)以上過程,從而達(dá)到遠(yuǎn)程自動(dòng)更新的目的。 二、應(yīng)用說明 該核心程序update.exe已經(jīng)包含在內(nèi)核中,用戶可以通過編輯userinfo.txt來選擇是否啟動(dòng)程序自動(dòng)更新方案。為了保證以前的userinfo.txt兼容,我們只是在 [USER_EXE] 中增加一個(gè)選項(xiàng)來選擇,Update=”O(jiān)N”表明啟動(dòng)程序自動(dòng)更新方案。如: [LOCAL_MACHINE] //目標(biāo)機(jī)信息 在使用該方案進(jìn)行程序更新時(shí),可以按照以下步驟進(jìn)行: 1、首先需要在目標(biāo)板的“\\\\NandFlash”文件夾下,建立一個(gè)子目錄“\\\\FTPUpdate”,該目錄用來存放需要更新的應(yīng)用程序相關(guān)文件。
|