From 05aadd814d352b2b877d5d04ec67d79104aa7e9b Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Thu, 23 Jun 2016 09:55:03 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9652 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- .../ARMCMx/compilers/GCC/mk/startup_xmc1100.mk | 3 +- .../startup/ARMCMx/devices/XMC1100/veneers_gcc.S | 140 +++++++++++++++++++++ 2 files changed, 142 insertions(+), 1 deletion(-) create mode 100644 os/common/startup/ARMCMx/devices/XMC1100/veneers_gcc.S (limited to 'os/common') diff --git a/os/common/startup/ARMCMx/compilers/GCC/mk/startup_xmc1100.mk b/os/common/startup/ARMCMx/compilers/GCC/mk/startup_xmc1100.mk index 84cec7eb1..7f4864d94 100644 --- a/os/common/startup/ARMCMx/compilers/GCC/mk/startup_xmc1100.mk +++ b/os/common/startup/ARMCMx/compilers/GCC/mk/startup_xmc1100.mk @@ -2,7 +2,8 @@ STARTUPSRC = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/crt1.c \ $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/vectors.c -STARTUPASM = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/crt0_v6m.S +STARTUPASM = $(CHIBIOS)/os/common/startup/ARMCMx/devices/XMC1100/veneers_gcc.S \ + $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/crt0_v6m.S STARTUPINC = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC \ $(CHIBIOS)/os/common/startup/ARMCMx/devices/XMC1100 \ diff --git a/os/common/startup/ARMCMx/devices/XMC1100/veneers_gcc.S b/os/common/startup/ARMCMx/devices/XMC1100/veneers_gcc.S new file mode 100644 index 000000000..8a1bed69d --- /dev/null +++ b/os/common/startup/ARMCMx/devices/XMC1100/veneers_gcc.S @@ -0,0 +1,140 @@ +/* + ChibiOS - Copyright (C) 2006..2016 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 veneers_gcc.s + * @brief XMC1100 veneers for GCC. + * + * @addtogroup ARMCMx_XMC1100_VENEERS_GCC + * @{ + */ + +/*===========================================================================*/ +/* Module constants. */ +/*===========================================================================*/ + +/*===========================================================================*/ +/* Module pre-compile time settings. */ +/*===========================================================================*/ + +/*===========================================================================*/ +/* Code section. */ +/*===========================================================================*/ + +#if !defined(__DOXYGEN__) + + .syntax unified + .cpu cortex-m0 + + .thumb + .section ram0_init + + .align 2 + .global __veneers +__veneers: + .long 0 + .long 0 + ldr r0, =NMI_Handler + mov pc, r0 + ldr r0, =HardFault_Handler + mov pc, r0 + ldr r0, =MemManage_Handler + mov pc, r0 + ldr r0, =BusFault_Handler + mov pc, r0 + ldr r0, =UsageFault_Handler + mov pc, r0 + .long 0 + .long 0 + .long 0 + .long 0 + ldr r0, =SVC_Handler + mov pc, r0 + ldr r0, =DebugMon_Handler + mov pc, r0 + .long 0 + ldr r0, =PendSV_Handler + mov pc, r0 + ldr r0, =SysTick_Handler + mov pc, r0 + ldr r0, =Vector40 + mov pc, r0 + ldr r0, =Vector44 + mov pc, r0 + ldr r0, =Vector48 + mov pc, r0 + ldr r0, =Vector4C + mov pc, r0 + ldr r0, =Vector50 + mov pc, r0 + ldr r0, =Vector54 + mov pc, r0 + ldr r0, =Vector58 + mov pc, r0 + ldr r0, =Vector5C + mov pc, r0 + ldr r0, =Vector60 + mov pc, r0 + ldr r0, =Vector64 + mov pc, r0 + ldr r0, =Vector68 + mov pc, r0 + ldr r0, =Vector6C + mov pc, r0 + ldr r0, =Vector70 + mov pc, r0 + ldr r0, =Vector74 + mov pc, r0 + ldr r0, =Vector78 + mov pc, r0 + ldr r0, =Vector7C + mov pc, r0 + ldr r0, =Vector80 + mov pc, r0 + ldr r0, =Vector84 + mov pc, r0 + ldr r0, =Vector88 + mov pc, r0 + ldr r0, =Vector8C + mov pc, r0 + ldr r0, =Vector90 + mov pc, r0 + ldr r0, =Vector94 + mov pc, r0 + ldr r0, =Vector98 + mov pc, r0 + ldr r0, =Vector9C + mov pc, r0 + ldr r0, =VectorA0 + mov pc, r0 + ldr r0, =VectorA4 + mov pc, r0 + ldr r0, =VectorA8 + mov pc, r0 + ldr r0, =VectorAC + mov pc, r0 + ldr r0, =VectorB0 + mov pc, r0 + ldr r0, =VectorB4 + mov pc, r0 + ldr r0, =VectorB8 + mov pc, r0 + ldr r0, =VectorBC + mov pc, r0 + +#endif /* !defined(__DOXYGEN__) */ + +/** @} */ -- cgit v1.2.3