From: richardbarry Date: Mon, 2 Sep 2013 16:35:54 +0000 (+0000) Subject: Add a build configuration for the XMC1100 boot kit. X-Git-Tag: V7.5.3~47 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=340e1c55fc4d204dd61c00819d9b2319eb8edf43;p=freertos Add a build configuration for the XMC1100 boot kit. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@2019 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/.cproject b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/.cproject index f1fe74e9f..747fad376 100644 --- a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/.cproject +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/.cproject @@ -2,7 +2,7 @@ - + @@ -12,7 +12,7 @@ - + @@ -48,6 +48,7 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/.settings/org.eclipse.cdt.managedbuilder.core.prefs index 96ff207bb..18b967dcc 100644 --- a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/.settings/org.eclipse.cdt.managedbuilder.core.prefs +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/.settings/org.eclipse.cdt.managedbuilder.core.prefs @@ -1,10 +1,20 @@ eclipse.preferences.version=1 +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.2093031755.115953030/CPATH/delimiter=; +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.2093031755.115953030/CPATH/operation=remove +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.2093031755.115953030/C_INCLUDE_PATH/delimiter=; +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.2093031755.115953030/C_INCLUDE_PATH/operation=remove +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.2093031755.115953030/append=true +environment/buildEnvironmentInclude/com.atollic.truestudio.exe.debug.2093031755.115953030/appendContributed=true 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.115953030/LIBRARY_PATH/delimiter=; +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.2093031755.115953030/LIBRARY_PATH/operation=remove +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.2093031755.115953030/append=true +environment/buildEnvironmentLibrary/com.atollic.truestudio.exe.debug.2093031755.115953030/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 diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/Atollic_Specific/xmc1000_flash.ld b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/Atollic_Specific/xmc1000_flash.ld index 4c3bb4c35..ec0d898b5 100644 --- a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/Atollic_Specific/xmc1000_flash.ld +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/Atollic_Specific/xmc1000_flash.ld @@ -33,7 +33,7 @@ _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 */ +_Min_Stack_Size = 0x200; /* required amount of stack */ /* Specify the memory areas */ MEMORY diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/FreeRTOSConfig.h b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/FreeRTOSConfig.h index 3fec1ee00..9320d1d3e 100644 --- a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/FreeRTOSConfig.h +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/FreeRTOSConfig.h @@ -88,10 +88,10 @@ #define configUSE_IDLE_HOOK 0 #define configUSE_TICK_HOOK 1 #define configCPU_CLOCK_HZ ( SystemCoreClock ) -#define configTICK_RATE_HZ ( ( portTickType ) 1000 ) +#define configTICK_RATE_HZ ( ( portTickType ) 500 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 ) #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 60 ) -#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 12000 ) ) +#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 11000 ) ) #define configMAX_TASK_NAME_LEN ( 5 ) #define configUSE_TRACE_FACILITY 1 #define configUSE_16_BIT_TICKS 0 @@ -137,5 +137,10 @@ standard names - or at least those used in the unmodified vector table. */ #define xPortPendSVHandler PendSV_Handler #define xPortSysTickHandler SysTick_Handler +/* Bump up the priority of recmuCONTROLLING_TASK_PRIORITY to prevent false +positive errors being reported considering the priority of other tasks in the +system. */ +#define recmuCONTROLLING_TASK_PRIORITY ( configMAX_PRIORITIES - 1 ) + #endif /* FREERTOS_CONFIG_H */ diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/ParTest_XMC1100.c b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/ParTest_XMC1100.c new file mode 100644 index 000000000..2c0bda627 --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/ParTest_XMC1100.c @@ -0,0 +1,195 @@ +/* + 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! +*/ + +/*----------------------------------------------------------- + * Simple GPIO (parallel port) IO routines. + *-----------------------------------------------------------*/ + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" + +/* Hardware includes. */ +#include + +/* Standard demo include. */ +#include "partest.h" + +/* The port bits on which LEDs are connected. */ +static const unsigned long ulLEDPorts[] = +{ + 0, /* P0.5 */ + 0, /* P0.6 */ + 1, /* P1.2 */ + 1, /* P1.3 */ + 1, /* P1.4 */ + 1 /* P1.5 */ +}; + +/* The port bits on which LEDs are connected. */ +static const unsigned long ulLEDBits[] = +{ + 1 << 5, /* P0.5 */ + 1 << 6, /* P0.6 */ + 1 << 2, /* P1.2 */ + 1 << 3, /* P1.3 */ + 1 << 4, /* P1.4 */ + 1 << 5 /* P1.5 */ +}; + +#define partstNUM_LEDS ( sizeof( ulLEDBits ) / sizeof( unsigned long ) ) + +/* Shift the LED bit into the correct position within the POW register to +perform the desired operation. */ +#define partstON_SHIFT ( 16UL ) +#define partstOFF_SHIFT ( 0UL ) + +/*-----------------------------------------------------------*/ + +void vParTestInitialise( void ) +{ + /* Configure relevant port P0 to push pull output to drive LEDs. */ + + /* P0.5 */ + PORT0->IOCR4 &= ~( ( 0xFFUL << 8 ) ); + PORT0->IOCR4 |= ( 0x80UL << 8 ); + vParTestSetLED( 0, pdFALSE ); + + /* P0.6 */ + PORT0->IOCR4 &= ~( ( 0xFFUL << 16 ) ); + PORT0->IOCR4 |= ( 0x80UL << 16 ); + vParTestSetLED( 1, pdFALSE ); + + /* P1.2 */ + PORT1->IOCR0 &= ~( ( 0xFFUL << 16 ) ); + PORT1->IOCR0 |= ( 0x80UL << 16 ); + vParTestSetLED( 2, pdFALSE ); + + /* P1.3 */ + PORT1->IOCR0 &= ~( ( 0xFFUL << 24 ) ); + PORT1->IOCR0 |= ( 0x80UL << 24 ); + vParTestSetLED( 3, pdFALSE ); + + /* P1.4 */ + PORT1->IOCR4 &= ~( ( 0xFFUL << 0 ) ); + PORT1->IOCR4 |= ( 0x80UL << 0 ); + vParTestSetLED( 4, pdFALSE ); + + /* P1.5 */ + PORT1->IOCR4 &= ~( ( 0xFFUL << 8 ) ); + PORT1->IOCR4 |= ( 0x80UL << 8 ); + vParTestSetLED( 5, pdFALSE ); +} +/*-----------------------------------------------------------*/ + +void vParTestSetLED( unsigned long ulLED, signed portBASE_TYPE xValue ) +{ + if( ulLED < partstNUM_LEDS ) + { + if( xValue == pdTRUE ) + { + /* Turn the LED on. */ + if( ulLEDPorts[ ulLED ] == 0x00 ) + { + PORT0->OMR = ( ulLEDBits[ ulLED ] << partstON_SHIFT ); + } + else + { + PORT1->OMR = ( ulLEDBits[ ulLED ] << partstON_SHIFT ); + } + } + else + { + /* Turn the LED off. */ + if( ulLEDPorts[ ulLED ] == 0x00 ) + { + PORT0->OMR = ( ulLEDBits[ ulLED ] << partstOFF_SHIFT ); + } + else + { + PORT1->OMR = ( ulLEDBits[ ulLED ] << partstOFF_SHIFT ); + } + } + } +} +/*-----------------------------------------------------------*/ + +void vParTestToggleLED( unsigned long ulLED ) +{ + if( ulLED < partstNUM_LEDS ) + { + /* Setting both the ON and OFF bits simultaneously results in the bit + being toggled. */ + if( ulLEDPorts[ ulLED ] == 0x00 ) + { + PORT0->OMR = ( ulLEDBits[ ulLED ] << partstON_SHIFT ) | ( ulLEDBits[ ulLED ] << partstOFF_SHIFT ); + } + else + { + PORT1->OMR = ( ulLEDBits[ ulLED ] << partstON_SHIFT ) | ( ulLEDBits[ ulLED ] << partstOFF_SHIFT ); + } + } +} +/*-----------------------------------------------------------*/ + diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/RTOSDemo.ewd b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/RTOSDemo.ewd index 08ef6953c..6174b9139 100644 --- a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/RTOSDemo.ewd +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/RTOSDemo.ewd @@ -3,7 +3,7 @@ 2 - Debug + XMC1200 Boot Kit ARM @@ -1299,6 +1299,1303 @@ + + XMC1100 Boot Kit + + ARM + + 1 + + C-SPY + 2 + + 25 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 1 + + + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/RTOSDemo.ewp b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/RTOSDemo.ewp index 29c8eab0a..e09b59bbf 100644 --- a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/RTOSDemo.ewp +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/RTOSDemo.ewp @@ -3,7 +3,7 @@ 2 - Debug + XMC1200 Boot Kit ARM @@ -17,15 +17,15 @@ 1 + + XMC1100 Boot Kit + + ARM + + 1 + + General + 3 + + 22 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 29 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + Common Demo Source @@ -1004,8 +1940,17 @@ $PROJ_DIR$\main.c + + $PROJ_DIR$\ParTest_XMC1100.c + + XMC1200 Boot Kit + + $PROJ_DIR$\ParTest_XMC1200.c + + XMC1100 Boot Kit + $PROJ_DIR$\IAR_Specific\RegTest_IAR.s diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/RTOSDemo.uvopt b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/RTOSDemo.uvopt index 6800ceec0..9001950a0 100644 --- a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/RTOSDemo.uvopt +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/RTOSDemo.uvopt @@ -422,6 +422,235 @@ + + XMC1100 + 0x4 + ARM-ADS + + 12000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 255 + + + 0 + Data Sheet + DATASHTS\Infineon\XMC1200\xmc1100_ds.pdf + + + 1 + User Manual + DATASHTS\Infineon\XMC1200\xmc1100_ds.pdf + + + 2 + Technical Reference Manual + datashts\arm\cortex_m0\r0p0\DDI0432C_CORTEX_M0_R0P0_TRM.PDF + + + 3 + Generic User Guide + datashts\arm\cortex_m0\r0p0\DUI0497A_CORTEX_M0_R0P0_GENERIC_UG.PDF + + + + SARMCM3.DLL + + DARMCM1.DLL + -pCM0 + SARMCM3.DLL + + TARMCM1.DLL + -pCM0 + + + 0 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + + Segger\JL2CM3.dll + + + + 0 + DLGTARM + (1010=75,100,441,520,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0) + + + 0 + DLGUARM + / + + + 0 + JL2CM3 + -U591001879 -O207 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FC800 -FN1 -FF0XMC1200_200 -FS010001000 -FL032000 + + + 0 + DLGDARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + -T0 + + + 0 + UL2CM3 + -O207 -S0 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0XMC1200_200 -FS010001000 -FL032000) + + + + + 0 + 2 + 0 + 0 +
536871376
+ 0 + 0 + 1 + 1 + 2 + 1 + + + 0x200001d0 +
+
+ + + 0 + 1 + *(unsigned long*)0xE000ED00 + + + 1 + 1 + *(unsigned long*)0x00 + + + 2 + 1 + *(unsigned long*)0x04 + + + + + 1 + 2 + 0x10001000 + + + + 0 + + + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + +
+
+ System 0 @@ -464,7 +693,7 @@ FreeRTOS source - 1 + 0 0 0 0 @@ -540,8 +769,8 @@ 0 0 0 - 244 - 259 + 0 + 0 0 ..\..\Source\portable\RVDS\ARM_CM0\port.c port.c @@ -580,8 +809,8 @@ 0 0 0 - 114 - 122 + 112 + 159 0 .\main.c main.c @@ -660,25 +889,41 @@ 0 0 0 - 191 - 199 + 0 + 0 0 .\Keil_Specific\RegTest_Keil.s RegTest_Keil.s 0 0
+ + 3 + 15 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\ParTest_XMC1100.c + ParTest_XMC1100.c + 0 + 0 +
Common Demo Tasks - 1 + 0 0 0 0 4 - 15 + 16 1 0 0 @@ -694,7 +939,7 @@ 4 - 16 + 17 1 0 0 @@ -710,7 +955,7 @@ 4 - 17 + 18 1 0 0 @@ -726,14 +971,14 @@ 4 - 18 + 19 1 0 0 0 0 - 0 - 0 + 219 + 227 0 ..\Common\Minimal\countsem.c countsem.c @@ -742,7 +987,7 @@ 4 - 19 + 20 1 0 0 @@ -758,7 +1003,7 @@ 4 - 20 + 21 1 0 0 diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/RTOSDemo.uvproj b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/RTOSDemo.uvproj index 33ef15758..6f72faf2b 100644 --- a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/RTOSDemo.uvproj +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/RTOSDemo.uvproj @@ -512,6 +512,11 @@ 2 .\Keil_Specific\RegTest_Keil.s + + ParTest_XMC1100.c + 1 + .\ParTest_XMC1100.c + @@ -1057,6 +1062,601 @@ 2 .\Keil_Specific\RegTest_Keil.s + + ParTest_XMC1100.c + 1 + .\ParTest_XMC1100.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + + + Common Demo Tasks + + + dynamic.c + 1 + ..\Common\Minimal\dynamic.c + + + recmutex.c + 1 + ..\Common\Minimal\recmutex.c + + + blocktim.c + 1 + ..\Common\Minimal\blocktim.c + + + countsem.c + 1 + ..\Common\Minimal\countsem.c + + + QueueSet.c + 1 + ..\Common\Minimal\QueueSet.c + + + QueueOverwrite.c + 1 + ..\Common\Minimal\QueueOverwrite.c + + + + + + + XMC1100 + 0x4 + ARM-ADS + + + XMC1200-200 + Infineon + IRAM(0x20000000-0x20003FFF) IROM(0x10001000-0x10032FFF) CLOCK(12000000) CPUTYPE("Cortex-M0") + + "STARTUP\Infineon\XMC1200\startup_XMC1200.s" ("Infineon XMC1200 Startup Code") + UL2CM3(-O207 -S0 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0XMC1200_200 -FS010001000 -FL032000) + 6777 + XMC1200.h + + + + + + + + + + SFD\Infineon\XMC1200\xmc1200.SFR + 0 + + + + Infineon\XMC1200\ + Infineon\XMC1200\ + + 0 + 0 + 0 + 0 + 1 + + .\Output\ + RTOSDemo + 1 + 0 + 0 + 1 + 1 + .\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + + + SARMCM3.DLL + + DARMCM1.DLL + -pCM0 + SARMCM3.DLL + + TARMCM1.DLL + -pCM0 + + + + 1 + 0 + 0 + 0 + 16 + + + 0 + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + + 0 + 7 + + + + + + + + + + + + + + Segger\JL2CM3.dll + + + + + 1 + 0 + 0 + 1 + 1 + 4100 + + 0 + Segger\JL2CM3.dll + "" () + + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M0" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x4000 + + + 1 + 0x10001000 + 0x32000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x10001000 + 0x32000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x4000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + .;..\Common\include;..\..\Source\include;..\..\Source\portable\RVDS\ARM_CM0;.\CMSIS + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x10001000 + 0x20000000 + .\Output\RTOSDemo.sct + + + + + + + + + + + System + + + system_XMC1200.c + 1 + .\system_XMC1200.c + + + startup_XMC1300.s + 2 + .\Keil_Specific\startup_XMC1300.s + + + + + FreeRTOS source + + + timers.c + 1 + ..\..\Source\timers.c + + + list.c + 1 + ..\..\Source\list.c + + + queue.c + 1 + ..\..\Source\queue.c + + + tasks.c + 1 + ..\..\Source\tasks.c + + + port.c + 1 + ..\..\Source\portable\RVDS\ARM_CM0\port.c + + + heap_4.c + 1 + ..\..\Source\portable\MemMang\heap_4.c + + + + + Demo App Source + + + main.c + 1 + .\main.c + + + main-blinky.c + 1 + .\main-blinky.c + + + FreeRTOSConfig.h + 5 + .\FreeRTOSConfig.h + + + main-full.c + 1 + .\main-full.c + + + ParTest_XMC1200.c + 1 + .\ParTest_XMC1200.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + + + + + + + + + + + + RegTest_Keil.s + 2 + .\Keil_Specific\RegTest_Keil.s + + + ParTest_XMC1100.c + 1 + .\ParTest_XMC1100.c + diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/main-blinky.c b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/main-blinky.c index fd925c5a2..fb7b5ca0f 100644 --- a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/main-blinky.c +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/main-blinky.c @@ -80,7 +80,7 @@ * The Queue Send Task: * The queue send task is implemented by the prvQueueSendTask() function in * this file. prvQueueSendTask() sits in a loop that causes it to repeatedly - * block for 200 milliseconds, before sending the value 100 to the queue that + * block for 200 milliseconds before sending the value 100 to the queue that * was created within main_blinky(). Once the value is sent, the task loops * back around to block for another 200 milliseconds. * diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/main-full.c b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/main-full.c index 4059147f3..509ffeb09 100644 --- a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/main-full.c +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/main-full.c @@ -90,10 +90,10 @@ * containing an unexpected value is indicative of an error in the context * switching mechanism. * - * "Semaphore take task" - This task does nothing but block on a semaphore that - * is 'given' from the tick hook function (which is defined in main.c). It - * toggles the fourth LED each time it receives the semaphore. The Semahore is - * given every 50ms, so LED 4 toggles every 50ms. + * "Interrupt semaphore take" task - This task does nothing but block on a + * semaphore that is 'given' from the tick hook function (which is defined in + * main.c). It toggles the fourth LED each time it receives the semaphore. The + * Semahore is given every 50ms, so LED 4 toggles every 50ms. * * "Flash timers" - A software timer callback function is defined that does * nothing but toggle an LED. Three software timers are created that each @@ -216,11 +216,11 @@ const size_t xRegTestStackSize = 25U; /* Create the standard demo tasks */ vCreateBlockTimeTasks(); + vStartDynamicPriorityTasks(); vStartCountingSemaphoreTasks(); vStartRecursiveMutexTasks(); - vStartDynamicPriorityTasks(); - vStartQueueSetTasks(); vStartQueueOverwriteTask( tskIDLE_PRIORITY ); + vStartQueueSetTasks(); /* Create that is given from the tick hook function, and the task that toggles an LED each time the semaphore is given. */ @@ -229,7 +229,7 @@ const size_t xRegTestStackSize = 25U; ( signed char * ) "Sem", /* Text name of the task. */ configMINIMAL_STACK_SIZE, /* Stack allocated to the task (in words). */ NULL, /* The task parameter is not used. */ - configMAX_PRIORITIES - 1, /* The priority of the task. */ + configMAX_PRIORITIES - 2, /* The priority of the task. */ NULL ); /* Don't receive a handle back, it is not needed. */ /* Create the register test tasks as described at the top of this file. diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/settings/RTOSDemo.dni b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/settings/RTOSDemo.dni index b0930cbaa..691bd6888 100644 --- a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/settings/RTOSDemo.dni +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/settings/RTOSDemo.dni @@ -1,5 +1,5 @@ [DebugChecksum] -Checksum=-850785765 +Checksum=1016000444 [Stack] FillEnabled=0 OverflowWarningsEnabled=1 @@ -107,7 +107,7 @@ Exclusions= [Disassemble mode] mode=0 [Breakpoints2] -Bp0=_ 1 "EMUL_CODE" "{$PROJ_DIR$\main-full.c}.362.3" 0 0 1 "" 0 "" 0 +Bp0=_ 1 "EMUL_CODE" "{$PROJ_DIR$\..\Common\Minimal\dynamic.c}.320.6" 0 0 1 "" 0 "" 0 Count=1 [Aliases] Count=0 diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/settings/RTOSDemo.wsdt b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/settings/RTOSDemo.wsdt index 22119b050..292a046af 100644 --- a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/settings/RTOSDemo.wsdt +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/settings/RTOSDemo.wsdt @@ -3,7 +3,7 @@ - RTOSDemo/Debug + RTOSDemo/XMC1200 Boot Kit @@ -12,7 +12,7 @@ - 236272727 + 361272727 @@ -33,7 +33,7 @@ Workspace - RTOSDemoRTOSDemo/Common Demo SourceRTOSDemo/FreeRTOS SourceRTOSDemo/FreeRTOS Source/portableRTOSDemo/System + RTOSDemo @@ -53,14 +53,14 @@ - TextEditor$WS_DIR$\main-full.c000003431640316403TextEditor$WS_DIR$\..\..\Source\portable\IAR\ARM_CM0\portasm.s0000010750845084TextEditor$WS_DIR$\..\..\Source\portable\IAR\ARM_CM0\portmacro.h000006948604870TextEditor$WS_DIR$\..\..\Source\portable\IAR\ARM_CM0\port.c0000017176427642TextEditor$WS_DIR$\..\..\Source\queue.c0000011404063240632TextEditor$WS_DIR$\..\Common\Minimal\recmutex.c000003351452614526TextEditor$WS_DIR$\..\..\Source\tasks.c0000010969016912TextEditor$WS_DIR$\..\Common\Minimal\dynamic.c0000018300TextEditor$WS_DIR$\..\Common\Minimal\QueueSet.c0000027600TextEditor$WS_DIR$\main.c00000197009TextEditor$WS_DIR$\IAR_Specific\RegTest_IAR.s0000018462466246TextEditor$WS_DIR$\FreeRTOSConfig.h0000098000100000010000001 + TextEditor$WS_DIR$\main.c000001135553555300100000010000001 - iaridepm.enu1-2-2740310-2-2200200119048203666185714755601-2-21981682-2-216842001002381203666119048203666 + iaridepm.enu1-2-2740435-2-2200200119048203666260119755601-2-21981682-2-216842001002381203666119048203666 diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/settings/RTOSDemo_XMC1100 Boot Kit.jlink b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/settings/RTOSDemo_XMC1100 Boot Kit.jlink new file mode 100644 index 000000000..de1b137f3 --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/settings/RTOSDemo_XMC1100 Boot Kit.jlink @@ -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 diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/settings/RTOSDemo_XMC1200 Boot Kit.jlink b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/settings/RTOSDemo_XMC1200 Boot Kit.jlink new file mode 100644 index 000000000..de1b137f3 --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/settings/RTOSDemo_XMC1200 Boot Kit.jlink @@ -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