Iap

STM32 IAP(ブートローダー)



Stm32 Iap



STM32のシリアルポートアップグレード機能を実行し、STM32プログラムの実行手順を調べたいと思います。

1.STM32プログラムダウンロード開始アドレス0x08000000、0x00000004このアドレスは割り込みアドレスです



2.ブートローダープログラムを自分で設計してから、アプリケーションを設計します。

3.ダウンロードプログラムスペースをstm32ブートローダーに割り当てます。1mフラッシュのSTM32F407ZGT6を使用します



(1)ブートローダー:0x0800 0000〜0x0800 4000サイズ:0x4000(16K)

(2)アプリケーション1:0x0800 4000〜0x0808 0000



(3)アプリケーション2:0x0808 0000〜0x0810 0000:基本的に1Mflashを除算

4.ブートローダープログラムを設計する

上記はブートローダープログラムですが、アプリケーションとの違いはフラッシュプログラミングの開始アドレスの違いです。ブートローダーの主な機能は、プログラムをジャンプさせることです

5.注目すべき場所

(1)注:ブートローダー機能はプログラムの開始位置に追加されるため、プログラムの割り込みポインタもオフセットする必要があります。

NVIC_SetVectorTable(NVIC_VectTab_FLASH、APP1_ADDRESS)//このコードをアプリケーションに挿入します。割り込みがない場合は、割り込み例外が発生します。

(2)注:SystemInit()/ /この関数は、プログラムが実行を開始するたびに1回実行されます。この関数は、割り込みベクタテーブル位置のデフォルトオフセットになるため、この関数Offsetの後に再構成します。