Cortex-M interrupt vector in C++
Technical Note 85872
Architectures:
ARM
Component:
compiler
Updated:
11/6/2015 1:04 PM
Introduction
This Technical Note describes how to create an interrupt vector completely in C++ for use with a Cortex-M device.
Example
Download and open the example project: C++ interrupt vector project for IAR Embedded Workbench for ARM 6.21.zip.
Description
In the example project, the file called "cstartup_M_cpp.cpp" contains the interrupt vector for Cortex-M written in C++.
The main difference between this file and <installation directory>\arm\src\lib\thumb\cstartup_M.c (interrupt vector written in C), is that the interrupt handlers are written and compiled as C++ code, and that the startup functions (__iar_program_start
, __cmain
) have C linkage.
The example project is debuggable in the Simulator, but should easily be built and debugged on a specific Cortex-M3 hardware device.
All product names are trademarks or registered trademarks of their respective owners.