Cortex-M interrupt vector in C++

Technical Note 85872



9/11/2015 12:23 PM


This Technical Note describes how to create an interrupt vector completely in C++ for use with a Cortex-M device.


Download and open the example project: C++ interrupt vector project for IAR Embedded Workbench for ARM


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.

Related Tech Notes

© IAR Systems 1995-2020 - All rights reserved.

We use cookies on this website to provide you with a better experience. You need to accept cookies to continue using this site. Cookies