From 5ba0abd185b6f880d925042179947fe0728f5af7 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 8 Sep 2013 08:28:27 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/kernel_3_dev@6273 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- .../ports/ARMCMx/compilers/GCC/ld/STM32F051x8.ld | 2 +- .../ports/ARMCMx/compilers/GCC/ld/STM32F303xC.ld | 2 +- .../ports/ARMCMx/compilers/GCC/ld/STM32F373xC.ld | 2 +- .../ports/ARMCMx/compilers/GCC/ld/STM32F405xG.ld | 9 +-- .../ports/ARMCMx/compilers/GCC/ld/STM32F407xG.ld | 9 +-- .../ARMCMx/compilers/GCC/ld/STM32F407xG_CCM.ld | 9 +-- .../ports/ARMCMx/devices/STM32F37x/cmparams.h | 87 ++++++++++++++++++++++ 7 files changed, 93 insertions(+), 27 deletions(-) create mode 100644 os/common/ports/ARMCMx/devices/STM32F37x/cmparams.h (limited to 'os/common/ports') diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F051x8.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F051x8.ld index c9e4e9cd3..838fb6207 100644 --- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F051x8.ld +++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F051x8.ld @@ -22,7 +22,7 @@ * ST32F051x8 memory setup. */ __main_stack_size__ = 0x0400; -__process_stack_size__ = 0x0400; +__process_stack_size__ = 0x0200; MEMORY { diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F303xC.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F303xC.ld index 861bdd21d..8f03734f4 100644 --- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F303xC.ld +++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F303xC.ld @@ -22,7 +22,7 @@ * ST32F303xC memory setup. */ __main_stack_size__ = 0x0400; -__process_stack_size__ = 0x0400; +__process_stack_size__ = 0x0200; MEMORY { diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F373xC.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F373xC.ld index 6d14877bc..0fb2af344 100644 --- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F373xC.ld +++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F373xC.ld @@ -22,7 +22,7 @@ * ST32F373xC memory setup. */ __main_stack_size__ = 0x0400; -__process_stack_size__ = 0x0400; +__process_stack_size__ = 0x0200; MEMORY { diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F405xG.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F405xG.ld index 6c8effd11..8f95d5c42 100644 --- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F405xG.ld +++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F405xG.ld @@ -16,20 +16,13 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - - --- - - A special exception to the GPL can be applied should you wish to distribute - a combined work that includes ChibiOS/RT, without being obliged to provide - the source code for any proprietary components. See the file exception.txt - for full details of how and when the exception can be applied. */ /* * ST32F405xG memory setup. */ __main_stack_size__ = 0x0400; -__process_stack_size__ = 0x0400; +__process_stack_size__ = 0x0200; MEMORY { diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F407xG.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F407xG.ld index 623b35c77..9d34f2ca9 100644 --- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F407xG.ld +++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F407xG.ld @@ -16,20 +16,13 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - - --- - - A special exception to the GPL can be applied should you wish to distribute - a combined work that includes ChibiOS/RT, without being obliged to provide - the source code for any proprietary components. See the file exception.txt - for full details of how and when the exception can be applied. */ /* * ST32F407xG memory setup. */ __main_stack_size__ = 0x0400; -__process_stack_size__ = 0x0400; +__process_stack_size__ = 0x0200; MEMORY { diff --git a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F407xG_CCM.ld b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F407xG_CCM.ld index 39a7defcc..c23f1412f 100644 --- a/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F407xG_CCM.ld +++ b/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F407xG_CCM.ld @@ -16,20 +16,13 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - - --- - - A special exception to the GPL can be applied should you wish to distribute - a combined work that includes ChibiOS/RT, without being obliged to provide - the source code for any proprietary components. See the file exception.txt - for full details of how and when the exception can be applied. */ /* * ST32F407xG memory setup. */ __main_stack_size__ = 0x0400; -__process_stack_size__ = 0x0400; +__process_stack_size__ = 0x0200; MEMORY { diff --git a/os/common/ports/ARMCMx/devices/STM32F37x/cmparams.h b/os/common/ports/ARMCMx/devices/STM32F37x/cmparams.h new file mode 100644 index 000000000..5355b2176 --- /dev/null +++ b/os/common/ports/ARMCMx/devices/STM32F37x/cmparams.h @@ -0,0 +1,87 @@ +/* + ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010, + 2011,2012,2013 Giovanni Di Sirio. + + This file is part of ChibiOS/RT. + + ChibiOS/RT 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/RT 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 STM32F37x/cmparams.h + * @brief ARM Cortex-M4 parameters for the STM32F37x. + * + * @defgroup ARMCMx_STM32F37x STM32F37x Specific Parameters + * @ingroup ARMCMx_SPECIFIC + * @details This file contains the Cortex-M4 specific parameters for the + * STM32F37x platform. + * @{ + */ + +#ifndef _CMPARAMS_H_ +#define _CMPARAMS_H_ + +/** + * @brief Cortex core model. + */ +#define CORTEX_MODEL CORTEX_M4 + +/** + * @brief Memory Protection unit presence. + */ +#define CORTEX_HAS_MPU 1 + +/** + * @brief Floating Point unit presence. + */ +#define CORTEX_HAS_FPU 1 + +/** + * @brief Number of bits in priority masks. + */ +#define CORTEX_PRIORITY_BITS 4 + +/** + * @brief Number of interrupt vectors. + * @note This number does not include the 16 system vectors and must be + * rounded to a multiple of 4. + */ +#define CORTEX_NUM_VECTORS 88 + +/* The following code is not processed when the file is included from an + asm module.*/ +#if !defined(_FROM_ASM_) + +/* Including the device CMSIS header. Note, we are not using the definitions + from this header because we need this file to be usable also from + assembler source files. We verify that the info matches instead.*/ +#include "stm32f37x.h" + +#if !CORTEX_HAS_MPU != !__MPU_PRESENT +#error "CMSIS __MPU_PRESENT mismatch" +#endif + +#if !CORTEX_HAS_FPU != !__FPU_PRESENT +#error "CMSIS __FPU_PRESENT mismatch" +#endif + +#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS +#error "CMSIS __NVIC_PRIO_BITS mismatch" +#endif + +#endif /* !defined(_FROM_ASM_) */ + +#endif /* _CMPARAMS_H_ */ + +/** @} */ -- cgit v1.2.3