STM32F4 IAP學習筆記

2021-08-27 05:48:12 字數 1936 閱讀 7575

這裡預設是未定義vect_tab_sram,因此需要設定scb->vtor的值,如下:

scb->vtor = flash_base | vect_tab_offset;
其中vect_tab_offset = 0x10000,即偏移量,根據實際情況設定。為了方便修改,以及不改動系統檔案,將其放在main函式最開始處即可,但是最好直接在system_stmf***.c中修改#define vect_tab_offset 0x0 。

由於在程式更新時,用.bin檔案更加方便,設定如下圖:

利用keil自帶的格式化工具,在畫橫線的選項處填入相應的fromelf.exe目錄,後面設定一樣即可

d:\keil_v5\arm\armcc\bin\fromelf.exe --bin -o "[email protected]"

"#l"

uint32_t jumpaddress;

typedef

void

(*pfunction)

(void);

if(((

*(__io uint32_t*

&0x2ffe0000)==

0x20000000

)//@1

if((

(*(vu32*)4

))&0xff000000)==

0x08000000

)//判斷是否為0x08******.

else

if((

(*(vu32*)(

0x20001000+4

))&0xff000000)==

0x20000000

)//判斷是否為0x20******.

else

首先分析正點原子的**

if((

(*(vu32*)4

))&0xff000000)==

0x08000000

)//判斷是否為0x08******.

if((

(*(__io uint32_t*

&0x2ffe0000)==

0x20000000

)

STM32F4串列埠IAP學習筆記

圖1.1 stm32記憶體位址對映 通過設定boot1和boot0的電平就可以設定stm32啟動時從哪個位置開始啟動,通常預設從flash啟動。當沒有iap時,程式從0x0800000處啟動,然後進入0x08000004處的復位中斷,並跳轉到0x08000004 n處的復位中斷程式,在復位中斷程式執...

STM32F030 IAP公升級研究

an4657 stm32cube iap using uart stm32串列埠iap實驗 戰艦stm32開發板實驗 stm32串列埠iap實驗 戰艦stm32開發板實驗 mdk stm32啟動檔案的詳細分析 main,map詳細分析 keil sct分散載入檔案及其應用 平台 stm32f030f...

STM32 iap移植筆記

對於大多數基於 flash 的系統而言,在最終產品中安裝之後,能夠對韌體進行更新,這一點非常重要。這一功能被稱為在應用中程式設計 iap stm32f4xx 微控制器能夠執行使用者指定的韌體,從而執行微處理器內建 flash 的 iap。借助這一特性,在重新程式設計過程中可以使用任意型別的通訊協議。...