git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3054 35acf78f-673a-0410-8e92-d51de3d6d3f4

This commit is contained in:
gdisirio 2011-06-18 10:23:43 +00:00
parent 51875dac89
commit 952fb6d0ef
7 changed files with 2724 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<workspace>
<project>
<path>$WS_DIR$\ch.ewp</path>
</project>
<batchBuild/>
</workspace>

View File

@ -0,0 +1,39 @@
/*###ICF### Section handled by ICF editor, don't touch! ****/
/*-Editor annotation file-*/
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
/*-Specials-*/
define symbol __ICFEDIT_intvec_start__ = 0x08000000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
define symbol __ICFEDIT_region_ROM_end__ = 0x0801FFFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
define symbol __ICFEDIT_region_RAM_end__ = 0x20003FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x400;
define symbol __ICFEDIT_size_heap__ = 0x400;
/**** End of ICF editor section. ###ICF###*/
/* Size of the IRQ Stack (Main Stack).*/
define symbol __ICFEDIT_size_irqstack__ = 0x400;
define memory mem with size = 4G;
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ {section CSTACK};
define block IRQSTACK with alignment = 8, size = __ICFEDIT_size_irqstack__ {};
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ {};
define block SYSHEAP with alignment = 8 {section SYSHEAP};
define block DATABSS with alignment = 8 {readwrite, zeroinit};
initialize by copy { readwrite };
do not initialize { section .noinit };
keep { section .intvec };
place at address mem:__ICFEDIT_intvec_start__ {section .intvec};
place in ROM_region {readonly};
place at start of RAM_region {block IRQSTACK};
place in RAM_region {block DATABSS, block HEAP};
place in RAM_region {block SYSHEAP};
place at end of RAM_region {block CSTACK};

View File

@ -0,0 +1,57 @@
/*
ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
2011 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 <http://www.gnu.org/licenses/>.
*/
/**
* @file IAR/ARMCMx/STM32L1xx/cmparams.h
* @brief ARM Cortex-M3 parameters for the STM32L1xx.
*
* @defgroup IAR_ARMCMx_STM32L1xx STM32L1xx Specific Parameters
* @ingroup IAR_ARMCMx_SPECIFIC
* @details This file contains the Cortex-M3 specific parameters for the
* STM32L1xx platform.
* @{
*/
#ifndef _CMPARAMS_H_
#define _CMPARAMS_H_
/**
* @brief Cortex core model.
*/
#define CORTEX_MODEL CORTEX_M3
/**
* @brief Systick unit presence.
*/
#define CORTEX_HAS_ST TRUE
/**
* @brief Memory Protection unit presence.
*/
#define CORTEX_HAS_MPU TRUE
/**
* @brief Number of bits in priority masks.
*/
#define CORTEX_PRIORITY_BITS 4
#endif /* _CMPARAMS_H_ */
/** @} */

View File

@ -0,0 +1,231 @@
/*
ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
2011 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 <http://www.gnu.org/licenses/>.
*/
#if !defined(STM32L1XX_MD)
#define _FROM_ASM_
#include "board.h"
#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 NMIVector
DCD HardFaultVector
DCD MemManageVector
DCD BusFaultVector
DCD UsageFaultVector
DCD Vector1C
DCD Vector20
DCD Vector24
DCD Vector28
DCD SVCallVector
DCD DebugMonitorVector
DCD Vector34
DCD PendSVVector
DCD SysTickVector
DCD Vector40
DCD Vector44
DCD Vector48
DCD Vector4C
DCD Vector50
DCD Vector54
DCD Vector58
DCD Vector5C
DCD Vector60
DCD Vector64
DCD Vector68
DCD Vector6C
DCD Vector70
DCD Vector74
DCD Vector78
DCD Vector7C
DCD Vector80
DCD Vector84
DCD Vector88
DCD Vector8C
DCD Vector90
DCD Vector94
DCD Vector98
DCD Vector9C
DCD VectorA0
DCD VectorA4
DCD VectorA8
DCD VectorAC
DCD VectorB0
DCD VectorB4
DCD VectorB8
DCD VectorBC
DCD VectorC0
DCD VectorC4
DCD VectorC8
DCD VectorCC
DCD VectorD0
DCD VectorD4
DCD VectorD8
DCD VectorDC
DCD VectorE0
DCD VectorE4
DCD VectorE8
DCD VectorEC
DCD VectorF0
/*
* Default interrupt handlers.
*/
PUBWEAK NMIVector
PUBWEAK HardFaultVector
PUBWEAK MemManageVector
PUBWEAK BusFaultVector
PUBWEAK UsageFaultVector
PUBWEAK Vector1C
PUBWEAK Vector20
PUBWEAK Vector24
PUBWEAK Vector28
PUBWEAK SVCallVector
PUBWEAK DebugMonitorVector
PUBWEAK Vector34
PUBWEAK PendSVVector
PUBWEAK SysTickVector
PUBWEAK Vector40
PUBWEAK Vector44
PUBWEAK Vector48
PUBWEAK Vector4C
PUBWEAK Vector50
PUBWEAK Vector54
PUBWEAK Vector58
PUBWEAK Vector5C
PUBWEAK Vector60
PUBWEAK Vector64
PUBWEAK Vector68
PUBWEAK Vector6C
PUBWEAK Vector70
PUBWEAK Vector74
PUBWEAK Vector78
PUBWEAK Vector7C
PUBWEAK Vector80
PUBWEAK Vector84
PUBWEAK Vector88
PUBWEAK Vector8C
PUBWEAK Vector90
PUBWEAK Vector94
PUBWEAK Vector98
PUBWEAK Vector9C
PUBWEAK VectorA0
PUBWEAK VectorA4
PUBWEAK VectorA8
PUBWEAK VectorAC
PUBWEAK VectorB0
PUBWEAK VectorB4
PUBWEAK VectorB8
PUBWEAK VectorBC
PUBWEAK VectorC0
PUBWEAK VectorC4
PUBWEAK VectorC8
PUBWEAK VectorCC
PUBWEAK VectorD0
PUBWEAK VectorD4
PUBWEAK VectorD8
PUBWEAK VectorDC
PUBWEAK VectorE0
PUBWEAK VectorE4
PUBWEAK VectorE8
PUBWEAK VectorEC
PUBWEAK VectorF0
PUBLIC _unhandled_exception
SECTION .text:CODE:REORDER(1)
THUMB
NMIVector
HardFaultVector
MemManageVector
BusFaultVector
UsageFaultVector
Vector1C
Vector20
Vector24
Vector28
SVCallVector
DebugMonitorVector
Vector34
PendSVVector
SysTickVector
Vector40
Vector44
Vector48
Vector4C
Vector50
Vector54
Vector58
Vector5C
Vector60
Vector64
Vector68
Vector6C
Vector70
Vector74
Vector78
Vector7C
Vector80
Vector84
Vector88
Vector8C
Vector90
Vector94
Vector98
Vector9C
VectorA0
VectorA4
VectorA8
VectorAC
VectorB0
VectorB4
VectorB8
VectorBC
VectorC0
VectorC4
VectorC8
VectorCC
VectorD0
VectorD4
VectorD8
VectorDC
VectorE0
VectorE4
VectorE8
VectorEC
VectorF0
_unhandled_exception
b _unhandled_exception
END

View File

@ -0,0 +1,57 @@
/*
ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
2011 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 <http://www.gnu.org/licenses/>.
*/
/**
* @file RVCT/ARMCMx/STM32L1xx/cmparams.h
* @brief ARM Cortex-M3 parameters for the STM32L1xx.
*
* @defgroup RVCT_ARMCMx_STM32L1xx STM32L1xx Specific Parameters
* @ingroup RVCT_ARMCMx_SPECIFIC
* @details This file contains the Cortex-M3 specific parameters for the
* STM32L1xx platform.
* @{
*/
#ifndef _CMPARAMS_H_
#define _CMPARAMS_H_
/**
* @brief Cortex core model.
*/
#define CORTEX_MODEL CORTEX_M3
/**
* @brief Systick unit presence.
*/
#define CORTEX_HAS_ST TRUE
/**
* @brief Memory Protection unit presence.
*/
#define CORTEX_HAS_MPU TRUE
/**
* @brief Number of bits in priority masks.
*/
#define CORTEX_PRIORITY_BITS 4
#endif /* _CMPARAMS_H_ */
/** @} */

View File

@ -0,0 +1,227 @@
/*
ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
2011 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 <http://www.gnu.org/licenses/>.
*/
#if !defined(STM32L1XX_MD)
#define _FROM_ASM_
#include "board.h"
#endif
PRESERVE8
AREA RESET, DATA, READONLY
IMPORT __initial_msp
IMPORT Reset_Handler
EXPORT __Vectors
__Vectors
DCD __initial_msp
DCD Reset_Handler
DCD NMIVector
DCD HardFaultVector
DCD MemManageVector
DCD BusFaultVector
DCD UsageFaultVector
DCD Vector1C
DCD Vector20
DCD Vector24
DCD Vector28
DCD SVCallVector
DCD DebugMonitorVector
DCD Vector34
DCD PendSVVector
DCD SysTickVector
DCD Vector40
DCD Vector44
DCD Vector48
DCD Vector4C
DCD Vector50
DCD Vector54
DCD Vector58
DCD Vector5C
DCD Vector60
DCD Vector64
DCD Vector68
DCD Vector6C
DCD Vector70
DCD Vector74
DCD Vector78
DCD Vector7C
DCD Vector80
DCD Vector84
DCD Vector88
DCD Vector8C
DCD Vector90
DCD Vector94
DCD Vector98
DCD Vector9C
DCD VectorA0
DCD VectorA4
DCD VectorA8
DCD VectorAC
DCD VectorB0
DCD VectorB4
DCD VectorB8
DCD VectorBC
DCD VectorC0
DCD VectorC4
DCD VectorC8
DCD VectorCC
DCD VectorD0
DCD VectorD4
DCD VectorD8
DCD VectorDC
DCD VectorE0
DCD VectorE4
DCD VectorE8
DCD VectorEC
DCD VectorF0
AREA |.text|, CODE, READONLY
THUMB
/*
* Default interrupt handlers.
*/
EXPORT _unhandled_exception
_unhandled_exception PROC
EXPORT NMIVector [WEAK]
EXPORT HardFaultVector [WEAK]
EXPORT MemManageVector [WEAK]
EXPORT BusFaultVector [WEAK]
EXPORT UsageFaultVector [WEAK]
EXPORT Vector1C [WEAK]
EXPORT Vector20 [WEAK]
EXPORT Vector24 [WEAK]
EXPORT Vector28 [WEAK]
EXPORT SVCallVector [WEAK]
EXPORT DebugMonitorVector [WEAK]
EXPORT Vector34 [WEAK]
EXPORT PendSVVector [WEAK]
EXPORT SysTickVector [WEAK]
EXPORT Vector40 [WEAK]
EXPORT Vector44 [WEAK]
EXPORT Vector48 [WEAK]
EXPORT Vector4C [WEAK]
EXPORT Vector50 [WEAK]
EXPORT Vector54 [WEAK]
EXPORT Vector58 [WEAK]
EXPORT Vector5C [WEAK]
EXPORT Vector60 [WEAK]
EXPORT Vector64 [WEAK]
EXPORT Vector68 [WEAK]
EXPORT Vector6C [WEAK]
EXPORT Vector70 [WEAK]
EXPORT Vector74 [WEAK]
EXPORT Vector78 [WEAK]
EXPORT Vector7C [WEAK]
EXPORT Vector80 [WEAK]
EXPORT Vector84 [WEAK]
EXPORT Vector88 [WEAK]
EXPORT Vector8C [WEAK]
EXPORT Vector90 [WEAK]
EXPORT Vector94 [WEAK]
EXPORT Vector98 [WEAK]
EXPORT Vector9C [WEAK]
EXPORT VectorA0 [WEAK]
EXPORT VectorA4 [WEAK]
EXPORT VectorA8 [WEAK]
EXPORT VectorAC [WEAK]
EXPORT VectorB0 [WEAK]
EXPORT VectorB4 [WEAK]
EXPORT VectorB8 [WEAK]
EXPORT VectorBC [WEAK]
EXPORT VectorC0 [WEAK]
EXPORT VectorC4 [WEAK]
EXPORT VectorC8 [WEAK]
EXPORT VectorCC [WEAK]
EXPORT VectorD0 [WEAK]
EXPORT VectorD4 [WEAK]
EXPORT VectorD8 [WEAK]
EXPORT VectorDC [WEAK]
EXPORT VectorE0 [WEAK]
EXPORT VectorE4 [WEAK]
EXPORT VectorE8 [WEAK]
EXPORT VectorEC [WEAK]
EXPORT VectorF0 [WEAK]
NMIVector
HardFaultVector
MemManageVector
BusFaultVector
UsageFaultVector
Vector1C
Vector20
Vector24
Vector28
SVCallVector
DebugMonitorVector
Vector34
PendSVVector
SysTickVector
Vector40
Vector44
Vector48
Vector4C
Vector50
Vector54
Vector58
Vector5C
Vector60
Vector64
Vector68
Vector6C
Vector70
Vector74
Vector78
Vector7C
Vector80
Vector84
Vector88
Vector8C
Vector90
Vector94
Vector98
Vector9C
VectorA0
VectorA4
VectorA8
VectorAC
VectorB0
VectorB4
VectorB8
VectorBC
VectorC0
VectorC4
VectorC8
VectorCC
VectorD0
VectorD4
VectorD8
VectorDC
VectorE0
VectorE4
VectorE8
VectorEC
VectorF0
b _unhandled_exception
ENDP
END