單片機系統(tǒng)在線維護系統(tǒng)的設計實現(xiàn)
系統(tǒng)軟件的開發(fā)包括兩個方面:即引導程序的開發(fā)和加載程序的開發(fā)。引導程序的開發(fā)是系統(tǒng)的基礎,主要的功能是實現(xiàn)MCU的初始化,存儲器檢查,F(xiàn)LASH可用性檢查,串行通信功能的實現(xiàn),對FLASH程序的加載以及出錯報警等,引導程序的工作流程如圖3所示。
圖3 引導程序工作流程圖
引導程序中有四個重要部分,AT89C52初始化、串行中斷服務程序以及程序加載指令的實現(xiàn),以及命令代碼的解析等。在系統(tǒng)沒有加載程序之前引導程序處在等待加載的狀態(tài),直到加載完成才可能進入正常工作模式,并且在引導程序進入正常工作模式時,也還可以通過調(diào)用程序加載模塊(子程序)進行程序的更新。
由于SST29EE010是以128字節(jié)的頁方式寫入,所以實現(xiàn)加載指令時,對SST29EE010的寫操作以128字節(jié)為分組,不足128字節(jié)的分組填充至128字節(jié)再處理。在加載程序時,主機將加載程序.BIN文件以128字節(jié)為單位分組,并為每個分組加上升級指令代碼和位置參數(shù)后通過串口發(fā)送給MCU,MCU接收數(shù)據(jù)后進行判斷,若是加載指令則將接收的數(shù)據(jù)寫入到參數(shù)指定的FLASH區(qū),并返回操作代碼;處理流程如圖4所示。
圖4 程序加載的處理流程圖
評論