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