5.4.5.1. ベクタテーブルのアドレス設定

マイコン入門spacer ad
トップページに戻る(マイコン徹底入門:STM32で始めるARM/Cortex-M3組み込み開発)
「マイコン徹底入門」とは? |  「マイコン徹底入門」を読む |  ダウンロード |  掲示板 |  筆者の自己紹介


Previous: 5.4.5. 書き込み方法に応じた修正

Up: 5.4.5. 書き込み方法に応じた修正

Next: 5.4.5.2. リンカスクリプトの指定


マイコン徹底入門:導入編:オープンソースでCortex-M3/STM32の開発環境を無償構築: 5. ワークスペースの構築: 5.4. ファームウェア・設定ファイルの修正: 5.4.5. 書き込み方法に応じた修正:

5.4.5.1. ベクタテーブルのアドレス設定

 JTAGインターフェースやUARTで書き込む場合、ユーザプログラムのベクタテーブルの開始番地がROMの先頭番地(0x0800 0000番地)になります。DFUで書き込む場合、ユーザプログラムのベクタテーブルの開始番地がDFUファームウェアの後ろになります。本書のマイコンボードのDFUファームウェアの場合は0x0800 3000番地です。

 makefile.inで書き込み方法を設定した場合には、対応する番地が自動的に指定されます。コンパイルオプションである-Dを使用しています。

 本書の環境で実際に指定をしているのは、platform_config.hの下記の行です。コメントアウトするかどうかで、VECTOR_OFFSETマクロに、該当する開始番地オフセットが定義されます。各ユーザプログラムは、プログラム実行開始時に、NVIC_SetVectorTable関数を実行してベクタベーブルのアドレスを設定しています。

//#define USE_DFU


Previous: 5.4.5. 書き込み方法に応じた修正

Up: 5.4.5. 書き込み方法に応じた修正

Next: 5.4.5.2. リンカスクリプトの指定


このページはITと知的財産の法律情報「法務ネット」の管理人が制作・運営しています。