/* ChibiOS - Copyright (C) 2006,2007,2008,2009,2010, 2011,2012,2013,2014 Giovanni Di Sirio. This file is part of ChibiOS. ChibiOS is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. ChibiOS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /** * @file ARMCMx/IAR/vectors.c * @brief Interrupt vectors for Cortex-Mx devices. * * @defgroup ARMCMx_IAR_VECTORS Cortex-Mx Interrupt Vectors * @{ */ #define _FROM_ASM_ #include "cmparams.h" #if !defined(__DOXYGEN__) #if (CORTEX_NUM_VECTORS & 7) != 0 #error "the constant CORTEX_NUM_VECTORS must be a multiple of 8" #endif #if (CORTEX_NUM_VECTORS < 8) || (CORTEX_NUM_VECTORS > 240) #error "the constant CORTEX_NUM_VECTORS must be between 8 and 240 inclusive" #endif MODULE ?vectors AAPCS INTERWORK, VFP_COMPATIBLE, RWPI_COMPATIBLE PRESERVE8 SECTION IRQSTACK:DATA:NOROOT(3) SECTION .intvec:CODE:NOROOT(3) EXTERN __iar_program_start PUBLIC __vector_table DATA __vector_table: DCD SFE(IRQSTACK) DCD __iar_program_start DCD NMI_Handler DCD HardFault_Handler DCD MemManage_Handler DCD BusFault_Handler DCD UsageFault_Handler DCD Vector1C DCD Vector20 DCD Vector24 DCD Vector28 DCD SVC_Handler DCD DebugMon_Handler DCD Vector34 DCD PendSV_Handler DCD SysTick_Handler DCD Vector40 DCD Vector44 DCD Vector48 DCD Vector4C DCD Vector50 DCD Vector54 DCD Vector58 DCD Vector5C #if CORTEX_NUM_VECTORS > 8 DCD Vector60 DCD Vector64 DCD Vector68 DCD Vector6C DCD Vector70 DCD Vector74 DCD Vector78 DCD Vector7C #endif #if CORTEX_NUM_VECTORS > 16 DCD Vector80 DCD Vector84 DCD Vector88 DCD Vector8C DCD Vector90 DCD Vector94 DCD Vector98 DCD Vector9C #endif #if CORTEX_NUM_VECTORS > 24 DCD VectorA0 DCD VectorA4 DCD VectorA8 DCD VectorAC DCD VectorB0 DCD VectorB4 DCD VectorB8 DCD VectorBC #endif #if CORTEX_NUM_VECTORS > 32 DCD VectorC0 DCD VectorC4 DCD VectorC8 DCD VectorCC DCD VectorD0 DCD VectorD4 DCD VectorD8 DCD VectorDC #endif #if CORTEX_NUM_VECTORS > 40 DCD VectorE0 DCD VectorE4 DCD VectorE8 DCD VectorEC DCD VectorF0 DCD VectorF4 DCD VectorF8 DCD VectorFC #endif #if CORTEX_NUM_VECTORS > 48 DCD Vector100 DCD Vector104 DCD Vector108 DCD Vector10C DCD Vector110 DCD Vector114 DCD Vector118 DCD Vector11C #endif #if CORTEX_NUM_VECTORS > 56 DCD Vector120 DCD Vector124 DCD Vector128 DCD Vector12C DCD Vector130 DCD Vector134 DCD Vector138 DCD Vector13C #endif #if CORTEX_NUM_VECTORS > 64 DCD Vector140 DCD Vector144 DCD Vector148 DCD Vector14C DCD Vector150 DCD Vector154 DCD Vector158 DCD Vector15C #endif #if CORTEX_NUM_VECTORS > 72 DCD Vector160 DCD Vector164 DCD Vector168 DCD Vector16C DCD Vector170 DCD Vector174 DCD Vector178 DCD Vector17C #endif #if CORTEX_NUM_VECTORS > 80 DCD Vector180 DCD Vector184 DCD Vector188 DCD Vector18C DCD Vector190 DCD Vector194 DCD Vector198 DCD Vector19C #endif #if CORTEX_NUM_VECTORS > 88 DCD Vector1A0 DCD Vector1A4 DCD Vector1A8 DCD Vector1AC DCD Vector1B0 DCD Vector1B4 DCD Vector1B8 DCD Vector1BC #endif #if CORTEX_NUM_VECTORS > 96 DCD Vector1C0 DCD Vector1C4 DCD Vector1C8 DCD Vector1CC DCD Vector1D0 DCD Vector1D4 DCD Vector1D8 DCD Vector1DC #endif #if CORTEX_NUM_VECTORS > 104 DCD Vector1E0 DCD Vector1E4 DCD Vector1E8 DCD Vector1EC DCD Vector1F0 DCD Vector1F4 DCD Vector1F8 DCD Vector1FC #endif #if CORTEX_NUM_VECTORS > 112 DCD Vector200 DCD Vector204 DCD Vector208 DCD Vector20C DCD Vector210 DCD Vector214 DCD Vector218 DCD Vector21C #endif #if CORTEX_NUM_VECTORS > 120 DCD Vector220 DCD Vector224 DCD Vector228 DCD Vector22C DCD Vector230 DCD Vector234 DCD Vector238 DCD Vector23C #endif #if CORTEX_NUM_VECTORS > 128 DCD Vector240 DCD Vector244 DCD Vector248 DCD Vector24C DCD Vector250 DCD Vector254 DCD Vector258 DCD Vector25C #endif #if CORTEX_NUM_VECTORS > 136 DCD Vector260 DCD Vector264 DCD Vector268 DCD Vector26C DCD Vector270 DCD Vector274 DCD Vector278 DCD Vector27C #endif #if CORTEX_NUM_VECTORS > 144 DCD Vector280 DCD Vector284 DCD Vector288 DCD Vector28C DCD Vector290 DCD Vector294 DCD Vector298 DCD Vector29C #endif #if CORTEX_NUM_VECTORS > 152 DCD Vector2A0 DCD Vector2A4 DCD Vector2A8 DCD Vector2AC DCD Vector2B0 DCD Vector2B4 DCD Vector2B8 DCD Vector2BC #endif #if CORTEX_NUM_VECTORS > 160 DCD Vector2C0 DCD Vector2C4 DCD Vector2C8 DCD Vector2CC DCD Vector2D0 DCD Vector2D4 DCD Vector2D8 DCD Vector2DC #endif #if CORTEX_NUM_VECTORS > 168 DCD Vector2E0 DCD Vector2E4 DCD Vector2E8 DCD Vector2EC DCD Vector2F0 DCD Vector2F4 DCD Vector2F8 DCD Vector2FC #endif #if CORTEX_NUM_VECTORS > 176 DCD Vector300 DCD Vector304 DCD Vector308 DCD Vector30C DCD Vector310 DCD Vector314 DCD Vector318 DCD Vector31C #endif #if CORTEX_NUM_VECTORS > 184 DCD Vector320 DCD Vector324 DCD Vector328 DCD Vector32C DCD Vector330 DCD Vector334 DCD Vector338 DCD Vector33C #endif #if CORTEX_NUM_VECTORS > 192 DCD Vector340 DCD Vector344 DCD Vector348 DCD Vector34C DCD Vector350 DCD Vector354 DCD Vector358 DCD Vector35C #endif #if CORTEX_NUM_VECTORS > 200 DCD Vector360 DCD Vector364 DCD Vector368 DCD Vector36C DCD Vector370 DCD Vector374 DCD Vector378 DCD Vector37C #endif #if CORTEX_NUM_VECTORS > 208 DCD Vector380 DCD Vector384 DCD Vector388 DCD Vector38C DCD Vector390 DCD Vector394 DCD Vector398 DCD Vector39C #endif #if CORTEX_NUM_VECTORS > 216 DCD Vector3A0 DCD Vector3A4 DCD Vector3A8 DCD Vector3AC DCD Vector3B0 DCD Vector3B4 DCD Vector3B8 DCD Vector3BC #endif #if CORTEX_NUM_VECTORS > 224 DCD Vector3C0 DCD Vector3C4 DCD Vector3C8 DCD Vector3CC DCD Vector3D0 DCD Vector3D4 DCD Vector3D8 DCD Vector3DC #endif #if CORTEX_NUM_VECTORS > 232 DCD Vector3E0 DCD Vector3E4 DCD Vector3E8 DCD Vector3EC DCD Vector3F0 DCD Vector3F4 DCD Vector3F8 DCD Vector3FC #endif /* * Default interrupt handlers. */ PUBWEAK NMI_Handler PUBWEAK HardFault_Handler PUBWEAK MemManage_Handler PUBWEAK BusFault_Handler PUBWEAK UsageFault_Handler PUBWEAK Vector1C PUBWEAK Vector20 PUBWEAK Vector24 PUBWEAK Vector28 PUBWEAK SVC_Handler PUBWEAK DebugMon_Handler PUBWEAK Vector34 PUBWEAK PendSV_Handler PUBWEAK SysTick_Handler PUBWEAK Vector40 PUBWEAK Vector44 PUBWEAK Vector48 PUBWEAK Vector4C PUBWEAK Vector50 PUBWEAK Vector54 PUBWEAK Vector58 PUBWEAK Vector5C #if CORTEX_NUM_VECTORS > 8 PUBWEAK Vector60 PUBWEAK Vector64 PUBWEAK Vector68 PUBWEAK Vector6C PUBWEAK Vector70 PUBWEAK Vector74 PUBWEAK Vector78 PUBWEAK Vector7C #endif #if CORTEX_NUM_VECTORS > 16 PUBWEAK Vector80 PUBWEAK Vector84 PUBWEAK Vector88 PUBWEAK Vector8C PUBWEAK Vector90 PUBWEAK Vector94 PUBWEAK Vector98 PUBWEAK Vector9C #endif #if CORTEX_NUM_VECTORS > 24 PUBWEAK VectorA0 PUBWEAK VectorA4 PUBWEAK VectorA8 PUBWEAK VectorAC PUBWEAK VectorB0 PUBWEAK VectorB4 PUBWEAK VectorB8 PUBWEAK VectorBC #endif #if CORTEX_NUM_VECTORS > 32 PUBWEAK VectorC0 PUBWEAK VectorC4 PUBWEAK VectorC8 PUBWEAK VectorCC PUBWEAK VectorD0 PUBWEAK VectorD4 PUBWEAK VectorD8 PUBWEAK VectorDC #endif #if CORTEX_NUM_VECTORS > 40 PUBWEAK VectorE0 PUBWEAK VectorE4 PUBWEAK VectorE8 PUBWEAK VectorEC PUBWEAK VectorF0 PUBWEAK VectorF4 PUBWEAK VectorF8 PUBWEAK VectorFC #endif #if CORTEX_NUM_VECTORS > 48 PUBWEAK Vector100 PUBWEAK Vector104 PUBWEAK Vector108 PUBWEAK Vector10C PUBWEAK Vector110 PUBWEAK Vector114 PUBWEAK Vector118 PUBWEAK Vector11C #endif #if CORTEX_NUM_VECTORS > 56 PUBWEAK Vector120 PUBWEAK Vector124 PUBWEAK Vector128 PUBWEAK Vector12C PUBWEAK Vector130 PUBWEAK Vector134 PUBWEAK Vector138 PUBWEAK Vector13C #endif #if CORTEX_NUM_VECTORS > 64 PUBWEAK Vector140 PUBWEAK Vector144 PUBWEAK Vector148 PUBWEAK Vector14C PUBWEAK Vector150 PUBWEAK Vector154 PUBWEAK Vector158 PUBWEAK Vector15C #endif #if CORTEX_NUM_VECTORS > 72 PUBWEAK Vector160 PUBWEAK Vector164 PUBWEAK Vector168 PUBWEAK Vector16C PUBWEAK Vector170 PUBWEAK Vector174 PUBWEAK Vector178 PUBWEAK Vector17C #endif #if CORTEX_NUM_VECTORS > 80 PUBWEAK Vector180 PUBWEAK Vector184 PUBWEAK Vector188 PUBWEAK Vector18C PUBWEAK Vector190 PUBWEAK Vector194 PUBWEAK Vector198 PUBWEAK Vector19C #endif #if CORTEX_NUM_VECTORS > 88 PUBWEAK Vector1A0 PUBWEAK Vector1A4 PUBWEAK Vector1A8 PUBWEAK Vector1AC PUBWEAK Vector1B0 PUBWEAK Vector1B4 PUBWEAK Vector1B8 PUBWEAK Vector1BC #endif #if CORTEX_NUM_VECTORS > 96 PUBWEAK Vector1C0 PUBWEAK Vector1C4 PUBWEAK Vector1C8 PUBWEAK Vector1CC PUBWEAK Vector1D0 PUBWEAK Vector1D4 PUBWEAK Vector1D8 PUBWEAK Vector1DC #endif #if CORTEX_NUM_VECTORS > 104 PUBWEAK Vector1E0 PUBWEAK Vector1E4 PUBWEAK Vector1E8 PUBWEAK Vector1EC PUBWEAK Vector1F0 PUBWEAK Vector1F4 PUBWEAK Vector1F8 PUBWEAK Vector1FC #endif #if CORTEX_NUM_VECTORS > 112 PUBWEAK Vector200 PUBWEAK Vector204 PUBWEAK Vector208 PUBWEAK Vector20C PUBWEAK Vector210 PUBWEAK Vector214 PUBWEAK Vector218 PUBWEAK Vector21C #endif #if CORTEX_NUM_VECTORS > 120 PUBWEAK Vector220 PUBWEAK Vector224 PUBWEAK Vector228 PUBWEAK Vector22C PUBWEAK Vector230 PUBWEAK Vector234 PUBWEAK Vector238 PUBWEAK Vector23C #endif #if CORTEX_NUM_VECTORS > 128 PUBWEAK Vector240 PUBWEAK Vector244 PUBWEAK Vector248 PUBWEAK Vector24C PUBWEAK Vector250 PUBWEAK Vector254 PUBWEAK Vector258 PUBWEAK Vector25C #endif #if CORTEX_NUM_VECTORS > 136 PUBWEAK Vector260 PUBWEAK Vector264 PUBWEAK Vector268 PUBWEAK Vector26C PUBWEAK Vector270 PUBWEAK Vector274 PUBWEAK Vector278 PUBWEAK Vector27C #endif #if CORTEX_NUM_VECTORS > 144 PUBWEAK Vector280 PUBWEAK Vector284 PUBWEAK Vector288 PUBWEAK Vector28C PUBWEAK Vector290 PUBWEAK Vector294 PUBWEAK Vector298 PUBWEAK Vector29C #endif #if CORTEX_NUM_VECTORS > 152 PUBWEAK Vector2A0 PUBWEAK Vector2A4 PUBWEAK Vector2A8 PUBWEAK Vector2AC PUBWEAK Vector2B0 PUBWEAK Vector2B4 PUBWEAK Vector2B8 PUBWEAK Vector2BC #endif #if CORTEX_NUM_VECTORS > 160 PUBWEAK Vector2C0 PUBWEAK Vector2C4 PUBWEAK Vector2C8 PUBWEAK Vector2CC PUBWEAK Vector2D0 PUBWEAK Vector2D4 PUBWEAK Vector2D8 PUBWEAK Vector2DC #endif #if CORTEX_NUM_VECTORS > 168 PUBWEAK Vector2E0 PUBWEAK Vector2E4 PUBWEAK Vector2E8 PUBWEAK Vector2EC PUBWEAK Vector2F0 PUBWEAK Vector2F4 PUBWEAK Vector2F8 PUBWEAK Vector2FC #endif #if CORTEX_NUM_VECTORS > 176 PUBWEAK Vector300 PUBWEAK Vector304 PUBWEAK Vector308 PUBWEAK Vector30C PUBWEAK Vector310 PUBWEAK Vector314 PUBWEAK Vector318 PUBWEAK Vector31C #endif #if CORTEX_NUM_VECTORS > 184 PUBWEAK Vector320 PUBWEAK Vector324 PUBWEAK Vector328 PUBWEAK Vector32C PUBWEAK Vector330 PUBWEAK Vector334 PUBWEAK Vector338 PUBWEAK Vector33C #endif #if CORTEX_NUM_VECTORS > 192 PUBWEAK Vector340 PUBWEAK Vector344 PUBWEAK Vector348 PUBWEAK Vector34C PUBWEAK Vector350 PUBWEAK Vector354 PUBWEAK Vector358 PUBWEAK Vector35C #endif #if CORTEX_NUM_VECTORS > 200 PUBWEAK Vector360 PUBWEAK Vector364 PUBWEAK Vector368 PUBWEAK Vector36C PUBWEAK Vector370 PUBWEAK Vector374 PUBWEAK Vector378 PUBWEAK Vector37C #endif #if CORTEX_NUM_VECTORS > 208 PUBWEAK Vector380 PUBWEAK Vector384 PUBWEAK Vector388 PUBWEAK Vector38C PUBWEAK Vector390 PUBWEAK Vector394 PUBWEAK Vector398 PUBWEAK Vector39C #endif #if CORTEX_NUM_VECTORS > 216 PUBWEAK Vector3A0 PUBWEAK Vector3A4 PUBWEAK Vector3A8 PUBWEAK Vector3AC PUBWEAK Vector3B0 PUBWEAK Vector3B4 PUBWEAK Vector3B8 PUBWEAK Vector3BC #endif #if CORTEX_NUM_VECTORS > 224 PUBWEAK Vector3C0 PUBWEAK Vector3C4 PUBWEAK Vector3C8 PUBWEAK Vector3CC PUBWEAK Vector3D0 PUBWEAK Vector3D4 PUBWEAK Vector3D8 PUBWEAK Vector3DC #endif #if CORTEX_NUM_VECTORS > 232 PUBWEAK Vector3E0 PUBWEAK Vector3E4 PUBWEAK Vector3E8 PUBWEAK Vector3EC PUBWEAK Vector3F0 PUBWEAK Vector3F4 PUBWEAK Vector3F8 PUBWEAK Vector3FC #endif PUBLIC _unhandled_exception SECTION .text:CODE:REORDER(1) THUMB NMI_Handler HardFault_Handler MemManage_Handler BusFault_Handler UsageFault_Handler Vector1C Vector20 Vector24 Vector28 SVC_Handler DebugMon_Handler Vector34 PendSV_Handler SysTick_Handler Vector40 Vector44 Vector48 Vector4C Vector50 Vector54 Vector58 Vector5C #if CORTEX_NUM_VECTORS > 8 Vector60 Vector64 Vector68 Vector6C Vector70 Vector74 Vector78 Vector7C #endif #if CORTEX_NUM_VECTORS > 16 Vector80 Vector84 Vector88 Vector8C Vector90 Vector94 Vector98 Vector9C #endif #if CORTEX_NUM_VECTORS > 24 VectorA0 VectorA4 VectorA8 VectorAC VectorB0 VectorB4 VectorB8 VectorBC #endif #if CORTEX_NUM_VECTORS > 32 VectorC0 VectorC4 VectorC8 VectorCC VectorD0 VectorD4 VectorD8 VectorDC #endif #if CORTEX_NUM_VECTORS > 40 VectorE0 VectorE4 VectorE8 VectorEC VectorF0 VectorF4 VectorF8 VectorFC #endif #if CORTEX_NUM_VECTORS > 48 Vector100 Vector104 Vector108 Vector10C Vector110 Vector114 Vector118 Vector11C #endif #if CORTEX_NUM_VECTORS > 56 Vector120 Vector124 Vector128 Vector12C Vector130 Vector134 Vector138 Vector13C #endif #if CORTEX_NUM_VECTORS > 64 Vector140 Vector144 Vector148 Vector14C Vector150 Vector154 Vector158 Vector15C #endif #if CORTEX_NUM_VECTORS > 72 Vector160 Vector164 Vector168 Vector16C Vector170 Vector174 Vector178 Vector17C #endif #if CORTEX_NUM_VECTORS > 80 Vector180 Vector184 Vector188 Vector18C Vector190 Vector194 Vector198 Vector19C #endif #if CORTEX_NUM_VECTORS > 88 Vector1A0 Vector1A4 Vector1A8 Vector1AC Vector1B0 Vector1B4 Vector1B8 Vector1BC #endif #if CORTEX_NUM_VECTORS > 96 Vector1C0 Vector1C4 Vector1C8 Vector1CC Vector1D0 Vector1D4 Vector1D8 Vector1DC #endif #if CORTEX_NUM_VECTORS > 104 Vector1E0 Vector1E4 Vector1E8 Vector1EC Vector1F0 Vector1F4 Vector1F8 Vector1FC #endif #if CORTEX_NUM_VECTORS > 112 Vector200 Vector204 Vector208 Vector20C Vector210 Vector214 Vector218 Vector21C #endif #if CORTEX_NUM_VECTORS > 120 Vector220 Vector224 Vector228 Vector22C Vector230 Vector234 Vector238 Vector23C #endif #if CORTEX_NUM_VECTORS > 128 Vector240 Vector244 Vector248 Vector24C Vector250 Vector254 Vector258 Vector25C #endif #if CORTEX_NUM_VECTORS > 136 Vector260 Vector264 Vector268 Vector26C Vector270 Vector274 Vector278 Vector27C #endif #if CORTEX_NUM_VECTORS > 144 Vector280 Vector284 Vector288 Vector28C Vector290 Vector294 Vector298 Vector29C #endif #if CORTEX_NUM_VECTORS > 152 Vector2A0 Vector2A4 Vector2A8 Vector2AC Vector2B0 Vector2B4 Vector2B8 Vector2BC #endif #if CORTEX_NUM_VECTORS > 160 Vector2C0 Vector2C4 Vector2C8 Vector2CC Vector2D0 Vector2D4 Vector2D8 Vector2DC #endif #if CORTEX_NUM_VECTORS > 168 Vector2E0 Vector2E4 Vector2E8 Vector2EC Vector2F0 Vector2F4 Vector2F8 Vector2FC #endif #if CORTEX_NUM_VECTORS > 176 Vector300 Vector304 Vector308 Vector30C Vector310 Vector314 Vector318 Vector31C #endif #if CORTEX_NUM_VECTORS > 184 Vector320 Vector324 Vector328 Vector32C Vector330 Vector334 Vector338 Vector33C #endif #if CORTEX_NUM_VECTORS > 192 Vector340 Vector344 Vector348 Vector34C Vector350 Vector354 Vector358 Vector35C #endif #if CORTEX_NUM_VECTORS > 200 Vector360 Vector364 Vector368 Vector36C Vector370 Vector374 Vector378 Vector37C #endif #if CORTEX_NUM_VECTORS > 208 Vector380 Vector384 Vector388 Vector38C Vector390 Vector394 Vector398 Vector39C #endif #if CORTEX_NUM_VECTORS > 216 Vector3A0 Vector3A4 Vector3A8 Vector3AC Vector3B0 Vector3B4 Vector3B8 Vector3BC #endif #if CORTEX_NUM_VECTORS > 224 Vector3C0 Vector3C4 Vector3C8 Vector3CC Vector3D0 Vector3D4 Vector3D8 Vector3DC #endif #if CORTEX_NUM_VECTORS > 232 Vector3E0 Vector3E4 Vector3E8 Vector3EC Vector3F0 Vector3F4 Vector3F8 Vector3FC #endif _unhandled_exception b _unhandled_exception END #endif /* !defined(__DOXYGEN__) */ /**< @} */