單片機系統在線維護系統的設計實現
系統軟件的開發包括兩個方面:即引導程序的開發和加載程序的開發。引導程序的開發是系統的基礎,主要的功能是實現MCU的初始化,存儲器檢查,FLASH可用性檢查,串行通信功能的實現,對FLASH程序的加載以及出錯報警等,引導程序的工作流程如圖3所示。

圖3 引導程序工作流程圖
引導程序中有四個重要部分,AT89C52初始化、串行中斷服務程序以及程序加載指令的實現,以及命令代碼的解析等。在系統沒有加載程序之前引導程序處在等待加載的狀態,直到加載完成才可能進入正常工作模式,并且在引導程序進入正常工作模式時,也還可以通過調用程序加載模塊(子程序)進行程序的更新。
由于SST29EE010是以128字節的頁方式寫入,所以實現加載指令時,對SST29EE010的寫操作以128字節為分組,不足128字節的分組填充至128字節再處理。在加載程序時,主機將加載程序.BIN文件以128字節為單位分組,并為每個分組加上升級指令代碼和位置參數后通過串口發送給MCU,MCU接收數據后進行判斷,若是加載指令則將接收的數據寫入到參數指定的FLASH區,并返回操作代碼;處理流程如圖4所示。

圖4 程序加載的處理流程圖
評論