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ハードウェア上で簡単にビルドしてデバッグできるはずです。


全ての製品名は、それぞれの所有者の商標または登録商標です。

申し訳ございませんが、弊社サイトではInternet Explorerをサポートしていません。サイトをより快適にご利用いただくために、Chrome、Edge、Firefoxなどの最新ブラウザをお使いいただきますようお願いいたします。