aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-01-07 13:18:24 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-01-07 13:18:24 +0000
commitf9332195609981b6b62298226016b37e81057bc8 (patch)
tree33e203159e9f6b48c7873bf05251ef94f895a8d8
parent645242ceb8ff8e060330084a326dbbc9be3849b7 (diff)
downloadChibiOS-f9332195609981b6b62298226016b37e81057bc8.tar.gz
ChibiOS-f9332195609981b6b62298226016b37e81057bc8.tar.bz2
ChibiOS-f9332195609981b6b62298226016b37e81057bc8.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2604 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r--demos/ARMCM3-STM32F100-DISCOVERY/keil/ch.uvopt40
-rw-r--r--demos/ARMCM3-STM32F100-DISCOVERY/keil/ch.uvproj24
-rw-r--r--os/ports/RVCT/ARMCMx/LPC13xx/cmparams.h56
-rw-r--r--os/ports/RVCT/ARMCMx/LPC13xx/vectors.s254
4 files changed, 333 insertions, 41 deletions
diff --git a/demos/ARMCM3-STM32F100-DISCOVERY/keil/ch.uvopt b/demos/ARMCM3-STM32F100-DISCOVERY/keil/ch.uvopt
index 76d13fc0e..b910b1c10 100644
--- a/demos/ARMCM3-STM32F100-DISCOVERY/keil/ch.uvopt
+++ b/demos/ARMCM3-STM32F100-DISCOVERY/keil/ch.uvopt
@@ -86,12 +86,12 @@
<DllOpt>
<SimDllName>SARMCM3.DLL</SimDllName>
<SimDllArguments></SimDllArguments>
- <SimDlgDllName>DARMSTM.DLL</SimDlgDllName>
- <SimDlgDllArguments>-pSTM32F103RB</SimDlgDllArguments>
+ <SimDlgDllName>DCM.DLL</SimDlgDllName>
+ <SimDlgDllArguments>-pCM3</SimDlgDllArguments>
<TargetDllName>SARMCM3.DLL</TargetDllName>
<TargetDllArguments></TargetDllArguments>
- <TargetDlgDllName>TARMSTM.DLL</TargetDlgDllName>
- <TargetDlgDllArguments>-pSTM32F103RB</TargetDlgDllArguments>
+ <TargetDlgDllName>TCM.DLL</TargetDlgDllName>
+ <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
</DllOpt>
<DebugOpt>
<uSim>0</uSim>
@@ -583,8 +583,8 @@
<Focus>0</Focus>
<ColumnNumber>23</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
- <TopLine>244</TopLine>
- <CurrentLine>247</CurrentLine>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\os\kernel\src\chsem.c</PathWithFileName>
<FilenameWithoutPath>chsem.c</FilenameWithoutPath>
@@ -597,8 +597,8 @@
<Focus>0</Focus>
<ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
- <TopLine>49</TopLine>
- <CurrentLine>56</CurrentLine>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\os\kernel\src\chsys.c</PathWithFileName>
<FilenameWithoutPath>chsys.c</FilenameWithoutPath>
@@ -1955,8 +1955,8 @@
<Focus>0</Focus>
<ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
- <TopLine>196</TopLine>
- <CurrentLine>204</CurrentLine>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>..\main.c</PathWithFileName>
<FilenameWithoutPath>main.c</FilenameWithoutPath>
@@ -2010,7 +2010,7 @@
<ActiveMDIGroup>0</ActiveMDIGroup>
<MDIGroup>
<Size>100</Size>
- <ActiveTab>3</ActiveTab>
+ <ActiveTab>0</ActiveTab>
<Documents>
<Doc>
<Name>..\..\..\os\ports\RVCT\ARMCMx\cstartup.s</Name>
@@ -2018,24 +2018,6 @@
<TopLine>59</TopLine>
<CurrentLine>68</CurrentLine>
</Doc>
- <Doc>
- <Name>..\main.c</Name>
- <ColumnNumber>0</ColumnNumber>
- <TopLine>196</TopLine>
- <CurrentLine>204</CurrentLine>
- </Doc>
- <Doc>
- <Name>..\..\..\os\kernel\src\chsem.c</Name>
- <ColumnNumber>23</ColumnNumber>
- <TopLine>244</TopLine>
- <CurrentLine>247</CurrentLine>
- </Doc>
- <Doc>
- <Name>..\..\..\os\kernel\src\chsys.c</Name>
- <ColumnNumber>0</ColumnNumber>
- <TopLine>49</TopLine>
- <CurrentLine>56</CurrentLine>
- </Doc>
</Documents>
</MDIGroup>
</MDIGroups>
diff --git a/demos/ARMCM3-STM32F100-DISCOVERY/keil/ch.uvproj b/demos/ARMCM3-STM32F100-DISCOVERY/keil/ch.uvproj
index 1d43ff95a..cffe0a6e8 100644
--- a/demos/ARMCM3-STM32F100-DISCOVERY/keil/ch.uvproj
+++ b/demos/ARMCM3-STM32F100-DISCOVERY/keil/ch.uvproj
@@ -12,14 +12,14 @@
<ToolsetName>ARM-ADS</ToolsetName>
<TargetOption>
<TargetCommonOption>
- <Device>STM32F103RB</Device>
+ <Device>STM32F100RB</Device>
<Vendor>STMicroelectronics</Vendor>
- <Cpu>IRAM(0x20000000-0x20004FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")</Cpu>
+ <Cpu>IRAM(0x20000000-0x20001FFF) IROM(0x8000000-0x801FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")</Cpu>
<FlashUtilSpec></FlashUtilSpec>
- <StartupFile>"STARTUP\ST\STM32F10x.s" ("STM32 Startup Code")</StartupFile>
+ <StartupFile>"STARTUP\ST\STM32F10x\startup_stm32f10x_md_vl.s" ("STM32 Medium density Value Line Startup Code")</StartupFile>
<FlashDriverDll>UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000)</FlashDriverDll>
- <DeviceId>4231</DeviceId>
- <RegisterFile>stm32f10x_lib.h</RegisterFile>
+ <DeviceId>5086</DeviceId>
+ <RegisterFile>stm32f10x.h</RegisterFile>
<MemoryEnv></MemoryEnv>
<Cmp></Cmp>
<Asm></Asm>
@@ -29,7 +29,7 @@
<SLE66CMisc></SLE66CMisc>
<SLE66AMisc></SLE66AMisc>
<SLE66LinkerMisc></SLE66LinkerMisc>
- <SFDFile></SFDFile>
+ <SFDFile>SFD\ST\STM32F100x\STM32F100.sfr</SFDFile>
<UseEnv>0</UseEnv>
<BinPath></BinPath>
<IncludePath></IncludePath>
@@ -99,12 +99,12 @@
<DllOption>
<SimDllName>SARMCM3.DLL</SimDllName>
<SimDllArguments></SimDllArguments>
- <SimDlgDll>DARMSTM.DLL</SimDlgDll>
- <SimDlgDllArguments>-pSTM32F103RB</SimDlgDllArguments>
+ <SimDlgDll>DCM.DLL</SimDlgDll>
+ <SimDlgDllArguments>-pCM3</SimDlgDllArguments>
<TargetDllName>SARMCM3.DLL</TargetDllName>
<TargetDllArguments></TargetDllArguments>
- <TargetDlgDll>TARMSTM.DLL</TargetDlgDll>
- <TargetDlgDllArguments>-pSTM32F103RB</TargetDlgDllArguments>
+ <TargetDlgDll>TCM.DLL</TargetDlgDll>
+ <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
</DllOption>
<DebugOption>
<OPTHX>
@@ -163,7 +163,7 @@
<DriverSelection>4100</DriverSelection>
</Flash1>
<Flash2>STLink\ST-LINKIII-KEIL.dll</Flash2>
- <Flash3>"" ()</Flash3>
+ <Flash3></Flash3>
<Flash4></Flash4>
</Utilities>
<TargetArmAds>
@@ -264,7 +264,7 @@
<IRAM>
<Type>0</Type>
<StartAddress>0x20000000</StartAddress>
- <Size>0x5000</Size>
+ <Size>0x2000</Size>
</IRAM>
<IROM>
<Type>1</Type>
diff --git a/os/ports/RVCT/ARMCMx/LPC13xx/cmparams.h b/os/ports/RVCT/ARMCMx/LPC13xx/cmparams.h
new file mode 100644
index 000000000..799f14e64
--- /dev/null
+++ b/os/ports/RVCT/ARMCMx/LPC13xx/cmparams.h
@@ -0,0 +1,56 @@
+/*
+ ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 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/LPC13xx/cmparams.h
+ * @brief ARM Cortex-M3 parameters for the LPC13xx.
+ *
+ * @defgroup ARMCMx_LPC13xx LPC13xx Specific Parameters
+ * @ingroup ARMCMx_SPECIFIC
+ * @details This file contains the Cortex-M3 specific parameters for the
+ * LPC13xx 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 FALSE
+
+/**
+ * @brief Number of bits in priority masks.
+ */
+#define CORTEX_PRIORITY_BITS 3
+
+#endif /* _CMPARAMS_H_ */
+
+/** @} */
diff --git a/os/ports/RVCT/ARMCMx/LPC13xx/vectors.s b/os/ports/RVCT/ARMCMx/LPC13xx/vectors.s
new file mode 100644
index 000000000..f8a4d7f74
--- /dev/null
+++ b/os/ports/RVCT/ARMCMx/LPC13xx/vectors.s
@@ -0,0 +1,254 @@
+/*
+ ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 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/>.
+*/
+
+ 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
+ DCD VectorF4
+ DCD VectorF8
+ DCD VectorFC
+ DCD Vector100
+ DCD Vector104
+ DCD Vector108
+ DCD Vector10C
+ DCD Vector110
+ DCD Vector114
+ DCD Vector118
+ DCD Vector11C
+
+ 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]
+ EXPORT VectorF4 [WEAK]
+ EXPORT VectorF8 [WEAK]
+ EXPORT VectorFC [WEAK]
+ EXPORT Vector100 [WEAK]
+ EXPORT Vector104 [WEAK]
+ EXPORT Vector108 [WEAK]
+ EXPORT Vector10C [WEAK]
+ EXPORT Vector110 [WEAK]
+ EXPORT Vector114 [WEAK]
+ EXPORT Vector118 [WEAK]
+ EXPORT Vector11C [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
+VectorF4
+VectorF8
+VectorFC
+Vector100
+Vector104
+Vector108
+Vector10C
+Vector110
+Vector114
+Vector118
+Vector11C
+ b _unhandled_exception
+ ENDP
+
+ END