stm32 利用iap更新程式

2021-08-21 13:28:11 字數 648 閱讀 7311

//在官方軟體庫的 core_cm3.h 檔案裡 直接提供了 系統復位的函式
void softreset(void)

方式一:stm32 ram足夠大的情況下使用ram來快取新的程式 一般程式的bin檔案大小只有幾十k

第一步自定義乙個協議

例:

第二步 接收到進入boot程式命令即呼叫softreset軟體復位(復位後預設先啟動boot程式)

第四步 上位機傳送結束後會傳送乙個結束命令加校驗碼,boot程式校驗後返回結果,如果正確則將程式覆蓋到內部flash指定區域。

第五步 複製到flash指定區域並讀出校驗後(如果ram不足 可以唯讀最後1k資料進行比對),跳轉到新程式的開始位址。

int main(void)

{scb->vtor = flash_base | 0x3c00;//15k´¦//程式開始的地方

STM32實現IAP程式公升級

1.寫在前面 對於stm32來說,晶元出廠時已經預置了一段bootloader,但是啟動bootloader需要設定微控制器的boot引腳 boot1 0,boot0 1,並復位後才能進入系統bootloader。boot引腳的設定可通過硬體來實現自動設定和復位,從而利用系統bootloader實現...

STM32的IAP韌體公升級

an2606 system memory boot mode an3155 usart for bootloader 指令集詳解 an2557 iap using usart 將0x08000000開始的main memory空間劃分為兩部分,其中低位址空間用於儲存iap driver,剩餘空間用於...

IAP公升級日記(STM32晶元)

就是我們的使用者區程式 以我使用的stm32f030cct6為例,其有256kb的flash記憶體空間,m0的核心,其記憶體對映圖如下 從圖中可以看出 該mcu的主flash位址是從0x08000000處開始,又因該款mcu的flash大小為256kb,所以該款mcu的位址區間為0x08000000...