一:簡介
stm32遠程升級說白了講就是兩段程序寫入兩段內存中,內存分配可以分為IPA區 APP區 升級存儲區,具體怎么分配,要結合實際程序大小。
二:IPA區,APP區,升級存儲區
IPA區:程序運行首先運行的就是這段程序,它主要實現的功能就是判斷程序是否要升級。
1.升級:去讀升級存儲區(下載好了),然后寫入APP區,最后跳轉APP區。
2.不升級:直接跳轉APP區運行APP程序。
APP區:
APP區實現的就是設備的功能了,這里只介紹有關升級的部分。
有升級需求后,我們需要把要升級的BIN文件上傳到平台,然后通過平台下發到要升級的設備(可以多台設備),設備接收后,把程序存儲到升級存儲區,復位,程序從IPA開始運行,從而實現升級。
升級存儲區:存儲升級的bin程序 ,大小分配根據實際要升級的程序大小分配。
下面貼上我分配的內存
IPA區
APP區
程序升級區
二:操作流程及編程思路
1.上傳需要升級程序的bin文件到平台
2.平台下發升級包,設備接收后,把程序存儲到備份區
3.復位重啟,程序會從IPA區開始運行,讀取升級標志位,判斷是否要升級
4.讀取備份區程序,然后寫到app區,全部寫完,跳轉到app區,升級完成。