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>
<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$\System_IAR</state>
<state>$PROJ_DIR$\CMSIS</state>
<state>$PROJ_DIR$\..\common\include</state>
<state>$PROJ_DIR$\..\..\source\include</state>
<state>$PROJ_DIR$\..\..\source\portable\IAR\ARM_CM0</state>
</option>
<option>
<name>CCStdIncCheck</name>
@ -939,15 +938,6 @@
<data/>
</settings>
</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>
<name>Common Demo Source</name>
<file>
@ -990,6 +980,15 @@
<name>$PROJ_DIR$\..\..\Source\timers.c</name>
</file>
</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>
<name>$PROJ_DIR$\main-blinky.c</name>
</file>
@ -1003,7 +1002,7 @@
<name>$PROJ_DIR$\ParTest_XMC1200.c</name>
</file>
<file>
<name>$PROJ_DIR$\RegTest_IAR.s</name>
<name>$PROJ_DIR$\IAR_Specific\RegTest_IAR.s</name>
</file>
</project>

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

@ -393,24 +393,14 @@
<GroupName>System</GroupName>
<Files>
<File>
<FileName>system_XMC1300.c</FileName>
<FileType>1</FileType>
<FilePath>.\System_Keil\system_XMC1300.c</FilePath>
</File>
<File>
<FileName>system_XMC1100.c</FileName>
<FileName>system_XMC1200.c</FileName>
<FileType>1</FileType>
<FilePath>.\System_Keil\system_XMC1100.c</FilePath>
<FilePath>.\system_XMC1200.c</FilePath>
</File>
<File>
<FileName>startup_XMC1300.s</FileName>
<FileType>2</FileType>
<FilePath>.\System_Keil\startup_XMC1300.s</FilePath>
</File>
<File>
<FileName>system_XMC1200.c</FileName>
<FileType>1</FileType>
<FilePath>.\system_XMC1200.c</FilePath>
<FilePath>.\Keil_Specific\startup_XMC1300.s</FilePath>
</File>
</Files>
</Group>
@ -520,7 +510,7 @@
<File>
<FileName>RegTest_Keil.s</FileName>
<FileType>2</FileType>
<FilePath>.\RegTest_Keil.s</FilePath>
<FilePath>.\Keil_Specific\RegTest_Keil.s</FilePath>
</File>
</Files>
</Group>
@ -896,7 +886,7 @@
<MiscControls>--c99</MiscControls>
<Define></Define>
<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>
</Cads>
<Aads>
@ -938,104 +928,14 @@
<GroupName>System</GroupName>
<Files>
<File>
<FileName>system_XMC1300.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>
<FileName>system_XMC1200.c</FileName>
<FileType>1</FileType>
<FilePath>.\System_Keil\system_XMC1100.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>
<FilePath>.\system_XMC1200.c</FilePath>
</File>
<File>
<FileName>startup_XMC1300.s</FileName>
<FileType>2</FileType>
<FilePath>.\System_Keil\startup_XMC1300.s</FilePath>
</File>
<File>
<FileName>system_XMC1200.c</FileName>
<FileType>1</FileType>
<FilePath>.\system_XMC1200.c</FilePath>
<FilePath>.\Keil_Specific\startup_XMC1300.s</FilePath>
</File>
</Files>
</Group>
@ -1145,7 +1045,7 @@
<File>
<FileName>RegTest_Keil.s</FileName>
<FileType>2</FileType>
<FilePath>.\RegTest_Keil.s</FilePath>
<FilePath>.\Keil_Specific\RegTest_Keil.s</FilePath>
</File>
</Files>
</Group>

@ -113,7 +113,7 @@
/* The rate at which data is sent to the queue. The 200ms value is converted
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
will remove items as they are added, meaning the send task should always find

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

@ -2,46 +2,42 @@
<Workspace>
<ConfigDictionary>
<CurrentConfigs>
<Project>RTOSDemo/Debug</Project>
</CurrentConfigs>
</ConfigDictionary>
<CurrentConfigs><Project>RTOSDemo/Debug</Project></CurrentConfigs></ConfigDictionary>
<Desktop>
<Static>
<Workspace>
<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>
<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/>
</Static>
<Windows>
<Wnd2>
<Wnd0>
<Tabs>
<Tab>
<Identity>TabID-23707-15152</Identity>
<TabName>Workspace</TabName>
<Factory>Workspace</Factory>
<Session>
<NodeDict>
<ExpandedNode>RTOSDemo</ExpandedNode>
<ExpandedNode>RTOSDemo/System</ExpandedNode>
</NodeDict>
</Session>
<NodeDict><ExpandedNode>RTOSDemo</ExpandedNode><ExpandedNode>RTOSDemo/System</ExpandedNode></NodeDict></Session>
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab>
</Wnd2>
<Wnd3>
<SelectedTab>0</SelectedTab></Wnd0><Wnd1>
<Tabs>
<Tab>
<Identity>TabID-19002-15240</Identity>
@ -50,100 +46,21 @@
<Session/>
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab>
</Wnd3>
</Windows>
<SelectedTab>0</SelectedTab></Wnd1></Windows>
<Editor>
<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>
<ActiveTab>0</ActiveTab>
</Pane>
<ActivePane>0</ActivePane>
<Sizes>
<Pane>
<X>1000000</X>
<Y>1000000</Y>
</Pane>
</Sizes>
<SplitMode>1</SplitMode>
</Editor>
<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>
<Positions>
<Top>
<Row0>
<Sizes>
<Toolbar-01348f40>
<key>iaridepm.enu1</key>
</Toolbar-01348f40>
</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>
<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>
</Desktop>
</Workspace>

Loading…
Cancel
Save