生活随笔
收集整理的這篇文章主要介紹了
IAP流程
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、啟動(dòng)流程
1.1 STM32啟動(dòng)流程
1.2 STM32中加入IAP程序的啟動(dòng)流程
2、功能說(shuō)明
boot主要功能是啟動(dòng)引導(dǎo)加載程序
| app | 將接收到的bin文件存儲(chǔ)在download區(qū) |
| download | 是存儲(chǔ)上位機(jī)發(fā)來(lái)的bin文件 |
| factory | 備份出廠代碼 |
3、流程圖
3.1 boot上電流程
1. Bootloader 啟動(dòng)時(shí)檢查是否觸發(fā)固件恢復(fù)引腳。
如果觸發(fā)固件恢復(fù)引腳有效電平持續(xù)超過(guò)10s則運(yùn)行出場(chǎng)固件。如果兩個(gè)固件版本相同,則跳轉(zhuǎn)到
app 分區(qū),Bootloader 運(yùn)行結(jié)束。如果未觸發(fā)固件恢復(fù)引腳,則檢查 download 分區(qū)和 app 分區(qū)中的固件版本。如果兩個(gè)固件版本相同,則跳轉(zhuǎn)到 app 分區(qū),Bootloader 運(yùn)行結(jié)束。固件版本不同則將 download 分區(qū)中的固件搬運(yùn)到 app 分區(qū)。在搬運(yùn)的過(guò)程中 Bootloader 可以對(duì)固件進(jìn)行校驗(yàn)操作。搬運(yùn)結(jié)束后,重啟系統(tǒng)跳轉(zhuǎn)到 app 分區(qū)中的固件運(yùn)行,Bootloader 運(yùn)行結(jié)束。
固件恢復(fù):
當(dāng)系統(tǒng)中的固件損壞,Bootloader 將直接運(yùn)行 factory 分區(qū)的代碼(factory分區(qū)是系統(tǒng)為了防止固件
損壞而寫(xiě)入的備份代碼,相當(dāng)于app_v1.0代碼)。
3.2 APP上電流程
1. APP啟動(dòng)時(shí)檢查是否觸發(fā)固件升級(jí)引腳。
如果觸發(fā)固件升級(jí)引腳有效電平持續(xù)超過(guò)10s則進(jìn)入升級(jí)流程。如果未觸發(fā)固件升級(jí)引腳則運(yùn)行主程序。進(jìn)入升級(jí)流程,當(dāng)檢測(cè)到串口接收緩存有數(shù)據(jù),解析接收到的上位機(jī)的數(shù)據(jù)。根據(jù)圖4流程圖進(jìn)行數(shù)據(jù)處理
總結(jié)
以上是生活随笔為你收集整理的IAP流程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。