From 0e546f8e46684ebc9d0081c9d19919c93a403058 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 19 Jun 2017 17:40:19 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10261 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- .../startup/ARM/compilers/GCC/ld/SAMA5D2-T.ld | 43 +++++++++++++++ .../ARM/compilers/GCC/mk/startup_sama5d2.mk | 9 ++++ os/common/startup/ARM/devices/SAMA5D2/armparams.h | 62 ++++++++++++++++++++++ 3 files changed, 114 insertions(+) create mode 100755 os/common/startup/ARM/compilers/GCC/ld/SAMA5D2-T.ld create mode 100755 os/common/startup/ARM/compilers/GCC/mk/startup_sama5d2.mk create mode 100755 os/common/startup/ARM/devices/SAMA5D2/armparams.h (limited to 'os/common') diff --git a/os/common/startup/ARM/compilers/GCC/ld/SAMA5D2-T.ld b/os/common/startup/ARM/compilers/GCC/ld/SAMA5D2-T.ld new file mode 100755 index 000000000..aacf3aa5c --- /dev/null +++ b/os/common/startup/ARM/compilers/GCC/ld/SAMA5D2-T.ld @@ -0,0 +1,43 @@ +/* + 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. +*/ + +/* + * SAMA5D2 memory setup in trusted mode. + */ +MEMORY +{ + flash : org = 0x00200000, len = 64k + ram0 : org = 0x00210000, len = 64k + ram1 : org = 0x00000000, len = 0 + ram2 : org = 0x00000000, len = 0 + ram3 : org = 0x00000000, len = 0 + ram4 : org = 0x00000000, len = 0 + ram5 : org = 0x00000000, len = 0 + ram6 : org = 0x00000000, len = 0 + ram7 : org = 0x00000000, len = 0 +} + +/* RAM region to be used for stacks. This stack accommodates the processing + of all exceptions and interrupts*/ +REGION_ALIAS("STACKS_RAM", ram0); + +/* RAM region to be used for data segment.*/ +REGION_ALIAS("DATA_RAM", ram0); + +/* RAM region to be used for BSS segment.*/ +REGION_ALIAS("BSS_RAM", ram0); + +INCLUDE rules.ld diff --git a/os/common/startup/ARM/compilers/GCC/mk/startup_sama5d2.mk b/os/common/startup/ARM/compilers/GCC/mk/startup_sama5d2.mk new file mode 100755 index 000000000..f9c953b91 --- /dev/null +++ b/os/common/startup/ARM/compilers/GCC/mk/startup_sama5d2.mk @@ -0,0 +1,9 @@ +# List of the ChibiOS generic LPC214x file. +STARTUPSRC = $(CHIBIOS)/os/common/startup/ARM/compilers/GCC/crt1.c + +STARTUPASM = $(CHIBIOS)/os/common/startup/ARM/compilers/GCC/vectors.S \ + $(CHIBIOS)/os/common/startup/ARM/compilers/GCC/crt0.S + +STARTUPINC = ${CHIBIOS}/os/common/startup/ARM/devices/SAMA5D2 + +STARTUPLD = ${CHIBIOS}/os/common/startup/ARM/compilers/GCC/ld diff --git a/os/common/startup/ARM/devices/SAMA5D2/armparams.h b/os/common/startup/ARM/devices/SAMA5D2/armparams.h new file mode 100755 index 000000000..f54dfd6ca --- /dev/null +++ b/os/common/startup/ARM/devices/SAMA5D2/armparams.h @@ -0,0 +1,62 @@ +/* + 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 LPC214x/armparams.h + * @brief ARM parameters for the LPC214x. + * + * @defgroup ARM_LPC214x LPC214x Specific Parameters + * @ingroup ARM_SPECIFIC + * @details This file contains the ARM specific parameters for the + * LPC214x platform. + * @{ + */ + +#ifndef ARMPARAMS_H +#define ARMPARAMS_H + +/** + * @brief ARM core model. + */ +#define ARM_CORE ARM_CORE_ARM9 + +/** + * @brief Thumb-capable. + */ +#define ARM_SUPPORTS_THUMB 1 + +/** + * @brief Thumb2-capable. + */ +#define ARM_SUPPORTS_THUMB2 1 + +/** + * @brief Implementation of the wait-for-interrupt state enter. + */ +#define ARM_WFI_IMPL asm volatile ("wfi") + +#if !defined(_FROM_ASM_) || defined(__DOXYGEN__) +/** + * @brief Address of the IRQ vector register in the interrupt controller. + */ +#define ARM_IRQ_VECTOR_REG 0xF803C014U +#else +#define ARM_IRQ_VECTOR_REG 0xF803C014 +#endif + +#endif /* ARMPARAMS_H */ + +/** @} */ -- cgit v1.2.3