1.此代碼基于紅牛開發板,請根據自己的板子進行修改。
2.通過修改網上的代碼實現,修改前的功能開了一個很大的緩存接收app數據,然后一次性全部數據寫入,
但是這個在實際應用中沒多大用,所以修改為一次寫入128個字節。
3.程序flash的偏移地址為0x8010000,所以app編譯前應該在mdk中設置
Option窗口->Target頁->IROM1,start 改為 0x8010000
4.設置中斷向量重映射,我用的方法是在app端的main函數起始位置添加語句
SCB->VTOR = FLASH_BASE | 0x10000;
5.啟動時如果發現沒有app,會進入bootloader模式(燈全亮),如果發現有程序就要看程序的功能了。
如果有app,但是又想重新升級的話就按住某個鍵(我這里是Tamper),然后按復位,松開復位之前不要松開
按鍵,這樣就會進入bootloader模式。
6.進入bootloader后通過串口1接收升級app數據,bin文件數據,接收完成后按User1鍵進行升級操作,完成后
復位或者按User2鍵可以運行剛寫入的app。
標簽:
stm32
iap
上傳時間:
2015-05-18
上傳用戶:llma2017