Add a GCC project to the the XMC1000 demo directory.

pull/4/head
Richard Barry 12 years ago
parent f9e024d7ea
commit 245ff12be8

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="com.atollic.truestudio.exe.debug.2093031755">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.atollic.truestudio.exe.debug.2093031755" moduleId="org.eclipse.cdt.core.settings" name="Debug">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="com.atollic.truestudio.exe.debug.2093031755" name="Debug" parent="com.atollic.truestudio.exe.debug">
<folderInfo id="com.atollic.truestudio.exe.debug.2093031755." name="/" resourcePath="">
<toolChain id="com.atollic.truestudio.exe.debug.toolchain.695580378" name="Atollic ARM Tools" superClass="com.atollic.truestudio.exe.debug.toolchain">
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.atollic.truestudio.exe.debug.toolchain.platform.2131771238" isAbstract="false" name="Debug platform" superClass="com.atollic.truestudio.exe.debug.toolchain.platform"/>
<builder buildPath="${workspace_loc:/RTOSDemo/Debug}" id="com.atollic.truestudio.mbs.builder1.1523343795" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" superClass="com.atollic.truestudio.mbs.builder1">
<outputEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name="Debug"/>
</outputEntries>
</builder>
<tool id="com.atollic.truestudio.exe.debug.toolchain.as.97785284" name="Assembler" superClass="com.atollic.truestudio.exe.debug.toolchain.as">
<option id="com.atollic.truestudio.common_options.target.fpucore.859341639" name="FPU" superClass="com.atollic.truestudio.common_options.target.fpucore" value="None" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.endianess.460598916" name="Endianess" superClass="com.atollic.truestudio.common_options.target.endianess"/>
<option id="com.atollic.truestudio.common_options.target.mcpu.1991364094" name="Microcontroller" superClass="com.atollic.truestudio.common_options.target.mcpu" value="XMC1200-T038F0200" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.instr_set.1178677075" name="Instruction set" superClass="com.atollic.truestudio.common_options.target.instr_set" value="com.atollic.truestudio.common_options.target.instr_set.thumb2" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpu.1312129520" name="Floating point" superClass="com.atollic.truestudio.common_options.target.fpu"/>
<option id="com.atollic.truestudio.as.symbols.defined.824610384" name="Defined symbols" superClass="com.atollic.truestudio.as.symbols.defined" valueType="definedSymbols">
<listOptionValue builtIn="false" value="XMC1200"/>
</option>
<option id="com.atollic.truestudio.as.general.incpath.1440953599" name="Include path" superClass="com.atollic.truestudio.as.general.incpath" valueType="includePath">
<listOptionValue builtIn="false" value="C:/E/Dev/FreeRTOS/WorkingCopy/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Libraries/Device/Infineon/XMC1200_series/Include"/>
<listOptionValue builtIn="false" value="C:/E/Dev/FreeRTOS/WorkingCopy/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Libraries/CMSIS/Include"/>
<listOptionValue builtIn="false" value="C:/E/Dev/FreeRTOS/WorkingCopy/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/src"/>
</option>
<inputType id="com.atollic.truestudio.as.input.1065597400" name="Input" superClass="com.atollic.truestudio.as.input"/>
</tool>
<tool id="com.atollic.truestudio.exe.debug.toolchain.gcc.37591077" name="C Compiler" superClass="com.atollic.truestudio.exe.debug.toolchain.gcc">
<option id="com.atollic.truestudio.common_options.target.mcpu.1203399414" name="Microcontroller" superClass="com.atollic.truestudio.common_options.target.mcpu" value="XMC1200-T038F0200" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.instr_set.505304009" name="Instruction set" superClass="com.atollic.truestudio.common_options.target.instr_set" value="com.atollic.truestudio.common_options.target.instr_set.thumb2" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.interwork.1573626780" name="Mix ARM/Thumb" superClass="com.atollic.truestudio.common_options.target.interwork"/>
<option id="com.atollic.truestudio.common_options.target.fpu.640300337" name="Floating point" superClass="com.atollic.truestudio.common_options.target.fpu"/>
<option id="com.atollic.truestudio.common_options.target.fpucore.1302488824" name="FPU" superClass="com.atollic.truestudio.common_options.target.fpucore" value="None" valueType="enumerated"/>
<option id="com.atollic.truestudio.gcc.symbols.defined.213458231" name="Defined symbols" superClass="com.atollic.truestudio.gcc.symbols.defined" valueType="definedSymbols">
<listOptionValue builtIn="false" value="XMC1200"/>
</option>
<option id="com.atollic.truestudio.gcc.directories.select.50847705" name="Include path" superClass="com.atollic.truestudio.gcc.directories.select" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/CMSIS}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Common_Demo_Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Atollic_Specific}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS_Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/FreeRTOS_Source/ARM_CM0}&quot;"/>
</option>
<option id="com.atollic.truestudio.common_options.target.endianess.1238437628" name="Endianess" superClass="com.atollic.truestudio.common_options.target.endianess"/>
<option id="com.atollic.truestudio.gcc.optimization.prep_garbage.1914199267" name="Prepare dead code removal" superClass="com.atollic.truestudio.gcc.optimization.prep_garbage" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.gcc.optimization.prep_data.989109200" name="Prepare dead data removal" superClass="com.atollic.truestudio.gcc.optimization.prep_data" value="true" valueType="boolean"/>
<inputType id="com.atollic.truestudio.gcc.input.1008000819" superClass="com.atollic.truestudio.gcc.input"/>
</tool>
<tool id="com.atollic.truestudio.exe.debug.toolchain.ld.298485676" name="C Linker" superClass="com.atollic.truestudio.exe.debug.toolchain.ld">
<option id="com.atollic.truestudio.common_options.target.fpucore.370646558" name="FPU" superClass="com.atollic.truestudio.common_options.target.fpucore" value="None" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.endianess.775626288" name="Endianess" superClass="com.atollic.truestudio.common_options.target.endianess"/>
<option id="com.atollic.truestudio.common_options.target.mcpu.822857371" name="Microcontroller" superClass="com.atollic.truestudio.common_options.target.mcpu" value="XMC1200-T038F0200" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.instr_set.1027082086" name="Instruction set" superClass="com.atollic.truestudio.common_options.target.instr_set" value="com.atollic.truestudio.common_options.target.instr_set.thumb2" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpu.2097263765" name="Floating point" superClass="com.atollic.truestudio.common_options.target.fpu"/>
<option id="com.atollic.truestudio.ld.general.clib.1499111687" name="Runtime Library:" superClass="com.atollic.truestudio.ld.general.clib" value="com.atollic.truestudio.ld.general.clib.small" valueType="enumerated"/>
<option id="com.atollic.truestudio.ld.general.scriptfile.1390912393" name="Linker script" superClass="com.atollic.truestudio.ld.general.scriptfile" value="../Atollic_Specific/xmc1000_flash.ld" valueType="string"/>
<option id="com.atollic.truestudio.ld.optimization.do_garbage.1726089101" name="Dead code removal" superClass="com.atollic.truestudio.ld.optimization.do_garbage" value="true" valueType="boolean"/>
<inputType id="com.atollic.truestudio.ld.input.715750125" name="Input" superClass="com.atollic.truestudio.ld.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="com.atollic.truestudio.exe.debug.toolchain.gpp.1902950101" name="C++ Compiler" superClass="com.atollic.truestudio.exe.debug.toolchain.gpp">
<option id="com.atollic.truestudio.gpp.symbols.defined.579464539" name="Defined symbols" superClass="com.atollic.truestudio.gpp.symbols.defined" valueType="definedSymbols">
<listOptionValue builtIn="false" value="XMC1200"/>
</option>
<option id="com.atollic.truestudio.gpp.directories.select.837492116" name="Include path" superClass="com.atollic.truestudio.gpp.directories.select" valueType="includePath">
<listOptionValue builtIn="false" value="../Libraries/Device/Infineon/XMC1200_series/Include"/>
<listOptionValue builtIn="false" value="../Libraries/CMSIS/Include"/>
<listOptionValue builtIn="false" value="../src"/>
</option>
<option id="com.atollic.truestudio.common_options.target.endianess.1746048697" name="Endianess" superClass="com.atollic.truestudio.common_options.target.endianess"/>
<option id="com.atollic.truestudio.common_options.target.mcpu.1737655603" name="Microcontroller" superClass="com.atollic.truestudio.common_options.target.mcpu" value="XMC1200-T038F0200" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.instr_set.2050062206" name="Instruction set" superClass="com.atollic.truestudio.common_options.target.instr_set" value="com.atollic.truestudio.common_options.target.instr_set.thumb2" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpucore.1899868679" name="FPU" superClass="com.atollic.truestudio.common_options.target.fpucore" value="None" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpu.142457111" name="Floating point" superClass="com.atollic.truestudio.common_options.target.fpu"/>
<option id="com.atollic.truestudio.gpp.optimization.prep_garbage.810923636" name="Prepare dead code removal" superClass="com.atollic.truestudio.gpp.optimization.prep_garbage" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.gpp.optimization.prep_data.717306270" name="Prepare dead data removal" superClass="com.atollic.truestudio.gpp.optimization.prep_data" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.gpp.optimization.fno_rtti.1460543604" name="Disable RTTI" superClass="com.atollic.truestudio.gpp.optimization.fno_rtti"/>
<option id="com.atollic.truestudio.gpp.optimization.fno_exceptions.350384352" name="Disable exception handling" superClass="com.atollic.truestudio.gpp.optimization.fno_exceptions"/>
</tool>
<tool id="com.atollic.truestudio.exe.debug.toolchain.ldcc.447187775" name="C++ Linker" superClass="com.atollic.truestudio.exe.debug.toolchain.ldcc">
<option id="com.atollic.truestudio.common_options.target.endianess.1650031295" name="Endianess" superClass="com.atollic.truestudio.common_options.target.endianess"/>
<option id="com.atollic.truestudio.common_options.target.mcpu.1471501166" name="Microcontroller" superClass="com.atollic.truestudio.common_options.target.mcpu" value="XMC1200-T038F0200" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.instr_set.408817938" name="Instruction set" superClass="com.atollic.truestudio.common_options.target.instr_set" value="com.atollic.truestudio.common_options.target.instr_set.thumb2" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpucore.1060198968" name="FPU" superClass="com.atollic.truestudio.common_options.target.fpucore" value="None" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpu.270724373" name="Floating point" superClass="com.atollic.truestudio.common_options.target.fpu"/>
<option id="com.atollic.truestudio.ld.general.cclib.2106093589" name="Runtime Library:" superClass="com.atollic.truestudio.ld.general.cclib"/>
<option id="com.atollic.truestudio.ldcc.optimization.do_garbage.643141574" name="Dead code removal" superClass="com.atollic.truestudio.ldcc.optimization.do_garbage" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.ldcc.general.scriptfile.865762444" name="Linker script" superClass="com.atollic.truestudio.ldcc.general.scriptfile" value="..\xmc1000_flash.ld" valueType="string"/>
</tool>
<tool id="com.atollic.truestudio.exe.debug.toolchain.secoutput.31389710" name="Other" superClass="com.atollic.truestudio.exe.debug.toolchain.secoutput"/>
</toolChain>
</folderInfo>
<fileInfo id="com.atollic.truestudio.exe.debug.2093031755.1258798340" name="main-full.c" rcbsApplicability="disable" resourcePath="main-full.c" toolsToInvoke="com.atollic.truestudio.exe.debug.toolchain.gcc.37591077.227330701">
<tool id="com.atollic.truestudio.exe.debug.toolchain.gcc.37591077.227330701" name="C Compiler" superClass="com.atollic.truestudio.exe.debug.toolchain.gcc.37591077"/>
</fileInfo>
<sourceEntries>
<entry excluding="Keil_Specific|IAR_Specific" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="RTOSDemo.com.atollic.truestudio.exe.1513105543" name="Executable" projectType="com.atollic.truestudio.exe"/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="Debug">
<resource resourceType="PROJECT" workspacePath="/RTOSDemo"/>
</configuration>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="com.atollic.truestudio.exe.debug.2093031755;com.atollic.truestudio.exe.debug.2093031755.;com.atollic.truestudio.exe.debug.toolchain.gcc.37591077;com.atollic.truestudio.gcc.input.1008000819">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.atollic.truestudio.mbs.ARMToolsPerProjectProfileC"/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
</cproject>

@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>RTOSDemo</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
<linkedResources>
<link>
<name>Common_Demo_Source</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>FreeRTOS_Source</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Common_Demo_Source/blocktim.c</name>
<type>1</type>
<locationURI>FREERTOS_BASE/Demo/Common/Minimal/blocktim.c</locationURI>
</link>
<link>
<name>Common_Demo_Source/countsem.c</name>
<type>1</type>
<locationURI>FREERTOS_BASE/Demo/Common/Minimal/countsem.c</locationURI>
</link>
<link>
<name>Common_Demo_Source/dynamic.c</name>
<type>1</type>
<locationURI>FREERTOS_BASE/Demo/Common/Minimal/dynamic.c</locationURI>
</link>
<link>
<name>Common_Demo_Source/include</name>
<type>2</type>
<locationURI>FREERTOS_BASE/Demo/Common/include</locationURI>
</link>
<link>
<name>Common_Demo_Source/recmutex.c</name>
<type>1</type>
<locationURI>FREERTOS_BASE/Demo/Common/Minimal/recmutex.c</locationURI>
</link>
<link>
<name>FreeRTOS_Source/ARM_CM0</name>
<type>2</type>
<locationURI>FREERTOS_BASE/Source/portable/GCC/ARM_CM0</locationURI>
</link>
<link>
<name>FreeRTOS_Source/heap_4.c</name>
<type>1</type>
<locationURI>FREERTOS_BASE/Source/portable/MemMang/heap_4.c</locationURI>
</link>
<link>
<name>FreeRTOS_Source/include</name>
<type>2</type>
<locationURI>FREERTOS_BASE/Source/include</locationURI>
</link>
<link>
<name>FreeRTOS_Source/list.c</name>
<type>1</type>
<locationURI>FREERTOS_BASE/Source/list.c</locationURI>
</link>
<link>
<name>FreeRTOS_Source/queue.c</name>
<type>1</type>
<locationURI>FREERTOS_BASE/Source/queue.c</locationURI>
</link>
<link>
<name>FreeRTOS_Source/tasks.c</name>
<type>1</type>
<locationURI>FREERTOS_BASE/Source/tasks.c</locationURI>
</link>
<link>
<name>FreeRTOS_Source/timers.c</name>
<type>1</type>
<locationURI>FREERTOS_BASE/Source/timers.c</locationURI>
</link>
</linkedResources>
<variableList>
<variable>
<name>FREERTOS_BASE</name>
<value>$%7BPARENT-2-PROJECT_LOC%7D</value>
</variable>
</variableList>
</projectDescription>

@ -0,0 +1,11 @@
BOARD=XMC1200_Boot_Kit
CODE_LOCATION=FLASH
ENDIAN=Little-endian
MCU=XMC1200-T038F0200
MCU_VENDOR=Infineon
MODEL=Pro
PROBE=SEGGER J-LINK
PROJECT_FORMAT_VERSION=2
TARGET=ARM\u00AE
VERSION=4.1.0
eclipse.preferences.version=1

@ -0,0 +1,11 @@
eclipse.preferences.version=1
environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.2093031755/CPATH/delimiter=;
environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.2093031755/CPATH/operation=remove
environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.2093031755/C_INCLUDE_PATH/delimiter=;
environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.2093031755/C_INCLUDE_PATH/operation=remove
environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.2093031755/append=true
environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.2093031755/appendContributed=true
environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.2093031755/LIBRARY_PATH/delimiter=;
environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.2093031755/LIBRARY_PATH/operation=remove
environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.2093031755/append=true
environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.2093031755/appendContributed=true

@ -0,0 +1,232 @@
/*
FreeRTOS V7.5.2 - Copyright (C) 2013 Real Time Engineers Ltd.
VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
***************************************************************************
* *
* FreeRTOS provides completely free yet professionally developed, *
* robust, strictly quality controlled, supported, and cross *
* platform software that has become a de facto standard. *
* *
* Help yourself get started quickly and support the FreeRTOS *
* project by purchasing a FreeRTOS tutorial book, reference *
* manual, or both from: http://www.FreeRTOS.org/Documentation *
* *
* Thank you! *
* *
***************************************************************************
This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.
>>! NOTE: The modification to the GPL is included to allow you to distribute
>>! a combined work that includes FreeRTOS without being obliged to provide
>>! the source code for proprietary components outside of the FreeRTOS
>>! kernel.
FreeRTOS 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. Full license text is available from the following
link: http://www.freertos.org/a00114.html
1 tab == 4 spaces!
***************************************************************************
* *
* Having a problem? Start by reading the FAQ "My application does *
* not run, what could be wrong?" *
* *
* http://www.FreeRTOS.org/FAQHelp.html *
* *
***************************************************************************
http://www.FreeRTOS.org - Documentation, books, training, latest versions,
license and Real Time Engineers Ltd. contact details.
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
including FreeRTOS+Trace - an indispensable productivity tool, a DOS
compatible FAT file system, and our tiny thread aware UDP/IP stack.
http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS
licenses offer ticketed support, indemnification and middleware.
http://www.SafeRTOS.com - High Integrity Systems also provide a safety
engineered and independently SIL3 certified version for use in safety and
mission critical applications that require provable dependability.
1 tab == 4 spaces!
*/
void vRegTest1Task( void ) __attribute__((naked));
void vRegTest2Task( void ) __attribute__((naked));
void vRegTest1Task( void )
{
__asm volatile
(
".extern ulRegTest1LoopCounter \n"
" \n"
" /* Fill the core registers with known values. */ \n"
" movs r1, #101 \n"
" movs r2, #102 \n"
" movs r3, #103 \n"
" movs r4, #104 \n"
" movs r5, #105 \n"
" movs r6, #106 \n"
" movs r7, #107 \n"
" movs r0, #108 \n"
" mov r8, r0 \n"
" movs r0, #109 \n"
" mov r9, r0 \n"
" movs r0, #110 \n"
" mov r10, r0 \n"
" movs r0, #111 \n"
" mov r11, r0 \n"
" movs r0, #112 \n"
" mov r12, r0 \n"
" movs r0, #100 \n"
" \n"
"reg1_loop: \n"
" \n"
" cmp r0, #100 \n"
" bne reg1_error_loop \n"
" cmp r1, #101 \n"
" bne reg1_error_loop \n"
" cmp r2, #102 \n"
" bne reg1_error_loop \n"
" cmp r3, #103 \n"
" bne reg1_error_loop \n"
" cmp r4, #104 \n"
" bne reg1_error_loop \n"
" cmp r5, #105 \n"
" bne reg1_error_loop \n"
" cmp r6, #106 \n"
" bne reg1_error_loop \n"
" cmp r7, #107 \n"
" bne reg1_error_loop \n"
" movs r0, #108 \n"
" cmp r8, r0 \n"
" bne reg1_error_loop \n"
" movs r0, #109 \n"
" cmp r9, r0 \n"
" bne reg1_error_loop \n"
" movs r0, #110 \n"
" cmp r10, r0 \n"
" bne reg1_error_loop \n"
" movs r0, #111 \n"
" cmp r11, r0 \n"
" bne reg1_error_loop \n"
" movs r0, #112 \n"
" cmp r12, r0 \n"
" bne reg1_error_loop \n"
" \n"
" /* Everything passed, increment the loop counter. */ \n"
" push { r1 } \n"
" ldr r0, =ulRegTest1LoopCounter \n"
" ldr r1, [r0] \n"
" add r1, r1, #1 \n"
" str r1, [r0] \n"
" pop { r1 } \n"
" \n"
" /* Start again. */ \n"
" movs r0, #100 \n"
" b reg1_loop \n"
" \n"
"reg1_error_loop: \n"
" /* If this line is hit then there was an error in a core register value. \n"
" The loop ensures the loop counter stops incrementing. */ \n"
" b reg1_error_loop \n"
" nop \n"
);
}
/*-----------------------------------------------------------*/
void vRegTest2Task( void )
{
__asm volatile
(
".extern ulRegTest2LoopCounter \n"
" \n"
" /* Fill the core registers with known values. */ \n"
" movs r1, #1 \n"
" movs r2, #2 \n"
" movs r3, #3 \n"
" movs r4, #4 \n"
" movs r5, #5 \n"
" movs r6, #6 \n"
" movs r7, #7 \n"
" movs r0, #8 \n"
" movs r8, r0 \n"
" movs r0, #9 \n"
" mov r9, r0 \n"
" movs r0, #10 \n"
" mov r10, r0 \n"
" movs r0, #11 \n"
" mov r11, r0 \n"
" movs r0, #12 \n"
" mov r12, r0 \n"
" movs r0, #10 \n"
" \n"
"reg2_loop: \n"
" \n"
" cmp r0, #10 \n"
" bne reg2_error_loop \n"
" cmp r1, #1 \n"
" bne reg2_error_loop \n"
" cmp r2, #2 \n"
" bne reg2_error_loop \n"
" cmp r3, #3 \n"
" bne reg2_error_loop \n"
" cmp r4, #4 \n"
" bne reg2_error_loop \n"
" cmp r5, #5 \n"
" bne reg2_error_loop \n"
" cmp r6, #6 \n"
" bne reg2_error_loop \n"
" cmp r7, #7 \n"
" bne reg2_error_loop \n"
" movs r0, #8 \n"
" cmp r8, r0 \n"
" bne reg2_error_loop \n"
" movs r0, #9 \n"
" cmp r9, r0 \n"
" bne reg2_error_loop \n"
" movs r0, #10 \n"
" cmp r10, r0 \n"
" bne reg2_error_loop \n"
" movs r0, #11 \n"
" cmp r11, r0 \n"
" bne reg2_error_loop \n"
" movs r0, #12 \n"
" cmp r12, r0 \n"
" bne reg2_error_loop \n"
" \n"
" /* Everything passed, increment the loop counter. */ \n"
" push { r1 } \n"
" ldr r0, =ulRegTest2LoopCounter \n"
" ldr r1, [r0] \n"
" add r1, r1, #1 \n"
" str r1, [r0] \n"
" pop { r1 } \n"
" \n"
" /* Start again. */ \n"
" movs r0, #10 \n"
" b reg2_loop \n"
" \n"
"reg2_error_loop: \n"
" /* If this line is hit then there was an error in a core register value. \n"
" The loop ensures the loop counter stops incrementing. */ \n"
" b reg2_error_loop \n"
" nop \n"
);
}
/*-----------------------------------------------------------*/

@ -0,0 +1,608 @@
/**
*****************************************************************************
**
** File : startup_XMC1200.s
**
** Abstract : This assembler file contains interrupt vector and
** startup code for ARM.
**
** Functions : Reset_Handler
** Default_Handler
** XMCVeneer code
**
** Target : Infineon $(DEVICE) Device
**
** Environment : Atollic TrueSTUDIO(R)
**
** Distribution: The file is distributed as is, without any warranty
** of any kind.
**
** (c)Copyright Atollic AB.
** You may use this file as-is or modify it according to the needs of your
** project. This file may only be built (assembled or compiled and linked)
** using the Atollic TrueSTUDIO(R) product. The use of this file together
** with other tools than Atollic TrueSTUDIO(R) is not permitted.
**
*****************************************************************************
*/
#ifdef DAVE_CE
#include <Device_Data.h>
#else
#define CLKVAL1_SSW 0x80000000
#define CLKVAL2_SSW 0x80000000
#endif
.syntax unified
.cpu cortex-m0
.fpu softvfp
.thumb
.global Reset_Handler
.global InterruptVector
.global Default_Handler
/* Linker script definitions */
/* start address for the initialization values of the .data section */
.word _sidata
/* start address for the .data section */
.word _sdata
/* end address for the .data section */
.word _edata
/* start address for the .bss section */
.word _sbss
/* end address for the .bss section */
.word _ebss
.word VeneerLoadAddr
.word VeneerStart
.word VeneerSize
/**
**===========================================================================
** Program - Reset_Handler
** Abstract: This code gets called after reset.
**===========================================================================
*/
.section .text.Reset_Handler,"ax", %progbits
.type Reset_Handler, %function
Reset_Handler:
/* Set stack pointer */
ldr r0, =_estack
mov sp, r0
/* Branch to SystemInit function */
bl SystemInit
/* Copy data initialization values */
ldr r1,=_sidata
ldr r2,=_sdata
ldr r3,=_edata
b cmpdata
CopyLoop:
ldr r0, [r1]
str r0, [r2]
adds r1, r1, #4
adds r2, r2, #4
cmpdata:
cmp r2, r3
blt CopyLoop
/* Clear BSS section */
movs r0, #0
ldr r2,=_sbss
ldr r3,=_ebss
b cmpbss
ClearLoop:
str r0, [r2]
adds r2, r2, #4
cmpbss:
cmp r2, r3
blt ClearLoop
/* VENEER COPY */
/* R0 = Start address, R1 = Destination address, R2 = Size */
ldr r0, =VeneerLoadAddr
ldr r1, =VeneerStart
ldr r2, =VeneerSize
STARTVENEERCOPY:
/* R2 contains byte count. Change it to word count. It is ensured in the
linker script that the length is always word aligned.
*/
lsrs r2,r2,#2 /* Divide by 4 to obtain word count */
beq SKIPVENEERCOPY
/* The proverbial loop from the schooldays */
VENEERCOPYLOOP:
ldr r3,[R0]
str r3,[R1]
subs r2,#1
beq SKIPVENEERCOPY
adds r0,#4
adds r1,#4
b VENEERCOPYLOOP
SKIPVENEERCOPY:
/* Update System Clock */
ldr r0,=SystemCoreClockUpdate
blx r0
/* Call static constructors */
bl __libc_init_array
/* Branch to main */
bl main
/* If main returns, branch to Default_Handler. */
b Default_Handler
.size Reset_Handler, .-Reset_Handler
/**
**===========================================================================
** Program - Default_Handler
** Abstract: This code gets called when the processor receives an
** unexpected interrupt.
**===========================================================================
*/
.section .text.Default_Handler,"ax", %progbits
Default_Handler:
b Default_Handler
.size Default_Handler, .-Default_Handler
/**
**===========================================================================
** Interrupt vector table
**===========================================================================
*/
.section .isr_vector,"a", %progbits
.globl InterruptVector
.type InterruptVector, %object
InterruptVector:
.word _estack /* 0 - Stack pointer */
.word Reset_Handler /* 1 - Reset */
.word NMI_Handler /* 2 - NMI */
.word HardFault_Handler /* 3 - Hard fault */
.word CLKVAL1_SSW /* Clock configuration value */
.word CLKVAL2_SSW /* Clock gating configuration */
.size InterruptVector, . - InterruptVector
/**
**===========================================================================
** Weak interrupt handlers redirected to Default_Handler. These can be
** overridden in user code.
**===========================================================================
*/
.weak NMI_Handler
.thumb_set NMI_Handler, Default_Handler
.weak HardFault_Handler
.thumb_set HardFault_Handler, Default_Handler
.weak SVC_Handler
.thumb_set SVC_Handler, Default_Handler
.weak PendSV_Handler
.thumb_set PendSV_Handler, Default_Handler
.weak SysTick_Handler
.thumb_set SysTick_Handler, Default_Handler
/* ============= START OF INTERRUPT HANDLER DEFINITION ====================== */
/* IRQ Handlers */
.weak SCU_0_IRQHandler
.type SCU_0_IRQHandler, %function
SCU_0_IRQHandler:
B .
.size SCU_0_IRQHandler, . - SCU_0_IRQHandler
/* ======================================================================== */
.weak SCU_1_IRQHandler
.type SCU_1_IRQHandler, %function
SCU_1_IRQHandler:
B .
.size SCU_1_IRQHandler, . - SCU_1_IRQHandler
/* ======================================================================== */
.weak SCU_2_IRQHandler
.type SCU_2_IRQHandler, %function
SCU_2_IRQHandler:
B .
.size SCU_2_IRQHandler, . - SCU_2_IRQHandler
/* ======================================================================== */
.weak ERU0_0_IRQHandler
.type ERU0_0_IRQHandler, %function
ERU0_0_IRQHandler:
B .
.size ERU0_0_IRQHandler, . - ERU0_0_IRQHandler
/* ======================================================================== */
.weak ERU0_1_IRQHandler
.type ERU0_1_IRQHandler, %function
ERU0_1_IRQHandler:
B .
.size ERU0_1_IRQHandler, . - ERU0_1_IRQHandler
/* ======================================================================== */
.weak ERU0_2_IRQHandler
.type ERU0_2_IRQHandler, %function
ERU0_2_IRQHandler:
B .
.size ERU0_2_IRQHandler, . - ERU0_2_IRQHandler
/* ======================================================================== */
.weak ERU0_3_IRQHandler
.type ERU0_3_IRQHandler, %function
ERU0_3_IRQHandler:
B .
.size ERU0_3_IRQHandler, . - ERU0_3_IRQHandler
/* ======================================================================== */
.weak MATH0_0_IRQHandler
.type MATH0_0_IRQHandler, %function
MATH0_0_IRQHandler:
B .
.size MATH0_0_IRQHandler, . - MATH0_0_IRQHandler
/* ======================================================================== */
.weak VADC0_C0_0_IRQHandler
.type VADC0_C0_0_IRQHandler , %function
VADC0_C0_0_IRQHandler:
B .
.size VADC0_C0_0_IRQHandler , . - VADC0_C0_0_IRQHandler
/* ======================================================================== */
.weak VADC0_C0_1_IRQHandler
.type VADC0_C0_1_IRQHandler , %function
VADC0_C0_1_IRQHandler:
B .
.size VADC0_C0_1_IRQHandler , . - VADC0_C0_1_IRQHandler
/* ======================================================================== */
.weak VADC0_G0_0_IRQHandler
.type VADC0_G0_0_IRQHandler, %function
VADC0_G0_0_IRQHandler:
B .
.size VADC0_G0_0_IRQHandler, . - VADC0_G0_0_IRQHandler
/* ======================================================================== */
.weak VADC0_G0_1_IRQHandler
.type VADC0_G0_1_IRQHandler, %function
VADC0_G0_1_IRQHandler:
B .
.size VADC0_G0_1_IRQHandler, . - VADC0_G0_1_IRQHandler
/* ======================================================================== */
.weak VADC0_G1_0_IRQHandler
.type VADC0_G1_0_IRQHandler, %function
VADC0_G1_0_IRQHandler:
B .
.size VADC0_G1_0_IRQHandler, . - VADC0_G1_0_IRQHandler
/* ======================================================================== */
.weak VADC0_G1_1_IRQHandler
.type VADC0_G1_1_IRQHandler, %function
VADC0_G1_1_IRQHandler:
B .
.size VADC0_G1_1_IRQHandler, . - VADC0_G1_1_IRQHandler
/* ======================================================================== */
.weak CCU40_0_IRQHandler
.type CCU40_0_IRQHandler, %function
CCU40_0_IRQHandler:
B .
.size CCU40_0_IRQHandler, . - CCU40_0_IRQHandler
/* ======================================================================== */
.weak CCU40_1_IRQHandler
.type CCU40_1_IRQHandler, %function
CCU40_1_IRQHandler:
B .
.size CCU40_1_IRQHandler, . - CCU40_1_IRQHandler
/* ======================================================================== */
.weak CCU40_2_IRQHandler
.type CCU40_2_IRQHandler, %function
CCU40_2_IRQHandler:
B .
.size CCU40_2_IRQHandler, . - CCU40_2_IRQHandler
/* ======================================================================== */
.weak CCU40_3_IRQHandler
.type CCU40_3_IRQHandler, %function
CCU40_3_IRQHandler:
B .
.size CCU40_3_IRQHandler, . - CCU40_3_IRQHandler
/* ======================================================================== */
.weak CCU80_0_IRQHandler
.type CCU80_0_IRQHandler, %function
CCU80_0_IRQHandler:
B .
.size CCU80_0_IRQHandler, . - CCU80_0_IRQHandler
/* ======================================================================== */
.weak CCU80_1_IRQHandler
.type CCU80_1_IRQHandler, %function
CCU80_1_IRQHandler:
B .
.size CCU80_1_IRQHandler, . - CCU80_1_IRQHandler
/* ======================================================================== */
.weak POSIF0_0_IRQHandler
.type POSIF0_0_IRQHandler, %function
POSIF0_0_IRQHandler:
B .
.size POSIF0_0_IRQHandler, . - POSIF0_0_IRQHandler
/* ======================================================================== */
.weak POSIF0_1_IRQHandler
.type POSIF0_1_IRQHandler, %function
POSIF0_1_IRQHandler:
B .
.size POSIF0_1_IRQHandler, . - POSIF0_1_IRQHandler
/* ======================================================================== */
.weak USIC0_0_IRQHandler
.type USIC0_0_IRQHandler, %function
USIC0_0_IRQHandler:
B .
.size USIC0_0_IRQHandler, . - USIC0_0_IRQHandler
/* ======================================================================== */
.weak USIC0_1_IRQHandler
.type USIC0_1_IRQHandler, %function
USIC0_1_IRQHandler:
B .
.size USIC0_1_IRQHandler, . - USIC0_1_IRQHandler
/* ======================================================================== */
.weak USIC0_2_IRQHandler
.type USIC0_2_IRQHandler, %function
USIC0_2_IRQHandler:
B .
.size USIC0_2_IRQHandler, . - USIC0_2_IRQHandler
/* ======================================================================== */
.weak USIC0_3_IRQHandler
.type USIC0_3_IRQHandler, %function
USIC0_3_IRQHandler:
B .
.size USIC0_3_IRQHandler, . - USIC0_3_IRQHandler
/* ======================================================================== */
.weak USIC0_4_IRQHandler
.type USIC0_4_IRQHandler, %function
USIC0_4_IRQHandler:
B .
.size USIC0_4_IRQHandler, . - USIC0_4_IRQHandler
/* ======================================================================== */
.weak USIC0_5_IRQHandler
.type USIC0_5_IRQHandler, %function
USIC0_5_IRQHandler:
B .
.size USIC0_5_IRQHandler, . - USIC0_5_IRQHandler
/* ======================================================================== */
.weak LEDTS0_0_IRQHandler
.type LEDTS0_0_IRQHandler, %function
LEDTS0_0_IRQHandler:
B .
.size LEDTS0_0_IRQHandler, . - LEDTS0_0_IRQHandler
/* ======================================================================== */
.weak LEDTS1_0_IRQHandler
.type LEDTS1_0_IRQHandler, %function
LEDTS1_0_IRQHandler:
B .
.size LEDTS1_0_IRQHandler, . - LEDTS1_0_IRQHandler
/* ======================================================================== */
.weak BCCU0_0_IRQHandler
.type BCCU0_0_IRQHandler, %function
BCCU0_0_IRQHandler:
B .
.size BCCU0_0_IRQHandler, . - BCCU0_0_IRQHandler
/* ======================================================================== */
/* ======================================================================== */
/* ==================VENEERS VENEERS VENEERS VENEERS VENEERS=============== */
.section ".XmcVeneerCode","ax",%progbits
.globl HardFault_Veneer
HardFault_Veneer:
LDR R0, =HardFault_Handler
MOV PC,R0
.long 0
.long 0
.long 0
.long 0
.long 0
.long 0
.long 0
/* ======================================================================== */
.globl SVC_Veneer
SVC_Veneer:
LDR R0, =SVC_Handler
MOV PC,R0
.long 0
.long 0
/* ======================================================================== */
.globl PendSV_Veneer
PendSV_Veneer:
LDR R0, =PendSV_Handler
MOV PC,R0
/* ======================================================================== */
.globl SysTick_Veneer
SysTick_Veneer:
LDR R0, =SysTick_Handler
MOV PC,R0
/* ======================================================================== */
.globl SCU_0_Veneer
SCU_0_Veneer:
LDR R0, =SCU_0_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl SCU_1_Veneer
SCU_1_Veneer:
LDR R0, =SCU_1_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl SCU_2_Veneer
SCU_2_Veneer:
LDR R0, =SCU_2_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl SCU_3_Veneer
SCU_3_Veneer:
LDR R0, =ERU0_0_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl SCU_4_Veneer
SCU_4_Veneer:
LDR R0, =ERU0_1_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl SCU_5_Veneer
SCU_5_Veneer:
LDR R0, =ERU0_2_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl SCU_6_Veneer
SCU_6_Veneer:
LDR R0, =ERU0_3_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl SCU_7_Veneer
SCU_7_Veneer:
LDR R0, =MATH0_0_IRQHandler
MOV PC,R0
.long 0
/* ======================================================================== */
.globl VADC0_C0_0_Veneer
VADC0_C0_0_Veneer:
LDR R0, =VADC0_C0_0_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl VADC0_C0_1_Veneer
VADC0_C0_1_Veneer:
LDR R0, =VADC0_C0_1_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl VADC0_G0_0_Veneer
VADC0_G0_0_Veneer:
LDR R0, =VADC0_G0_0_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl VADC0_G0_1_Veneer
VADC0_G0_1_Veneer:
LDR R0, =VADC0_G0_1_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl VADC0_G1_0_Veneer
VADC0_G1_0_Veneer:
LDR R0, =VADC0_G1_0_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl VADC0_G1_1_Veneer
VADC0_G1_1_Veneer:
LDR R0, =VADC0_G1_1_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl CCU40_0_Veneer
CCU40_0_Veneer:
LDR R0, =CCU40_0_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl CCU40_1_Veneer
CCU40_1_Veneer:
LDR R0, =CCU40_1_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl CCU40_2_Veneer
CCU40_2_Veneer:
LDR R0, =CCU40_2_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl CCU40_3_Veneer
CCU40_3_Veneer:
LDR R0, =CCU40_3_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl CCU80_0_Veneer
CCU80_0_Veneer:
LDR R0, =CCU80_0_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl CCU80_1_Veneer
CCU80_1_Veneer:
LDR R0, =CCU80_1_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl POSIF0_0_Veneer
POSIF0_0_Veneer:
LDR R0, =POSIF0_0_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl POSIF0_1_Veneer
POSIF0_1_Veneer:
LDR R0, =POSIF0_1_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl USIC0_0_Veneer
USIC0_0_Veneer:
LDR R0, =USIC0_0_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl USIC0_1_Veneer
USIC0_1_Veneer:
LDR R0, =USIC0_1_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl USIC0_2_Veneer
USIC0_2_Veneer:
LDR R0, =USIC0_2_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl USIC0_3_Veneer
USIC0_3_Veneer:
LDR R0, =USIC0_3_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl USIC0_4_Veneer
USIC0_4_Veneer:
LDR R0, =USIC0_4_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl USIC0_5_Veneer
USIC0_5_Veneer:
LDR R0, =USIC0_5_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl LEDTS0_0_Veneer
LEDTS0_0_Veneer:
LDR R0, =LEDTS0_0_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl LEDTS1_0_Veneer
LEDTS1_0_Veneer:
LDR R0, =LEDTS1_0_IRQHandler
MOV PC,R0
/* ======================================================================== */
.globl BCCU0_0_Veneer
BCCU0_0_Veneer:
LDR R0, =BCCU0_0_IRQHandler
MOV PC,R0
/* ======================================================================== */
/* ===== Decision function queried by CMSIS startup for Clock tree setup === */
/* In the absence of DAVE code engine, CMSIS SystemInit() must perform clock
tree setup.
This decision routine defined here will always return TRUE.
When overridden by a definition defined in DAVE code engine, this routine
returns FALSE indicating that the code engine has performed the clock setup
*/
.section ".XmcStartup"
.weak AllowClkInitByStartup
.type AllowClkInitByStartup, %function
AllowClkInitByStartup:
MOVS R0,#1
BX LR
.size AllowClkInitByStartup, . - AllowClkInitByStartup
/* ====== Definition of the default weak SystemInit_DAVE3 function =========
If DAVE3 requires an extended SystemInit it will create its own version of
SystemInit_DAVE3 which overrides this weak definition. Example includes
setting up of external memory interfaces.
*/
.weak SystemInit_DAVE3
.type SystemInit_DAVE3, %function
SystemInit_DAVE3:
NOP
BX LR
.size SystemInit_DAVE3, . - SystemInit_DAVE3
.end

@ -0,0 +1,190 @@
/*
*****************************************************************************
**
** File : xmc1000_flash.ld
**
** Abstract : Linker script for XMC1200-T038F0200 Device with
** 200KByte FLASH, 16KByte RAM
**
** Set heap size, stack size and stack location according
** to application requirements.
**
** Target : Infineon XMC1000 Microcontrollers
**
** Environment : Atollic TrueSTUDIO(R)
**
** Distribution: The file is distributed “as is,” without any warranty
** of any kind.
**
** (c)Copyright Atollic AB.
** You may use this file as-is or modify it according to the needs of your
** project. This file may only be built (assembled or compiled and linked)
** using the Atollic TrueSTUDIO(R) product. The use of this file together
** with other tools than Atollic TrueSTUDIO(R) is not permitted.
**
*****************************************************************************
*/
/* Entry Point */
ENTRY(Reset_Handler)
/* Highest address of the user mode stack */
_estack = 0x20004000; /* end of 16K RAM */
/* Generate a link error if heap and stack don't fit into RAM */
_Min_Heap_Size = 0; /* required amount of heap */
_Min_Stack_Size = 0x80; /* required amount of stack */
/* Specify the memory areas */
MEMORY
{
FLASH (rx) : ORIGIN = 0x10001000, LENGTH = 200K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 16K
MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K
}
/* Define output sections */
SECTIONS
{
/* The startup code goes first into FLASH */
.isr_vector :
{
. = ALIGN(4);
KEEP(*(.isr_vector)) /* Startup code */
. = ALIGN(4);
} >FLASH
/* The program code and other data goes into FLASH */
.text :
{
. = ALIGN(4);
*(.text) /* .text sections (code) */
*(.text*) /* .text* sections (code) */
*(.XmcStartup);
*(.glue_7) /* glue arm to thumb code */
*(.glue_7t) /* glue thumb to arm code */
*(.eh_frame)
KEEP (*(.init))
KEEP (*(.fini))
. = ALIGN(4);
_etext = .; /* define a global symbols at end of code */
} >FLASH
/* Constant data goes into FLASH */
.rodata :
{
. = ALIGN(4);
*(.rodata) /* .rodata sections (constants, strings, etc.) */
*(.rodata*) /* .rodata* sections (constants, strings, etc.) */
. = ALIGN(4);
} >FLASH
.ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH
.ARM : {
__exidx_start = .;
*(.ARM.exidx*)
__exidx_end = .;
} >FLASH
.preinit_array :
{
PROVIDE_HIDDEN (__preinit_array_start = .);
KEEP (*(.preinit_array*))
PROVIDE_HIDDEN (__preinit_array_end = .);
} >FLASH
.init_array :
{
PROVIDE_HIDDEN (__init_array_start = .);
KEEP (*(SORT(.init_array.*)))
KEEP (*(.init_array*))
PROVIDE_HIDDEN (__init_array_end = .);
} >FLASH
.fini_array :
{
PROVIDE_HIDDEN (__fini_array_start = .);
KEEP (*(SORT(.fini_array.*)))
KEEP (*(.fini_array*))
PROVIDE_HIDDEN (__fini_array_end = .);
} >FLASH
. = ALIGN(4);
eROData = . ;
/* Initialize XMC Veneer interrupt code */
VeneerLoadAddr = ABSOLUTE(eROData);
.VENEER_Code ABSOLUTE(0x2000000C) :
{
VeneerStart = .;
KEEP(*(.XmcVeneerCode)) /* Keep the VeneerCode */
*(.XmcVeneerCode);
. = ALIGN(4);
VeneerEnd = .;
} >RAM AT> FLASH
VeneerSize = ABSOLUTE(VeneerEnd) - ABSOLUTE(VeneerStart);
/* used by the startup to initialize data */
_sidata = LOADADDR(.data);
/* Initialized data sections goes into RAM, load LMA copy after code */
.data :
{
. = ALIGN(4);
_sdata = .; /* create a global symbol at data start */
*(.data) /* .data sections */
*(.data*) /* .data* sections */
. = ALIGN(4);
_edata = .; /* define a global symbol at data end */
} >RAM AT> FLASH
/* Uninitialized data section */
. = ALIGN(4);
.bss :
{
/* This is used by the startup in order to initialize the .bss secion */
_sbss = .; /* define a global symbol at bss start */
__bss_start__ = _sbss;
*(.bss)
*(.bss*)
*(COMMON)
. = ALIGN(4);
_ebss = .; /* define a global symbol at bss end */
__bss_end__ = _ebss;
} >RAM
/* User_heap_stack section, used to check that there is enough RAM left */
._user_heap_stack :
{
. = ALIGN(4);
PROVIDE ( end = . );
PROVIDE ( _end = . );
. = . + _Min_Heap_Size;
. = . + _Min_Stack_Size;
. = ALIGN(4);
} >RAM
/* MEMORY_bank1 section, code must be located here explicitly */
/* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */
.memory_b1_text :
{
*(.mb1text) /* .mb1text sections (code) */
*(.mb1text*) /* .mb1text* sections (code) */
*(.mb1rodata) /* read-only data (constants) */
*(.mb1rodata*)
} >MEMORY_B1
/* Remove information from the standard libraries */
/DISCARD/ :
{
libc.a ( * )
libm.a ( * )
libgcc.a ( * )
}
.ARM.attributes 0 : { *(.ARM.attributes) }
}

@ -0,0 +1,34 @@
[BREAKPOINTS]
ShowInfoWin = 1
EnableFlashBP = 2
BPDuringExecution = 0
[CFI]
CFISize = 0x00
CFIAddr = 0x00
[CPU]
OverrideMemMap = 0
AllowSimulation = 1
ScriptFile=""
[FLASH]
CacheExcludeSize = 0x00
CacheExcludeAddr = 0x00
MinNumBytesFlashDL = 0
SkipProgOnCRCMatch = 1
VerifyDownload = 1
AllowCaching = 1
EnableFlashDL = 2
Override = 0
Device="UNSPECIFIED"
[GENERAL]
WorkRAMSize = 0x00
WorkRAMAddr = 0x00
RAMUsageLimit = 0x00
[SWO]
SWOLogFile=""
[MEM]
RdOverrideOrMask = 0x00
RdOverrideAndMask = 0xFFFFFFFF
RdOverrideAddr = 0xFFFFFFFF
WrOverrideOrMask = 0x00
WrOverrideAndMask = 0xFFFFFFFF
WrOverrideAddr = 0xFFFFFFFF

@ -297,12 +297,11 @@
</option> </option>
<option> <option>
<name>CCIncludePath2</name> <name>CCIncludePath2</name>
<state>$PROJ_DIR$\Dave\Generated\inc\DAVESupport</state>
<state>$PROJ_DIR$\..\..\source\include</state>
<state>$PROJ_DIR$\..\..\source\portable\IAR\ARM_CM0</state>
<state>$PROJ_DIR$\.</state> <state>$PROJ_DIR$\.</state>
<state>$PROJ_DIR$\System_IAR</state> <state>$PROJ_DIR$\CMSIS</state>
<state>$PROJ_DIR$\..\common\include</state> <state>$PROJ_DIR$\..\common\include</state>
<state>$PROJ_DIR$\..\..\source\include</state>
<state>$PROJ_DIR$\..\..\source\portable\IAR\ARM_CM0</state>
</option> </option>
<option> <option>
<name>CCStdIncCheck</name> <name>CCStdIncCheck</name>
@ -939,15 +938,6 @@
<data/> <data/>
</settings> </settings>
</configuration> </configuration>
<group>
<name>System</name>
<file>
<name>$PROJ_DIR$\System_IAR\startup_XMC1200.s</name>
</file>
<file>
<name>$PROJ_DIR$\system_XMC1200.c</name>
</file>
</group>
<group> <group>
<name>Common Demo Source</name> <name>Common Demo Source</name>
<file> <file>
@ -990,6 +980,15 @@
<name>$PROJ_DIR$\..\..\Source\timers.c</name> <name>$PROJ_DIR$\..\..\Source\timers.c</name>
</file> </file>
</group> </group>
<group>
<name>System</name>
<file>
<name>$PROJ_DIR$\IAR_Specific\startup_XMC1200.s</name>
</file>
<file>
<name>$PROJ_DIR$\system_XMC1200.c</name>
</file>
</group>
<file> <file>
<name>$PROJ_DIR$\main-blinky.c</name> <name>$PROJ_DIR$\main-blinky.c</name>
</file> </file>
@ -1003,7 +1002,7 @@
<name>$PROJ_DIR$\ParTest_XMC1200.c</name> <name>$PROJ_DIR$\ParTest_XMC1200.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\RegTest_IAR.s</name> <name>$PROJ_DIR$\IAR_Specific\RegTest_IAR.s</name>
</file> </file>
</project> </project>

@ -424,7 +424,7 @@
<Group> <Group>
<GroupName>System</GroupName> <GroupName>System</GroupName>
<tvExp>1</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
@ -436,18 +436,18 @@
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>0</ColumnNumber> <ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<TopLine>0</TopLine> <TopLine>90</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>128</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>.\System_Keil\system_XMC1300.c</PathWithFileName> <PathWithFileName>.\system_XMC1200.c</PathWithFileName>
<FilenameWithoutPath>system_XMC1300.c</FilenameWithoutPath> <FilenameWithoutPath>system_XMC1200.c</FilenameWithoutPath>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>1</GroupNumber> <GroupNumber>1</GroupNumber>
<FileNumber>2</FileNumber> <FileNumber>2</FileNumber>
<FileType>1</FileType> <FileType>2</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>0</ColumnNumber> <ColumnNumber>0</ColumnNumber>
@ -455,43 +455,11 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>.\System_Keil\system_XMC1100.c</PathWithFileName> <PathWithFileName>.\Keil_Specific\startup_XMC1300.s</PathWithFileName>
<FilenameWithoutPath>system_XMC1100.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>3</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
<TopLine>120</TopLine>
<CurrentLine>132</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>.\System_Keil\startup_XMC1300.s</PathWithFileName>
<FilenameWithoutPath>startup_XMC1300.s</FilenameWithoutPath> <FilenameWithoutPath>startup_XMC1300.s</FilenameWithoutPath>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>4</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
<TopLine>77</TopLine>
<CurrentLine>128</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>.\system_XMC1200.c</PathWithFileName>
<FilenameWithoutPath>system_XMC1200.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group> </Group>
<Group> <Group>
@ -502,7 +470,7 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>2</GroupNumber> <GroupNumber>2</GroupNumber>
<FileNumber>5</FileNumber> <FileNumber>3</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -518,7 +486,7 @@
</File> </File>
<File> <File>
<GroupNumber>2</GroupNumber> <GroupNumber>2</GroupNumber>
<FileNumber>6</FileNumber> <FileNumber>4</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -534,7 +502,7 @@
</File> </File>
<File> <File>
<GroupNumber>2</GroupNumber> <GroupNumber>2</GroupNumber>
<FileNumber>7</FileNumber> <FileNumber>5</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -550,7 +518,7 @@
</File> </File>
<File> <File>
<GroupNumber>2</GroupNumber> <GroupNumber>2</GroupNumber>
<FileNumber>8</FileNumber> <FileNumber>6</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -566,7 +534,7 @@
</File> </File>
<File> <File>
<GroupNumber>2</GroupNumber> <GroupNumber>2</GroupNumber>
<FileNumber>9</FileNumber> <FileNumber>7</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -582,7 +550,7 @@
</File> </File>
<File> <File>
<GroupNumber>2</GroupNumber> <GroupNumber>2</GroupNumber>
<FileNumber>10</FileNumber> <FileNumber>8</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -600,19 +568,19 @@
<Group> <Group>
<GroupName>Demo App Source</GroupName> <GroupName>Demo App Source</GroupName>
<tvExp>0</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>3</GroupNumber> <GroupNumber>3</GroupNumber>
<FileNumber>11</FileNumber> <FileNumber>9</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>0</ColumnNumber> <ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<TopLine>133</TopLine> <TopLine>134</TopLine>
<CurrentLine>142</CurrentLine> <CurrentLine>142</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>.\main.c</PathWithFileName> <PathWithFileName>.\main.c</PathWithFileName>
@ -622,7 +590,7 @@
</File> </File>
<File> <File>
<GroupNumber>3</GroupNumber> <GroupNumber>3</GroupNumber>
<FileNumber>12</FileNumber> <FileNumber>10</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -638,7 +606,7 @@
</File> </File>
<File> <File>
<GroupNumber>3</GroupNumber> <GroupNumber>3</GroupNumber>
<FileNumber>13</FileNumber> <FileNumber>11</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -654,7 +622,7 @@
</File> </File>
<File> <File>
<GroupNumber>3</GroupNumber> <GroupNumber>3</GroupNumber>
<FileNumber>14</FileNumber> <FileNumber>12</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -670,7 +638,7 @@
</File> </File>
<File> <File>
<GroupNumber>3</GroupNumber> <GroupNumber>3</GroupNumber>
<FileNumber>15</FileNumber> <FileNumber>13</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -686,16 +654,16 @@
</File> </File>
<File> <File>
<GroupNumber>3</GroupNumber> <GroupNumber>3</GroupNumber>
<FileNumber>16</FileNumber> <FileNumber>14</FileNumber>
<FileType>2</FileType> <FileType>2</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>0</ColumnNumber> <ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<TopLine>184</TopLine> <TopLine>0</TopLine>
<CurrentLine>192</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>.\RegTest_Keil.s</PathWithFileName> <PathWithFileName>.\Keil_Specific\RegTest_Keil.s</PathWithFileName>
<FilenameWithoutPath>RegTest_Keil.s</FilenameWithoutPath> <FilenameWithoutPath>RegTest_Keil.s</FilenameWithoutPath>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
@ -704,13 +672,13 @@
<Group> <Group>
<GroupName>Common Demo Tasks</GroupName> <GroupName>Common Demo Tasks</GroupName>
<tvExp>0</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>17</FileNumber> <FileNumber>15</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -726,7 +694,7 @@
</File> </File>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>18</FileNumber> <FileNumber>16</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -742,7 +710,7 @@
</File> </File>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>19</FileNumber> <FileNumber>17</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -758,7 +726,7 @@
</File> </File>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>20</FileNumber> <FileNumber>18</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>

@ -393,24 +393,14 @@
<GroupName>System</GroupName> <GroupName>System</GroupName>
<Files> <Files>
<File> <File>
<FileName>system_XMC1300.c</FileName> <FileName>system_XMC1200.c</FileName>
<FileType>1</FileType>
<FilePath>.\System_Keil\system_XMC1300.c</FilePath>
</File>
<File>
<FileName>system_XMC1100.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>.\System_Keil\system_XMC1100.c</FilePath> <FilePath>.\system_XMC1200.c</FilePath>
</File> </File>
<File> <File>
<FileName>startup_XMC1300.s</FileName> <FileName>startup_XMC1300.s</FileName>
<FileType>2</FileType> <FileType>2</FileType>
<FilePath>.\System_Keil\startup_XMC1300.s</FilePath> <FilePath>.\Keil_Specific\startup_XMC1300.s</FilePath>
</File>
<File>
<FileName>system_XMC1200.c</FileName>
<FileType>1</FileType>
<FilePath>.\system_XMC1200.c</FilePath>
</File> </File>
</Files> </Files>
</Group> </Group>
@ -520,7 +510,7 @@
<File> <File>
<FileName>RegTest_Keil.s</FileName> <FileName>RegTest_Keil.s</FileName>
<FileType>2</FileType> <FileType>2</FileType>
<FilePath>.\RegTest_Keil.s</FilePath> <FilePath>.\Keil_Specific\RegTest_Keil.s</FilePath>
</File> </File>
</Files> </Files>
</Group> </Group>
@ -896,7 +886,7 @@
<MiscControls>--c99</MiscControls> <MiscControls>--c99</MiscControls>
<Define></Define> <Define></Define>
<Undefine></Undefine> <Undefine></Undefine>
<IncludePath>.;..\CORTEX_M0_Infineon_Boot_Kits_IAR_Keil;..\..\Source\include;..\..\Source\portable\RVDS\ARM_CM0;..\Common\include</IncludePath> <IncludePath>.;..\Common\include;..\..\Source\include;..\..\Source\portable\RVDS\ARM_CM0;.\CMSIS</IncludePath>
</VariousControls> </VariousControls>
</Cads> </Cads>
<Aads> <Aads>
@ -938,104 +928,14 @@
<GroupName>System</GroupName> <GroupName>System</GroupName>
<Files> <Files>
<File> <File>
<FileName>system_XMC1300.c</FileName> <FileName>system_XMC1200.c</FileName>
<FileType>1</FileType>
<FilePath>.\System_Keil\system_XMC1300.c</FilePath>
<FileOption>
<CommonProperty>
<UseCPPCompiler>2</UseCPPCompiler>
<RVCTCodeConst>0</RVCTCodeConst>
<RVCTZI>0</RVCTZI>
<RVCTOtherData>0</RVCTOtherData>
<ModuleSelection>0</ModuleSelection>
<IncludeInBuild>0</IncludeInBuild>
<AlwaysBuild>2</AlwaysBuild>
<GenerateAssemblyFile>2</GenerateAssemblyFile>
<AssembleAssemblyFile>2</AssembleAssemblyFile>
<PublicsOnly>2</PublicsOnly>
<StopOnExitCode>11</StopOnExitCode>
<CustomArgument></CustomArgument>
<IncludeLibraryModules></IncludeLibraryModules>
</CommonProperty>
<FileArmAds>
<Cads>
<interw>2</interw>
<Optim>0</Optim>
<oTime>2</oTime>
<SplitLS>2</SplitLS>
<OneElfS>2</OneElfS>
<Strict>2</Strict>
<EnumInt>2</EnumInt>
<PlainCh>2</PlainCh>
<Ropi>2</Ropi>
<Rwpi>2</Rwpi>
<wLevel>0</wLevel>
<uThumb>2</uThumb>
<uSurpInc>2</uSurpInc>
<VariousControls>
<MiscControls></MiscControls>
<Define></Define>
<Undefine></Undefine>
<IncludePath></IncludePath>
</VariousControls>
</Cads>
</FileArmAds>
</FileOption>
</File>
<File>
<FileName>system_XMC1100.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>.\System_Keil\system_XMC1100.c</FilePath> <FilePath>.\system_XMC1200.c</FilePath>
<FileOption>
<CommonProperty>
<UseCPPCompiler>2</UseCPPCompiler>
<RVCTCodeConst>0</RVCTCodeConst>
<RVCTZI>0</RVCTZI>
<RVCTOtherData>0</RVCTOtherData>
<ModuleSelection>0</ModuleSelection>
<IncludeInBuild>0</IncludeInBuild>
<AlwaysBuild>2</AlwaysBuild>
<GenerateAssemblyFile>2</GenerateAssemblyFile>
<AssembleAssemblyFile>2</AssembleAssemblyFile>
<PublicsOnly>2</PublicsOnly>
<StopOnExitCode>11</StopOnExitCode>
<CustomArgument></CustomArgument>
<IncludeLibraryModules></IncludeLibraryModules>
</CommonProperty>
<FileArmAds>
<Cads>
<interw>2</interw>
<Optim>0</Optim>
<oTime>2</oTime>
<SplitLS>2</SplitLS>
<OneElfS>2</OneElfS>
<Strict>2</Strict>
<EnumInt>2</EnumInt>
<PlainCh>2</PlainCh>
<Ropi>2</Ropi>
<Rwpi>2</Rwpi>
<wLevel>0</wLevel>
<uThumb>2</uThumb>
<uSurpInc>2</uSurpInc>
<VariousControls>
<MiscControls></MiscControls>
<Define></Define>
<Undefine></Undefine>
<IncludePath></IncludePath>
</VariousControls>
</Cads>
</FileArmAds>
</FileOption>
</File> </File>
<File> <File>
<FileName>startup_XMC1300.s</FileName> <FileName>startup_XMC1300.s</FileName>
<FileType>2</FileType> <FileType>2</FileType>
<FilePath>.\System_Keil\startup_XMC1300.s</FilePath> <FilePath>.\Keil_Specific\startup_XMC1300.s</FilePath>
</File>
<File>
<FileName>system_XMC1200.c</FileName>
<FileType>1</FileType>
<FilePath>.\system_XMC1200.c</FilePath>
</File> </File>
</Files> </Files>
</Group> </Group>
@ -1145,7 +1045,7 @@
<File> <File>
<FileName>RegTest_Keil.s</FileName> <FileName>RegTest_Keil.s</FileName>
<FileType>2</FileType> <FileType>2</FileType>
<FilePath>.\RegTest_Keil.s</FilePath> <FilePath>.\Keil_Specific\RegTest_Keil.s</FilePath>
</File> </File>
</Files> </Files>
</Group> </Group>

@ -113,7 +113,7 @@
/* The rate at which data is sent to the queue. The 200ms value is converted /* The rate at which data is sent to the queue. The 200ms value is converted
to ticks using the portTICK_RATE_MS constant. */ to ticks using the portTICK_RATE_MS constant. */
#define mainQUEUE_SEND_FREQUENCY_MS ( 1000 / portTICK_RATE_MS ) #define mainQUEUE_SEND_FREQUENCY_MS ( 200 / portTICK_RATE_MS )
/* The number of items the queue can hold. This is 1 as the receive task /* The number of items the queue can hold. This is 1 as the receive task
will remove items as they are added, meaning the send task should always find will remove items as they are added, meaning the send task should always find

@ -73,10 +73,6 @@ GraphEnabled=0
ShowTimeLog=1 ShowTimeLog=1
ShowTimeSum=1 ShowTimeSum=1
SumSortOrder=0 SumSortOrder=0
[Disassemble mode]
mode=0
[Breakpoints2]
Count=0
[Log file] [Log file]
LoggingEnabled=_ 0 LoggingEnabled=_ 0
LogFile=_ "" LogFile=_ ""
@ -84,9 +80,6 @@ Category=_ 0
[TermIOLog] [TermIOLog]
LoggingEnabled=_ 0 LoggingEnabled=_ 0
LogFile=_ "" LogFile=_ ""
[Aliases]
Count=0
SuppressDialog=0
[Trace2] [Trace2]
Enabled=0 Enabled=0
ShowSource=0 ShowSource=0
@ -111,3 +104,10 @@ Mode=3
Graph=0 Graph=0
Symbiont=0 Symbiont=0
Exclusions= Exclusions=
[Disassemble mode]
mode=0
[Breakpoints2]
Count=0
[Aliases]
Count=0
SuppressDialog=0

@ -2,46 +2,42 @@
<Workspace> <Workspace>
<ConfigDictionary> <ConfigDictionary>
<CurrentConfigs>
<Project>RTOSDemo/Debug</Project> <CurrentConfigs><Project>RTOSDemo/Debug</Project></CurrentConfigs></ConfigDictionary>
</CurrentConfigs>
</ConfigDictionary>
<Desktop> <Desktop>
<Static> <Static>
<Workspace> <Workspace>
<ColumnWidths> <ColumnWidths>
<Column0>236</Column0>
<Column1>27</Column1>
<Column2>27</Column2>
<Column3>27</Column3>
</ColumnWidths> <Column0>236</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
</Workspace> </Workspace>
<Build> <Build>
<ColumnWidth0>20</ColumnWidth0>
<ColumnWidth1>1216</ColumnWidth1>
<ColumnWidth2>324</ColumnWidth2>
<ColumnWidth3>81</ColumnWidth3>
</Build> <ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1216</ColumnWidth1><ColumnWidth2>324</ColumnWidth2><ColumnWidth3>81</ColumnWidth3></Build>
<TerminalIO/> <TerminalIO/>
</Static> </Static>
<Windows> <Windows>
<Wnd2>
<Wnd0>
<Tabs> <Tabs>
<Tab> <Tab>
<Identity>TabID-23707-15152</Identity> <Identity>TabID-23707-15152</Identity>
<TabName>Workspace</TabName> <TabName>Workspace</TabName>
<Factory>Workspace</Factory> <Factory>Workspace</Factory>
<Session> <Session>
<NodeDict>
<ExpandedNode>RTOSDemo</ExpandedNode> <NodeDict><ExpandedNode>RTOSDemo</ExpandedNode><ExpandedNode>RTOSDemo/System</ExpandedNode></NodeDict></Session>
<ExpandedNode>RTOSDemo/System</ExpandedNode>
</NodeDict>
</Session>
</Tab> </Tab>
</Tabs> </Tabs>
<SelectedTab>0</SelectedTab>
</Wnd2> <SelectedTab>0</SelectedTab></Wnd0><Wnd1>
<Wnd3>
<Tabs> <Tabs>
<Tab> <Tab>
<Identity>TabID-19002-15240</Identity> <Identity>TabID-19002-15240</Identity>
@ -50,100 +46,21 @@
<Session/> <Session/>
</Tab> </Tab>
</Tabs> </Tabs>
<SelectedTab>0</SelectedTab>
</Wnd3> <SelectedTab>0</SelectedTab></Wnd1></Windows>
</Windows>
<Editor> <Editor>
<Pane>
<Tab>
<Factory>TextEditor</Factory>
<Filename>$WS_DIR$\main.c</Filename>
<XPos>0</XPos> <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>99</YPos2><SelStart2>5509</SelStart2><SelEnd2>5509</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main-full.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>111</YPos2><SelStart2>7445</SelStart2><SelEnd2>7445</SelEnd2></Tab><ActiveTab>1</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<YPos>0</YPos>
<SelStart>0</SelStart>
<SelEnd>0</SelEnd>
<XPos2>0</XPos2>
<YPos2>99</YPos2>
<SelStart2>5509</SelStart2>
<SelEnd2>5509</SelEnd2>
</Tab>
<ActiveTab>0</ActiveTab>
</Pane>
<ActivePane>0</ActivePane>
<Sizes>
<Pane>
<X>1000000</X>
<Y>1000000</Y>
</Pane>
</Sizes>
<SplitMode>1</SplitMode>
</Editor>
<Positions> <Positions>
<Top>
<Row0>
<Sizes>
<Toolbar-01348f40>
<key>iaridepm.enu1</key>
</Toolbar-01348f40> <Top><Row0><Sizes><Toolbar-01348f40><key>iaridepm.enu1</key></Toolbar-01348f40></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>310</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>185714</sizeVertCX><sizeVertCY>755601</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>200</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Sizes>
</Row0>
<Row1>
<Sizes/>
</Row1>
</Top>
<Left>
<Row0>
<Sizes>
<Wnd2>
<Rect>
<Top>-2</Top>
<Left>-2</Left>
<Bottom>740</Bottom>
<Right>310</Right>
<x>-2</x>
<y>-2</y>
<xscreen>200</xscreen>
<yscreen>200</yscreen>
<sizeHorzCX>119048</sizeHorzCX>
<sizeHorzCY>203666</sizeHorzCY>
<sizeVertCX>185714</sizeVertCX>
<sizeVertCY>755601</sizeVertCY>
</Rect>
</Wnd2>
</Sizes>
</Row0>
</Left>
<Right>
<Row0>
<Sizes/>
</Row0>
</Right>
<Bottom>
<Row0>
<Sizes>
<Wnd3>
<Rect>
<Top>-2</Top>
<Left>-2</Left>
<Bottom>198</Bottom>
<Right>1682</Right>
<x>-2</x>
<y>-2</y>
<xscreen>1684</xscreen>
<yscreen>200</yscreen>
<sizeHorzCX>1002381</sizeHorzCX>
<sizeHorzCY>203666</sizeHorzCY>
<sizeVertCX>119048</sizeVertCX>
<sizeVertCY>203666</sizeVertCY>
</Rect>
</Wnd3>
</Sizes>
</Row0>
</Bottom>
<Float>
<Sizes/>
</Float>
</Positions>
</Desktop> </Desktop>
</Workspace> </Workspace>

Loading…
Cancel
Save