在此程序筆記會介紹,如何使用用戶文件傳輸協(xié)議代替例程中的x-modem協(xié)議。以及該Bootloader的軟件架構(gòu)、升級過程和例程的具體使用。 1.1 在線升級過程 例程通過x-modem協(xié)議將應(yīng)用程序的bin文件通過串口傳輸至MCU。 我們將MCU的32KB的Flash具體劃分為: 7KB存儲Bootloader代碼(0x0000~0x1C00); 12KB存儲應(yīng)用程序1區(qū)代碼(0x1C00~0x4C00); 12KB存儲應(yīng)用程序2區(qū)代碼(0x4C00~0x7C00); 1KB存儲各種運行參數(shù)(0x7C00~0x8000); 用戶可以通過修改main函數(shù)中的,與地址有關(guān)的宏定義來重新劃分Flash。 MCU第一運行Bootloader時,會直接跳轉(zhuǎn)至應(yīng)用程序1區(qū),在生產(chǎn)時直接將Bootloader和應(yīng)用程序1區(qū)代碼一起燒至Flash中。 在例程中,應(yīng)用程序1區(qū)代碼以數(shù)組的形式存儲在地址0x1c00處。具體代碼詳見Bootloader例程中的usercodeapp1.c文件。
整體軟件的升級示意圖如圖 1.1所示:
0.png (136.47 KB, 下載次數(shù): 149)
下載附件
2017-8-22 16:05 上傳
更新相關(guān)參數(shù),并把參數(shù)數(shù)據(jù)重新燒寫至Flash末尾的1KB Flash區(qū)域。參數(shù)數(shù)據(jù)區(qū)示意圖如圖 1.2所示。
0.png (53.82 KB, 下載次數(shù): 150)
下載附件
2017-8-22 16:06 上傳
MCU在線升級的流程如下圖 所示。
完整的word格式文檔51黑下載地址(共8頁):
一個刷不死的Bootloader程序設(shè)計.docx
(352.66 KB, 下載次數(shù): 83)
2017-8-22 12:09 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|