C++のCortex-M割り込みベクタ
テクニカル・ノート 85872
アーキテクチャ:
ARM
コンポーネント:
compiler
更新日:
2018/08/25 15:06
はじめに
本テクニカルノートでは、Cortex-Mデバイス用の割り込みベクタをC++だけで作成する方法について説明します。
例
次のサンプルプロジェクトをダウンロードして開きます: C++ interrupt vector project for IAR Embedded Workbench for ARM 6.21.zip.
説明
このサンプルプロジェクトでは、cstartup_M_cpp.cppというファイルに、C++で記述されたCortex-M用の割り込みベクタが格納されています。
このファイルが<インストールディレクトリ>\arm\src\lib\thumb\cstartup_M.c (Cで記述された割り込みベクタ)と大きく異なるのは、割り込みハンドラがC++のコードとして記述/コンパイルされており、起動関数(__iar_program_start, __cmain)がCリンケージを持っている点です。
このサンプルプロジェクトはシミュレータでデバッグすることが可能ですが、各Cortex-M3ハードウェア上で簡単にビルドしてデバッグできるはずです。
全ての製品名は、それぞれの所有者の商標または登録商標です。