基于自編程功能的MCU Bootloader設計
自編程操作流程如圖3所示,當單片機收到自編程執(zhí)行信號時,開始進入自編程模式。將FLMDO引腳設置成高電平,初始化入口RAM,為自編程庫函數(shù)開辟空間。當確認FLMD0為自編程狀態(tài)時,開始檢查需要編程區(qū)域是否為空白區(qū)域。當被編程區(qū)域不是空白區(qū)域時,先將其擦除,然后在此區(qū)域進行編程。編程結(jié)束后進行校驗。若校驗無誤,則將FLMDO引腳設置成低電平,退出自編程模式。
3 引導交換(boot swap)
產(chǎn)品程序的升級包括應用程序的升級和引導程序(Bootloader自身)的升級。為了防止引導程序在升級的過程中發(fā)生錯誤,從而導致MCU無法啟動,設計了引導交換功能。以圖4說明引導交換的實現(xiàn)過程。
評論