單片機系統(tǒng)在線維護系統(tǒng)的設(shè)計實現(xiàn)
在系統(tǒng)設(shè)計與程序設(shè)計過程中需要注意以下幾點:
(1)對FLASH芯片進行讀/寫操作時,將其當(dāng)作擴展的外部存儲器(用MOVX @DPTR,A指令);執(zhí)行程序時,將其作為擴展的程序存儲器。
(2)在寫數(shù)據(jù)之前要打開SST29EE010的保護鎖,寫操作完成后要將SST29EE010的保護鎖關(guān)閉,關(guān)鎖之前要有一定的延時(通過需要10ms)。
(3)為了保證整個系統(tǒng)的可用行,需要對加載程序進行可用行檢測機制,最簡單的方法就是為所要加載的.BIN文件增加3字節(jié)的內(nèi)容,在文件前面增加2字節(jié)的.BIN文件長度指示,并在加載程序之后增加1字節(jié)的程序校驗值(如異或值),寫入FLASH中的內(nèi)容如圖5所示。
圖5加載程序的格式與內(nèi)容
(4)為了進一步提高系統(tǒng)的安全性,需要進行相關(guān)的身份認(rèn)證獲取加載的權(quán)限如口令驗證,否則不予開放加載功能。
(5)還應(yīng)該添加一些版本控制和校驗功能,進行版本控制,只有在AT89C52與待加載的程序具有相同的版本時才能進行程序加載。
(6)因為加載的程序起始地址從8000H開始,又有2字節(jié)的長度指示,所以在加載程序之前增加“ORG 8002H”偽指令。
6 結(jié)束語
以單片機為基礎(chǔ)的需求越來越多,也就帶來了更多的維護問題。通過上層應(yīng)用程序維護通常比直接進行單片機底層程序的維護要方便得多!本文基于實現(xiàn)單片機系統(tǒng)在線維護的思想,介紹了一種通過PC機串行接口維護單片機系統(tǒng)的方法,從而為版本管理、程序的動態(tài)維護以及程序存儲器的擴展都提供了十分便利的手段。
評論