Previous: 5.4.2. マイコンボード・書き込み方法等の指定 |
Up: 5.4. ファームウェア・設定ファイルの修正 |
Next: 5.4.4. マイコンボード毎のピン定義マクロファイルの指定 |
ベクタテーブルは、マイコンがリセットされたときや割り込みが発生した時に、どの関数を実行するのかの記載したファイルです。STM32ファームウェアでは、gcc用はアセンブリ言語で記述されたものが提供されています。STM32はライン毎に実装している機能に違いがあり、それに伴って発生する割り込み原因が異なります。そこで、チップ毎に異なったベクタテーブルを使用する必要があります。また本書の設定では、FreeRTOSをベクタテーブルを変更して動作可能にさせています。そのためFreeRTOSを使用する場合には、FreeRTOS用に設定したベクタテーブルを使用しなければいけません。
ベクタテーブルファイルはマイコンボードに応じて、本書提供パッケージのlib/Startupフォルダ内の、下記の表で示されているファイルが使用されます。makefile.inでマイコンボードを指定していれば、自動的に対象のファイルがリンクされます。makefile.inで定義したSTART_UPを、ユーザプログラム用makefile(STM32プロジェクトのルートにあるmakefile)の以下の行でリンクの対象として含めています。makefineというのは、ビルド自動化ソフトmakeの設定ファイルです。EclipseはEclipse自体にビルド機能を内蔵していますが、本書ではmakefileを別途記述する方法を使用します。
$(MAIN_OUT): $(MAIN_OBJS) $(START_UP) $(LINK_FWLIB)? |
表 5?3 FreeRTOSを使用しない場合のスタートアップファイル
マイコンボード |
メモリ容量 |
使用ファイル |
STBee Mini CQ-STARM STM32-H103 STM32-P103 |
Flash 128Kバイト RAM 20Kバイト |
startup_stm32f10x_md_nortos.s |
STBee CQ-ST103 STM3210E-EVAL |
Flash 512Kバイト RAM 64Kバイト |
startup_stm32f10x_hd_nortos.s |
表 5?4 FreeRTOSを使用する場合のスタートアップファイル
マイコンボード |
メモリ容量 |
使用ファイル |
STBee Mini CQ-STARM STM32-H103 STM32-P103 |
Flash 128Kバイト RAM 20Kバイト |
startup_stm32f10x_md_rtos.s |
STBee CQ-ST103 STM3210E-EVAL |
Flash 512Kバイト RAM 64Kバイト |
startup_stm32f10x_hd_rtos.s |
Previous: 5.4.2. マイコンボード・書き込み方法等の指定 |
Up: 5.4. ファームウェア・設定ファイルの修正 |
Next: 5.4.4. マイコンボード毎のピン定義マクロファイルの指定 |