開発のヒント
周辺機能、I/O、メモリ
Cortex-M0 の割り込みベクタテーブルのリマップ
STM32F0 のコアはArm Cortex®-M0 プロセッサであるため、割り込みベクタを直接リマップすることができません。これを解決するにはユーザ・アプリケーションでIAP を使用する必要があります。
IAP を使用してFlash メモリにロードするユーザ・アプリケーションは、以下の設定でビルドする必要があります。
- ツールチェイン・リンカ・ファイルのプログラムロード・アドレスを0x0800 B000 に設定します。
- Flash(アプリケーションロードアドレス0x0800B000 のベースにマッピングされている)からSRAM のベースアドレス0x20000000 にベクタ・テーブルをコピーします。
- 「HAL_SYSCFG_REMAPMEMORY_SRAM() macro」を使用して、アドレス0x00000000 のSRAM をリマップします。
- 割り込みが発生すると、再配置されたベクトルテーブルから割り込みハンドラの開始アドレスをフェッチします。
この方法についてはアプリケーション・ノート(AN4854)の3.2章をご覧ください。
過去の開発のヒントはこちら