低壓電力載波抄表終端遠程升級系統開(kāi)發(fā)
3 LPC2214的IAP功能及FLASH Boot裝載程序
LPC2214的FLASH存儲器系統包含256 KBFLASH器件的17個(gè)扇區。FLASH存儲器從地址0開(kāi)始并向上增加。Boot裝載程序控制復位后的初始化操作,并提供實(shí)現FLASH編程的方法。Boot裝載器可啟動(dòng)對空片的編程、已編程器件的擦除和再編程以及在運行系統中由應用程序對FLASH存儲器進(jìn)行編程。
對于IAP來(lái)說(shuō),應當通過(guò)寄存器r0中的字指針指向存儲器(RAM)包含的命令代碼和參數,以調用IAP程序。IAP的命令結果返回到寄存器r1所指向的返回表。用戶(hù)可通過(guò)傳遞寄存器r0和r1中的相同指針重用命令表來(lái)得到結果。參數表應當大到足夠保存所有的結果,以防結果的數目大于參數的數目。參數和結果的數目根據IAP命令而有所不同。參數的最大數目為5,由“將RAM內容復制到FLASH”命令傳遞;結果的最大數目為2,由“扇區查空”命令返回。命令處理程序在接收到一個(gè)未定義的命令時(shí)發(fā)送狀態(tài)代碼IN-VALID_COMMAND。IAP程序是thumb代碼,位于地址0x7FFFFFF0。
本文引用地址:http://dyxdggzs.com/article/152286.htm
4 遠程升級軟件設計
首先,系統對SIM300模塊進(jìn)行初始化,然后連接遠程升級服務(wù)器,接著(zhù)通過(guò)POP3協(xié)議登錄郵件服務(wù)器,并下載新程序,主ARM將下載的程序進(jìn)行Base 64解碼,最后通過(guò)IAP將解碼后的程序寫(xiě)到ARM的FLASH中,以完成遠程升級的目的。詳細流程圖如圖2所示。由于遠程升級需要低壓電力載波抄表終端抄表主程序的配合,因此這里給出了遠程升級相關(guān)的部分。在IAP寫(xiě)FLASH的過(guò)程中,需要注意FLASH存儲器在寫(xiě)或擦除操作過(guò)程中不可被訪(fǎng)問(wèn)。執行FLASH寫(xiě)/擦除操作的IAP命令使用片內RAM頂端的32個(gè)字節空間。用戶(hù)程序不應使用該空間。IAP擦除FLASH的部分源碼如下:
5 結 語(yǔ)
針對各電力相關(guān)企業(yè)和公司需要大量的工程人員現場(chǎng)維護低壓電力載波抄表終端的問(wèn)題,提出基于POP3的遠程升級系統,該系統可以通過(guò)GPRS連接到遠程的升級服務(wù)器,下載最新的程序,并對齊進(jìn)行Base64解碼,最后利用IAP將其寫(xiě)于低壓電力載波抄表終端中.實(shí)現低壓電力載波抄表終端遠程升級功能。該系統解決了工程人員必須現場(chǎng)維護的問(wèn)題,為企業(yè)和公司節省了人力、物力資源,并提高了效率。
評論