From f063c4d19339144df89d6bc060ee2017b0572c5c Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sat, 20 Jan 2018 11:44:14 +0000 Subject: Mass update of the Apache 2.0 license statement. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11361 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/common/startup/ARMCMx/compilers/GCC/vectors.S | 1552 +++++++++++----------- 1 file changed, 776 insertions(+), 776 deletions(-) (limited to 'os/common/startup/ARMCMx/compilers/GCC/vectors.S') diff --git a/os/common/startup/ARMCMx/compilers/GCC/vectors.S b/os/common/startup/ARMCMx/compilers/GCC/vectors.S index 8702c5348..5fc019b6c 100644 --- a/os/common/startup/ARMCMx/compilers/GCC/vectors.S +++ b/os/common/startup/ARMCMx/compilers/GCC/vectors.S @@ -1,776 +1,776 @@ -/* - ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -/** - * @file ARMCMx/GCC/vectors.S - * @brief Interrupt vectors for Cortex-Mx devices. - * - * @defgroup ARMCMx_GCC_VECTORS Cortex-Mx Interrupt Vectors - * @{ - */ - -#define _FROM_ASM_ -#include "cmparams.h" - -#if (CORTEX_NUM_VECTORS % 8) != 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 constants. */ -/*===========================================================================*/ - -/*===========================================================================*/ -/* Module pre-compile time settings. */ -/*===========================================================================*/ - -/*===========================================================================*/ -/* Code section. */ -/*===========================================================================*/ - -#if !defined(__DOXYGEN__) - - .syntax unified - .cpu cortex-m0 - .thumb - - .section .vectors, "ax" - .align 4 - .globl _vectors -_vectors: - .long __main_stack_end__ - .long Reset_Handler - .long NMI_Handler - .long HardFault_Handler - .long MemManage_Handler - .long BusFault_Handler - .long UsageFault_Handler - .long Vector1C - .long Vector20 - .long Vector24 - .long Vector28 - .long SVC_Handler - .long DebugMon_Handler - .long Vector34 - .long PendSV_Handler - .long SysTick_Handler - .long Vector40, Vector44, Vector48, Vector4C -#if CORTEX_NUM_VECTORS > 4 - .long Vector50, Vector54, Vector58, Vector5C -#endif -#if CORTEX_NUM_VECTORS > 8 - .long Vector60, Vector64, Vector68, Vector6C -#endif -#if CORTEX_NUM_VECTORS > 12 - .long Vector70, Vector74, Vector78, Vector7C -#endif -#if CORTEX_NUM_VECTORS > 16 - .long Vector80, Vector84, Vector88, Vector8C -#endif -#if CORTEX_NUM_VECTORS > 20 - .long Vector90, Vector94, Vector98, Vector9C -#endif -#if CORTEX_NUM_VECTORS > 24 - .long VectorA0, VectorA4, VectorA8, VectorAC -#endif -#if CORTEX_NUM_VECTORS > 28 - .long VectorB0, VectorB4, VectorB8, VectorBC -#endif -#if CORTEX_NUM_VECTORS > 32 - .long VectorC0, VectorC4, VectorC8, VectorCC -#endif -#if CORTEX_NUM_VECTORS > 36 - .long VectorD0, VectorD4, VectorD8, VectorDC -#endif -#if CORTEX_NUM_VECTORS > 40 - .long VectorE0, VectorE4, VectorE8, VectorEC -#endif -#if CORTEX_NUM_VECTORS > 44 - .long VectorF0, VectorF4, VectorF8, VectorFC -#endif -#if CORTEX_NUM_VECTORS > 48 - .long Vector100, Vector104, Vector108, Vector10C -#endif -#if CORTEX_NUM_VECTORS > 52 - .long Vector110, Vector114, Vector118, Vector11C -#endif -#if CORTEX_NUM_VECTORS > 56 - .long Vector120, Vector124, Vector128, Vector12C -#endif -#if CORTEX_NUM_VECTORS > 60 - .long Vector130, Vector134, Vector138, Vector13C -#endif -#if CORTEX_NUM_VECTORS > 64 - .long Vector140, Vector144, Vector148, Vector14C -#endif -#if CORTEX_NUM_VECTORS > 68 - .long Vector150, Vector154, Vector158, Vector15C -#endif -#if CORTEX_NUM_VECTORS > 72 - .long Vector160, Vector164, Vector168, Vector16C -#endif -#if CORTEX_NUM_VECTORS > 76 - .long Vector170, Vector174, Vector178, Vector17C -#endif -#if CORTEX_NUM_VECTORS > 80 - .long Vector180, Vector184, Vector188, Vector18C -#endif -#if CORTEX_NUM_VECTORS > 84 - .long Vector190, Vector194, Vector198, Vector19C -#endif -#if CORTEX_NUM_VECTORS > 88 - .long Vector1A0, Vector1A4, Vector1A8, Vector1AC -#endif -#if CORTEX_NUM_VECTORS > 92 - .long Vector1B0, Vector1B4, Vector1B8, Vector1BC -#endif -#if CORTEX_NUM_VECTORS > 96 - .long Vector1C0, Vector1C4, Vector1C8, Vector1CC -#endif -#if CORTEX_NUM_VECTORS > 100 - .long Vector1D0, Vector1D4, Vector1D8, Vector1DC -#endif -#if CORTEX_NUM_VECTORS > 104 - .long Vector1E0, Vector1E4, Vector1E8, Vector1EC -#endif -#if CORTEX_NUM_VECTORS > 108 - .long Vector1F0, Vector1F4, Vector1F8, Vector1FC -#endif -#if CORTEX_NUM_VECTORS > 112 - .long Vector200, Vector204, Vector208, Vector20C -#endif -#if CORTEX_NUM_VECTORS > 116 - .long Vector210, Vector214, Vector218, Vector21C -#endif -#if CORTEX_NUM_VECTORS > 120 - .long Vector220, Vector224, Vector228, Vector22C -#endif -#if CORTEX_NUM_VECTORS > 124 - .long Vector230, Vector234, Vector238, Vector23C -#endif -#if CORTEX_NUM_VECTORS > 128 - .long Vector240, Vector244, Vector248, Vector24C -#endif -#if CORTEX_NUM_VECTORS > 132 - .long Vector250, Vector254, Vector258, Vector25C -#endif -#if CORTEX_NUM_VECTORS > 136 - .long Vector260, Vector264, Vector268, Vector26C -#endif -#if CORTEX_NUM_VECTORS > 140 - .long Vector270, Vector274, Vector278, Vector27C -#endif -#if CORTEX_NUM_VECTORS > 144 - .long Vector280, Vector284, Vector288, Vector28C -#endif -#if CORTEX_NUM_VECTORS > 148 - .long Vector290, Vector294, Vector298, Vector29C -#endif -#if CORTEX_NUM_VECTORS > 152 - .long Vector2A0, Vector2A4, Vector2A8, Vector2AC -#endif -#if CORTEX_NUM_VECTORS > 156 - .long Vector2B0, Vector2B4, Vector2B8, Vector2BC -#endif -#if CORTEX_NUM_VECTORS > 160 - .long Vector2C0, Vector2C4, Vector2C8, Vector2CC -#endif -#if CORTEX_NUM_VECTORS > 164 - .long Vector2D0, Vector2D4, Vector2D8, Vector2DC -#endif -#if CORTEX_NUM_VECTORS > 168 - .long Vector2E0, Vector2E4, Vector2E8, Vector2EC -#endif -#if CORTEX_NUM_VECTORS > 172 - .long Vector2F0, Vector2F4, Vector2F8, Vector2FC -#endif -#if CORTEX_NUM_VECTORS > 176 - .long Vector300, Vector304, Vector308, Vector30C -#endif -#if CORTEX_NUM_VECTORS > 180 - .long Vector310, Vector314, Vector318, Vector31C -#endif -#if CORTEX_NUM_VECTORS > 184 - .long Vector320, Vector324, Vector328, Vector32C -#endif -#if CORTEX_NUM_VECTORS > 188 - .long Vector330, Vector334, Vector338, Vector33C -#endif -#if CORTEX_NUM_VECTORS > 192 - .long Vector340, Vector344, Vector348, Vector34C -#endif -#if CORTEX_NUM_VECTORS > 196 - .long Vector350, Vector354, Vector358, Vector35C -#endif -#if CORTEX_NUM_VECTORS > 200 - .long Vector360, Vector364, Vector368, Vector36C -#endif -#if CORTEX_NUM_VECTORS > 204 - .long Vector370, Vector374, Vector378, Vector37C -#endif -#if CORTEX_NUM_VECTORS > 208 - .long Vector380, Vector384, Vector388, Vector38C -#endif -#if CORTEX_NUM_VECTORS > 212 - .long Vector390, Vector394, Vector398, Vector39C -#endif -#if CORTEX_NUM_VECTORS > 216 - .long Vector3A0, Vector3A4, Vector3A8, Vector3AC -#endif -#if CORTEX_NUM_VECTORS > 220 - .long Vector3B0, Vector3B4, Vector3B8, Vector3BC -#endif -#if CORTEX_NUM_VECTORS > 224 - .long Vector3C0, Vector3C4, Vector3C8, Vector3CC -#endif -#if CORTEX_NUM_VECTORS > 228 - .long Vector3D0, Vector3D4, Vector3D8, Vector3DC -#endif -#if CORTEX_NUM_VECTORS > 232 - .long Vector3E0, Vector3E4, Vector3E8, Vector3EC -#endif -#if CORTEX_NUM_VECTORS > 236 - .long Vector3F0, Vector3F4, Vector3F8, Vector3FC -#endif - - .text - - .align 2 - .thumb_func - .weak Reset_Handler -Reset_Handler: - b _crt0_entry - - .thumb_func - .weak NMI_Handler, - .weak HardFault_Handler - .weak MemManage_Handler - .weak BusFault_Handler - .weak UsageFault_Handler - .weak Vector1C - .weak Vector20 - .weak Vector24 - .weak Vector28 - .weak SVC_Handler - .weak DebugMon_Handler - .weak Vector34 - .weak PendSV_Handler - .weak SysTick_Handler - .weak Vector40, Vector44, Vector48, Vector4C -#if CORTEX_NUM_VECTORS > 4 - .weak Vector50, Vector54, Vector58, Vector5C -#endif -#if CORTEX_NUM_VECTORS > 8 - .weak Vector60, Vector64, Vector68, Vector6C -#endif -#if CORTEX_NUM_VECTORS > 12 - .weak Vector70, Vector74, Vector78, Vector7C -#endif -#if CORTEX_NUM_VECTORS > 16 - .weak Vector80, Vector84, Vector88, Vector8C -#endif -#if CORTEX_NUM_VECTORS > 20 - .weak Vector90, Vector94, Vector98, Vector9C -#endif -#if CORTEX_NUM_VECTORS > 24 - .weak VectorA0, VectorA4, VectorA8, VectorAC -#endif -#if CORTEX_NUM_VECTORS > 28 - .weak VectorB0, VectorB4, VectorB8, VectorBC -#endif -#if CORTEX_NUM_VECTORS > 32 - .weak VectorC0, VectorC4, VectorC8, VectorCC -#endif -#if CORTEX_NUM_VECTORS > 36 - .weak VectorD0, VectorD4, VectorD8, VectorDC -#endif -#if CORTEX_NUM_VECTORS > 40 - .weak VectorE0, VectorE4, VectorE8, VectorEC -#endif -#if CORTEX_NUM_VECTORS > 44 - .weak VectorF0, VectorF4, VectorF8, VectorFC -#endif -#if CORTEX_NUM_VECTORS > 48 - .weak Vector100, Vector104, Vector108, Vector10C -#endif -#if CORTEX_NUM_VECTORS > 52 - .weak Vector110, Vector114, Vector118, Vector11C -#endif -#if CORTEX_NUM_VECTORS > 56 - .weak Vector120, Vector124, Vector128, Vector12C -#endif -#if CORTEX_NUM_VECTORS > 60 - .weak Vector130, Vector134, Vector138, Vector13C -#endif -#if CORTEX_NUM_VECTORS > 64 - .weak Vector140, Vector144, Vector148, Vector14C -#endif -#if CORTEX_NUM_VECTORS > 68 - .weak Vector150, Vector154, Vector158, Vector15C -#endif -#if CORTEX_NUM_VECTORS > 72 - .weak Vector160, Vector164, Vector168, Vector16C -#endif -#if CORTEX_NUM_VECTORS > 76 - .weak Vector170, Vector174, Vector178, Vector17C -#endif -#if CORTEX_NUM_VECTORS > 80 - .weak Vector180, Vector184, Vector188, Vector18C -#endif -#if CORTEX_NUM_VECTORS > 84 - .weak Vector190, Vector194, Vector198, Vector19C -#endif -#if CORTEX_NUM_VECTORS > 88 - .weak Vector1A0, Vector1A4, Vector1A8, Vector1AC -#endif -#if CORTEX_NUM_VECTORS > 92 - .weak Vector1B0, Vector1B4, Vector1B8, Vector1BC -#endif -#if CORTEX_NUM_VECTORS > 96 - .weak Vector1C0, Vector1C4, Vector1C8, Vector1CC -#endif -#if CORTEX_NUM_VECTORS > 100 - .weak Vector1D0, Vector1D4, Vector1D8, Vector1DC -#endif -#if CORTEX_NUM_VECTORS > 104 - .weak Vector1E0, Vector1E4, Vector1E8, Vector1EC -#endif -#if CORTEX_NUM_VECTORS > 108 - .weak Vector1F0, Vector1F4, Vector1F8, Vector1FC -#endif -#if CORTEX_NUM_VECTORS > 112 - .weak Vector200, Vector204, Vector208, Vector20C -#endif -#if CORTEX_NUM_VECTORS > 116 - .weak Vector210, Vector214, Vector218, Vector21C -#endif -#if CORTEX_NUM_VECTORS > 120 - .weak Vector220, Vector224, Vector228, Vector22C -#endif -#if CORTEX_NUM_VECTORS > 124 - .weak Vector230, Vector234, Vector238, Vector23C -#endif -#if CORTEX_NUM_VECTORS > 128 - .weak Vector240, Vector244, Vector248, Vector24C -#endif -#if CORTEX_NUM_VECTORS > 132 - .weak Vector250, Vector254, Vector258, Vector25C -#endif -#if CORTEX_NUM_VECTORS > 136 - .weak Vector260, Vector264, Vector268, Vector26C -#endif -#if CORTEX_NUM_VECTORS > 140 - .weak Vector270, Vector274, Vector278, Vector27C -#endif -#if CORTEX_NUM_VECTORS > 144 - .weak Vector280, Vector284, Vector288, Vector28C -#endif -#if CORTEX_NUM_VECTORS > 148 - .weak Vector290, Vector294, Vector298, Vector29C -#endif -#if CORTEX_NUM_VECTORS > 152 - .weak Vector2A0, Vector2A4, Vector2A8, Vector2AC -#endif -#if CORTEX_NUM_VECTORS > 156 - .weak Vector2B0, Vector2B4, Vector2B8, Vector2BC -#endif -#if CORTEX_NUM_VECTORS > 160 - .weak Vector2C0, Vector2C4, Vector2C8, Vector2CC -#endif -#if CORTEX_NUM_VECTORS > 164 - .weak Vector2D0, Vector2D4, Vector2D8, Vector2DC -#endif -#if CORTEX_NUM_VECTORS > 168 - .weak Vector2E0, Vector2E4, Vector2E8, Vector2EC -#endif -#if CORTEX_NUM_VECTORS > 172 - .weak Vector2F0, Vector2F4, Vector2F8, Vector2FC -#endif -#if CORTEX_NUM_VECTORS > 176 - .weak Vector300, Vector304, Vector308, Vector30C -#endif -#if CORTEX_NUM_VECTORS > 180 - .weak Vector310, Vector314, Vector318, Vector31C -#endif -#if CORTEX_NUM_VECTORS > 184 - .weak Vector320, Vector324, Vector328, Vector32C -#endif -#if CORTEX_NUM_VECTORS > 188 - .weak Vector330, Vector334, Vector338, Vector33C -#endif -#if CORTEX_NUM_VECTORS > 192 - .weak Vector340, Vector344, Vector348, Vector34C -#endif -#if CORTEX_NUM_VECTORS > 196 - .weak Vector350, Vector354, Vector358, Vector35C -#endif -#if CORTEX_NUM_VECTORS > 200 - .weak Vector360, Vector364, Vector368, Vector36C -#endif -#if CORTEX_NUM_VECTORS > 204 - .weak Vector370, Vector374, Vector378, Vector37C -#endif -#if CORTEX_NUM_VECTORS > 208 - .weak Vector380, Vector384, Vector388, Vector38C -#endif -#if CORTEX_NUM_VECTORS > 212 - .weak Vector390, Vector394, Vector398, Vector39C -#endif -#if CORTEX_NUM_VECTORS > 216 - .weak Vector3A0, Vector3A4, Vector3A8, Vector3AC -#endif -#if CORTEX_NUM_VECTORS > 220 - .weak Vector3B0, Vector3B4, Vector3B8, Vector3BC -#endif -#if CORTEX_NUM_VECTORS > 224 - .weak Vector3C0, Vector3C4, Vector3C8, Vector3CC -#endif -#if CORTEX_NUM_VECTORS > 228 - .weak Vector3D0, Vector3D4, Vector3D8, Vector3DC -#endif -#if CORTEX_NUM_VECTORS > 232 - .weak Vector3E0, Vector3E4, Vector3E8, Vector3EC -#endif -#if CORTEX_NUM_VECTORS > 236 - .weak Vector3F0, Vector3F4, Vector3F8, Vector3FC -#endif - -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 - b _unhandled_exception - - .thumb_func - .weak _unhandled_exception -_unhandled_exception: - b _unhandled_exception - -#endif /* !defined(__DOXYGEN__) */ - -/** @} */ +/* + ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +/** + * @file ARMCMx/GCC/vectors.S + * @brief Interrupt vectors for Cortex-Mx devices. + * + * @defgroup ARMCMx_GCC_VECTORS Cortex-Mx Interrupt Vectors + * @{ + */ + +#define _FROM_ASM_ +#include "cmparams.h" + +#if (CORTEX_NUM_VECTORS % 8) != 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 constants. */ +/*===========================================================================*/ + +/*===========================================================================*/ +/* Module pre-compile time settings. */ +/*===========================================================================*/ + +/*===========================================================================*/ +/* Code section. */ +/*===========================================================================*/ + +#if !defined(__DOXYGEN__) + + .syntax unified + .cpu cortex-m0 + .thumb + + .section .vectors, "ax" + .align 4 + .globl _vectors +_vectors: + .long __main_stack_end__ + .long Reset_Handler + .long NMI_Handler + .long HardFault_Handler + .long MemManage_Handler + .long BusFault_Handler + .long UsageFault_Handler + .long Vector1C + .long Vector20 + .long Vector24 + .long Vector28 + .long SVC_Handler + .long DebugMon_Handler + .long Vector34 + .long PendSV_Handler + .long SysTick_Handler + .long Vector40, Vector44, Vector48, Vector4C +#if CORTEX_NUM_VECTORS > 4 + .long Vector50, Vector54, Vector58, Vector5C +#endif +#if CORTEX_NUM_VECTORS > 8 + .long Vector60, Vector64, Vector68, Vector6C +#endif +#if CORTEX_NUM_VECTORS > 12 + .long Vector70, Vector74, Vector78, Vector7C +#endif +#if CORTEX_NUM_VECTORS > 16 + .long Vector80, Vector84, Vector88, Vector8C +#endif +#if CORTEX_NUM_VECTORS > 20 + .long Vector90, Vector94, Vector98, Vector9C +#endif +#if CORTEX_NUM_VECTORS > 24 + .long VectorA0, VectorA4, VectorA8, VectorAC +#endif +#if CORTEX_NUM_VECTORS > 28 + .long VectorB0, VectorB4, VectorB8, VectorBC +#endif +#if CORTEX_NUM_VECTORS > 32 + .long VectorC0, VectorC4, VectorC8, VectorCC +#endif +#if CORTEX_NUM_VECTORS > 36 + .long VectorD0, VectorD4, VectorD8, VectorDC +#endif +#if CORTEX_NUM_VECTORS > 40 + .long VectorE0, VectorE4, VectorE8, VectorEC +#endif +#if CORTEX_NUM_VECTORS > 44 + .long VectorF0, VectorF4, VectorF8, VectorFC +#endif +#if CORTEX_NUM_VECTORS > 48 + .long Vector100, Vector104, Vector108, Vector10C +#endif +#if CORTEX_NUM_VECTORS > 52 + .long Vector110, Vector114, Vector118, Vector11C +#endif +#if CORTEX_NUM_VECTORS > 56 + .long Vector120, Vector124, Vector128, Vector12C +#endif +#if CORTEX_NUM_VECTORS > 60 + .long Vector130, Vector134, Vector138, Vector13C +#endif +#if CORTEX_NUM_VECTORS > 64 + .long Vector140, Vector144, Vector148, Vector14C +#endif +#if CORTEX_NUM_VECTORS > 68 + .long Vector150, Vector154, Vector158, Vector15C +#endif +#if CORTEX_NUM_VECTORS > 72 + .long Vector160, Vector164, Vector168, Vector16C +#endif +#if CORTEX_NUM_VECTORS > 76 + .long Vector170, Vector174, Vector178, Vector17C +#endif +#if CORTEX_NUM_VECTORS > 80 + .long Vector180, Vector184, Vector188, Vector18C +#endif +#if CORTEX_NUM_VECTORS > 84 + .long Vector190, Vector194, Vector198, Vector19C +#endif +#if CORTEX_NUM_VECTORS > 88 + .long Vector1A0, Vector1A4, Vector1A8, Vector1AC +#endif +#if CORTEX_NUM_VECTORS > 92 + .long Vector1B0, Vector1B4, Vector1B8, Vector1BC +#endif +#if CORTEX_NUM_VECTORS > 96 + .long Vector1C0, Vector1C4, Vector1C8, Vector1CC +#endif +#if CORTEX_NUM_VECTORS > 100 + .long Vector1D0, Vector1D4, Vector1D8, Vector1DC +#endif +#if CORTEX_NUM_VECTORS > 104 + .long Vector1E0, Vector1E4, Vector1E8, Vector1EC +#endif +#if CORTEX_NUM_VECTORS > 108 + .long Vector1F0, Vector1F4, Vector1F8, Vector1FC +#endif +#if CORTEX_NUM_VECTORS > 112 + .long Vector200, Vector204, Vector208, Vector20C +#endif +#if CORTEX_NUM_VECTORS > 116 + .long Vector210, Vector214, Vector218, Vector21C +#endif +#if CORTEX_NUM_VECTORS > 120 + .long Vector220, Vector224, Vector228, Vector22C +#endif +#if CORTEX_NUM_VECTORS > 124 + .long Vector230, Vector234, Vector238, Vector23C +#endif +#if CORTEX_NUM_VECTORS > 128 + .long Vector240, Vector244, Vector248, Vector24C +#endif +#if CORTEX_NUM_VECTORS > 132 + .long Vector250, Vector254, Vector258, Vector25C +#endif +#if CORTEX_NUM_VECTORS > 136 + .long Vector260, Vector264, Vector268, Vector26C +#endif +#if CORTEX_NUM_VECTORS > 140 + .long Vector270, Vector274, Vector278, Vector27C +#endif +#if CORTEX_NUM_VECTORS > 144 + .long Vector280, Vector284, Vector288, Vector28C +#endif +#if CORTEX_NUM_VECTORS > 148 + .long Vector290, Vector294, Vector298, Vector29C +#endif +#if CORTEX_NUM_VECTORS > 152 + .long Vector2A0, Vector2A4, Vector2A8, Vector2AC +#endif +#if CORTEX_NUM_VECTORS > 156 + .long Vector2B0, Vector2B4, Vector2B8, Vector2BC +#endif +#if CORTEX_NUM_VECTORS > 160 + .long Vector2C0, Vector2C4, Vector2C8, Vector2CC +#endif +#if CORTEX_NUM_VECTORS > 164 + .long Vector2D0, Vector2D4, Vector2D8, Vector2DC +#endif +#if CORTEX_NUM_VECTORS > 168 + .long Vector2E0, Vector2E4, Vector2E8, Vector2EC +#endif +#if CORTEX_NUM_VECTORS > 172 + .long Vector2F0, Vector2F4, Vector2F8, Vector2FC +#endif +#if CORTEX_NUM_VECTORS > 176 + .long Vector300, Vector304, Vector308, Vector30C +#endif +#if CORTEX_NUM_VECTORS > 180 + .long Vector310, Vector314, Vector318, Vector31C +#endif +#if CORTEX_NUM_VECTORS > 184 + .long Vector320, Vector324, Vector328, Vector32C +#endif +#if CORTEX_NUM_VECTORS > 188 + .long Vector330, Vector334, Vector338, Vector33C +#endif +#if CORTEX_NUM_VECTORS > 192 + .long Vector340, Vector344, Vector348, Vector34C +#endif +#if CORTEX_NUM_VECTORS > 196 + .long Vector350, Vector354, Vector358, Vector35C +#endif +#if CORTEX_NUM_VECTORS > 200 + .long Vector360, Vector364, Vector368, Vector36C +#endif +#if CORTEX_NUM_VECTORS > 204 + .long Vector370, Vector374, Vector378, Vector37C +#endif +#if CORTEX_NUM_VECTORS > 208 + .long Vector380, Vector384, Vector388, Vector38C +#endif +#if CORTEX_NUM_VECTORS > 212 + .long Vector390, Vector394, Vector398, Vector39C +#endif +#if CORTEX_NUM_VECTORS > 216 + .long Vector3A0, Vector3A4, Vector3A8, Vector3AC +#endif +#if CORTEX_NUM_VECTORS > 220 + .long Vector3B0, Vector3B4, Vector3B8, Vector3BC +#endif +#if CORTEX_NUM_VECTORS > 224 + .long Vector3C0, Vector3C4, Vector3C8, Vector3CC +#endif +#if CORTEX_NUM_VECTORS > 228 + .long Vector3D0, Vector3D4, Vector3D8, Vector3DC +#endif +#if CORTEX_NUM_VECTORS > 232 + .long Vector3E0, Vector3E4, Vector3E8, Vector3EC +#endif +#if CORTEX_NUM_VECTORS > 236 + .long Vector3F0, Vector3F4, Vector3F8, Vector3FC +#endif + + .text + + .align 2 + .thumb_func + .weak Reset_Handler +Reset_Handler: + b _crt0_entry + + .thumb_func + .weak NMI_Handler, + .weak HardFault_Handler + .weak MemManage_Handler + .weak BusFault_Handler + .weak UsageFault_Handler + .weak Vector1C + .weak Vector20 + .weak Vector24 + .weak Vector28 + .weak SVC_Handler + .weak DebugMon_Handler + .weak Vector34 + .weak PendSV_Handler + .weak SysTick_Handler + .weak Vector40, Vector44, Vector48, Vector4C +#if CORTEX_NUM_VECTORS > 4 + .weak Vector50, Vector54, Vector58, Vector5C +#endif +#if CORTEX_NUM_VECTORS > 8 + .weak Vector60, Vector64, Vector68, Vector6C +#endif +#if CORTEX_NUM_VECTORS > 12 + .weak Vector70, Vector74, Vector78, Vector7C +#endif +#if CORTEX_NUM_VECTORS > 16 + .weak Vector80, Vector84, Vector88, Vector8C +#endif +#if CORTEX_NUM_VECTORS > 20 + .weak Vector90, Vector94, Vector98, Vector9C +#endif +#if CORTEX_NUM_VECTORS > 24 + .weak VectorA0, VectorA4, VectorA8, VectorAC +#endif +#if CORTEX_NUM_VECTORS > 28 + .weak VectorB0, VectorB4, VectorB8, VectorBC +#endif +#if CORTEX_NUM_VECTORS > 32 + .weak VectorC0, VectorC4, VectorC8, VectorCC +#endif +#if CORTEX_NUM_VECTORS > 36 + .weak VectorD0, VectorD4, VectorD8, VectorDC +#endif +#if CORTEX_NUM_VECTORS > 40 + .weak VectorE0, VectorE4, VectorE8, VectorEC +#endif +#if CORTEX_NUM_VECTORS > 44 + .weak VectorF0, VectorF4, VectorF8, VectorFC +#endif +#if CORTEX_NUM_VECTORS > 48 + .weak Vector100, Vector104, Vector108, Vector10C +#endif +#if CORTEX_NUM_VECTORS > 52 + .weak Vector110, Vector114, Vector118, Vector11C +#endif +#if CORTEX_NUM_VECTORS > 56 + .weak Vector120, Vector124, Vector128, Vector12C +#endif +#if CORTEX_NUM_VECTORS > 60 + .weak Vector130, Vector134, Vector138, Vector13C +#endif +#if CORTEX_NUM_VECTORS > 64 + .weak Vector140, Vector144, Vector148, Vector14C +#endif +#if CORTEX_NUM_VECTORS > 68 + .weak Vector150, Vector154, Vector158, Vector15C +#endif +#if CORTEX_NUM_VECTORS > 72 + .weak Vector160, Vector164, Vector168, Vector16C +#endif +#if CORTEX_NUM_VECTORS > 76 + .weak Vector170, Vector174, Vector178, Vector17C +#endif +#if CORTEX_NUM_VECTORS > 80 + .weak Vector180, Vector184, Vector188, Vector18C +#endif +#if CORTEX_NUM_VECTORS > 84 + .weak Vector190, Vector194, Vector198, Vector19C +#endif +#if CORTEX_NUM_VECTORS > 88 + .weak Vector1A0, Vector1A4, Vector1A8, Vector1AC +#endif +#if CORTEX_NUM_VECTORS > 92 + .weak Vector1B0, Vector1B4, Vector1B8, Vector1BC +#endif +#if CORTEX_NUM_VECTORS > 96 + .weak Vector1C0, Vector1C4, Vector1C8, Vector1CC +#endif +#if CORTEX_NUM_VECTORS > 100 + .weak Vector1D0, Vector1D4, Vector1D8, Vector1DC +#endif +#if CORTEX_NUM_VECTORS > 104 + .weak Vector1E0, Vector1E4, Vector1E8, Vector1EC +#endif +#if CORTEX_NUM_VECTORS > 108 + .weak Vector1F0, Vector1F4, Vector1F8, Vector1FC +#endif +#if CORTEX_NUM_VECTORS > 112 + .weak Vector200, Vector204, Vector208, Vector20C +#endif +#if CORTEX_NUM_VECTORS > 116 + .weak Vector210, Vector214, Vector218, Vector21C +#endif +#if CORTEX_NUM_VECTORS > 120 + .weak Vector220, Vector224, Vector228, Vector22C +#endif +#if CORTEX_NUM_VECTORS > 124 + .weak Vector230, Vector234, Vector238, Vector23C +#endif +#if CORTEX_NUM_VECTORS > 128 + .weak Vector240, Vector244, Vector248, Vector24C +#endif +#if CORTEX_NUM_VECTORS > 132 + .weak Vector250, Vector254, Vector258, Vector25C +#endif +#if CORTEX_NUM_VECTORS > 136 + .weak Vector260, Vector264, Vector268, Vector26C +#endif +#if CORTEX_NUM_VECTORS > 140 + .weak Vector270, Vector274, Vector278, Vector27C +#endif +#if CORTEX_NUM_VECTORS > 144 + .weak Vector280, Vector284, Vector288, Vector28C +#endif +#if CORTEX_NUM_VECTORS > 148 + .weak Vector290, Vector294, Vector298, Vector29C +#endif +#if CORTEX_NUM_VECTORS > 152 + .weak Vector2A0, Vector2A4, Vector2A8, Vector2AC +#endif +#if CORTEX_NUM_VECTORS > 156 + .weak Vector2B0, Vector2B4, Vector2B8, Vector2BC +#endif +#if CORTEX_NUM_VECTORS > 160 + .weak Vector2C0, Vector2C4, Vector2C8, Vector2CC +#endif +#if CORTEX_NUM_VECTORS > 164 + .weak Vector2D0, Vector2D4, Vector2D8, Vector2DC +#endif +#if CORTEX_NUM_VECTORS > 168 + .weak Vector2E0, Vector2E4, Vector2E8, Vector2EC +#endif +#if CORTEX_NUM_VECTORS > 172 + .weak Vector2F0, Vector2F4, Vector2F8, Vector2FC +#endif +#if CORTEX_NUM_VECTORS > 176 + .weak Vector300, Vector304, Vector308, Vector30C +#endif +#if CORTEX_NUM_VECTORS > 180 + .weak Vector310, Vector314, Vector318, Vector31C +#endif +#if CORTEX_NUM_VECTORS > 184 + .weak Vector320, Vector324, Vector328, Vector32C +#endif +#if CORTEX_NUM_VECTORS > 188 + .weak Vector330, Vector334, Vector338, Vector33C +#endif +#if CORTEX_NUM_VECTORS > 192 + .weak Vector340, Vector344, Vector348, Vector34C +#endif +#if CORTEX_NUM_VECTORS > 196 + .weak Vector350, Vector354, Vector358, Vector35C +#endif +#if CORTEX_NUM_VECTORS > 200 + .weak Vector360, Vector364, Vector368, Vector36C +#endif +#if CORTEX_NUM_VECTORS > 204 + .weak Vector370, Vector374, Vector378, Vector37C +#endif +#if CORTEX_NUM_VECTORS > 208 + .weak Vector380, Vector384, Vector388, Vector38C +#endif +#if CORTEX_NUM_VECTORS > 212 + .weak Vector390, Vector394, Vector398, Vector39C +#endif +#if CORTEX_NUM_VECTORS > 216 + .weak Vector3A0, Vector3A4, Vector3A8, Vector3AC +#endif +#if CORTEX_NUM_VECTORS > 220 + .weak Vector3B0, Vector3B4, Vector3B8, Vector3BC +#endif +#if CORTEX_NUM_VECTORS > 224 + .weak Vector3C0, Vector3C4, Vector3C8, Vector3CC +#endif +#if CORTEX_NUM_VECTORS > 228 + .weak Vector3D0, Vector3D4, Vector3D8, Vector3DC +#endif +#if CORTEX_NUM_VECTORS > 232 + .weak Vector3E0, Vector3E4, Vector3E8, Vector3EC +#endif +#if CORTEX_NUM_VECTORS > 236 + .weak Vector3F0, Vector3F4, Vector3F8, Vector3FC +#endif + +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 + b _unhandled_exception + + .thumb_func + .weak _unhandled_exception +_unhandled_exception: + b _unhandled_exception + +#endif /* !defined(__DOXYGEN__) */ + +/** @} */ -- cgit v1.2.3