From d814678df9f98ebfdecb49f8a5d627d76089ecb4 Mon Sep 17 00:00:00 2001 From: richardbarry Date: Sat, 31 Aug 2013 15:57:31 +0000 Subject: [PATCH] Add a GCC project to the the XMC1000 demo directory. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@2012 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- .../.cproject | 135 ++++ .../.project | 104 +++ ...lic.truestudio.debug.hardware_device.prefs | 11 + .../org.eclipse.cdt.managedbuilder.core.prefs | 11 + .../Atollic_Specific/RegTest.c | 232 +++++++ .../Atollic_Specific/startup_XMC1200.s | 608 ++++++++++++++++++ .../Atollic_Specific/xmc1000_flash.ld | 190 ++++++ .../{System_IAR => CMSIS}/core_cm0.h | 0 .../{System_IAR => CMSIS}/core_cmFunc.h | 0 .../{System_IAR => CMSIS}/core_cmInstr.h | 0 .../{ => IAR_Specific}/RegTest_IAR.s | 0 .../startup_XMC1200.s | 0 .../JLinkSettings.ini | 34 + .../{ => Keil_Specific}/RegTest_Keil.s | 0 .../startup_XMC1300.s | 0 .../system_XMC1100.c | 0 .../system_XMC1200.c | 0 .../system_XMC1300.c | 0 .../RTOSDemo.ewp | 27 +- .../RTOSDemo.uvopt | 90 +-- .../RTOSDemo.uvproj | 118 +--- .../main-blinky.c | 2 +- .../settings/RTOSDemo.dni | 14 +- .../settings/RTOSDemo.wsdt | 147 +---- 24 files changed, 1416 insertions(+), 307 deletions(-) create mode 100644 FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/.cproject create mode 100644 FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/.project create mode 100644 FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/.settings/com.atollic.truestudio.debug.hardware_device.prefs create mode 100644 FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/.settings/org.eclipse.cdt.managedbuilder.core.prefs create mode 100644 FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Atollic_Specific/RegTest.c create mode 100644 FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Atollic_Specific/startup_XMC1200.s create mode 100644 FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Atollic_Specific/xmc1000_flash.ld rename FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/{System_IAR => CMSIS}/core_cm0.h (100%) rename FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/{System_IAR => CMSIS}/core_cmFunc.h (100%) rename FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/{System_IAR => CMSIS}/core_cmInstr.h (100%) rename FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/{ => IAR_Specific}/RegTest_IAR.s (100%) rename FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/{System_IAR => IAR_Specific}/startup_XMC1200.s (100%) create mode 100644 FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/JLinkSettings.ini rename FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/{ => Keil_Specific}/RegTest_Keil.s (100%) rename FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/{System_Keil => Keil_Specific}/startup_XMC1300.s (100%) rename FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/{System_Keil => Keil_Specific}/system_XMC1100.c (100%) rename FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/{System_Keil => Keil_Specific}/system_XMC1200.c (100%) rename FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/{System_Keil => Keil_Specific}/system_XMC1300.c (100%) diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/.cproject b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/.cproject new file mode 100644 index 000000000..7aefb8212 --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/.cproject @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/.project b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/.project new file mode 100644 index 000000000..7a0005113 --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/.project @@ -0,0 +1,104 @@ + + + RTOSDemo + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + Common_Demo_Source + 2 + virtual:/virtual + + + FreeRTOS_Source + 2 + virtual:/virtual + + + Common_Demo_Source/blocktim.c + 1 + FREERTOS_BASE/Demo/Common/Minimal/blocktim.c + + + Common_Demo_Source/countsem.c + 1 + FREERTOS_BASE/Demo/Common/Minimal/countsem.c + + + Common_Demo_Source/dynamic.c + 1 + FREERTOS_BASE/Demo/Common/Minimal/dynamic.c + + + Common_Demo_Source/include + 2 + FREERTOS_BASE/Demo/Common/include + + + Common_Demo_Source/recmutex.c + 1 + FREERTOS_BASE/Demo/Common/Minimal/recmutex.c + + + FreeRTOS_Source/ARM_CM0 + 2 + FREERTOS_BASE/Source/portable/GCC/ARM_CM0 + + + FreeRTOS_Source/heap_4.c + 1 + FREERTOS_BASE/Source/portable/MemMang/heap_4.c + + + FreeRTOS_Source/include + 2 + FREERTOS_BASE/Source/include + + + FreeRTOS_Source/list.c + 1 + FREERTOS_BASE/Source/list.c + + + FreeRTOS_Source/queue.c + 1 + FREERTOS_BASE/Source/queue.c + + + FreeRTOS_Source/tasks.c + 1 + FREERTOS_BASE/Source/tasks.c + + + FreeRTOS_Source/timers.c + 1 + FREERTOS_BASE/Source/timers.c + + + + + FREERTOS_BASE + $%7BPARENT-2-PROJECT_LOC%7D + + + diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/.settings/com.atollic.truestudio.debug.hardware_device.prefs new file mode 100644 index 000000000..669e09ab0 --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/.settings/com.atollic.truestudio.debug.hardware_device.prefs @@ -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 diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/.settings/org.eclipse.cdt.managedbuilder.core.prefs new file mode 100644 index 000000000..96ff207bb --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/.settings/org.eclipse.cdt.managedbuilder.core.prefs @@ -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 diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Atollic_Specific/RegTest.c b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Atollic_Specific/RegTest.c new file mode 100644 index 000000000..472cba864 --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Atollic_Specific/RegTest.c @@ -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" + ); +} +/*-----------------------------------------------------------*/ + + + + diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Atollic_Specific/startup_XMC1200.s b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Atollic_Specific/startup_XMC1200.s new file mode 100644 index 000000000..914907047 --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Atollic_Specific/startup_XMC1200.s @@ -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 +#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 diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Atollic_Specific/xmc1000_flash.ld b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Atollic_Specific/xmc1000_flash.ld new file mode 100644 index 000000000..4c3bb4c35 --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Atollic_Specific/xmc1000_flash.ld @@ -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) } +} diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/System_IAR/core_cm0.h b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/CMSIS/core_cm0.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/System_IAR/core_cm0.h rename to FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/CMSIS/core_cm0.h diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/System_IAR/core_cmFunc.h b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/CMSIS/core_cmFunc.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/System_IAR/core_cmFunc.h rename to FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/CMSIS/core_cmFunc.h diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/System_IAR/core_cmInstr.h b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/CMSIS/core_cmInstr.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/System_IAR/core_cmInstr.h rename to FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/CMSIS/core_cmInstr.h diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/RegTest_IAR.s b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/IAR_Specific/RegTest_IAR.s similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/RegTest_IAR.s rename to FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/IAR_Specific/RegTest_IAR.s diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/System_IAR/startup_XMC1200.s b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/IAR_Specific/startup_XMC1200.s similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/System_IAR/startup_XMC1200.s rename to FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/IAR_Specific/startup_XMC1200.s diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/JLinkSettings.ini b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/JLinkSettings.ini new file mode 100644 index 000000000..de1b137f3 --- /dev/null +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/JLinkSettings.ini @@ -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_Boot_Kits_IAR_Keil/RegTest_Keil.s b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Keil_Specific/RegTest_Keil.s similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/RegTest_Keil.s rename to FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Keil_Specific/RegTest_Keil.s diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/System_Keil/startup_XMC1300.s b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Keil_Specific/startup_XMC1300.s similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/System_Keil/startup_XMC1300.s rename to FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Keil_Specific/startup_XMC1300.s diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/System_Keil/system_XMC1100.c b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Keil_Specific/system_XMC1100.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/System_Keil/system_XMC1100.c rename to FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Keil_Specific/system_XMC1100.c diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/System_Keil/system_XMC1200.c b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Keil_Specific/system_XMC1200.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/System_Keil/system_XMC1200.c rename to FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Keil_Specific/system_XMC1200.c diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/System_Keil/system_XMC1300.c b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Keil_Specific/system_XMC1300.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/System_Keil/system_XMC1300.c rename to FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/Keil_Specific/system_XMC1300.c diff --git a/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/RTOSDemo.ewp b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/RTOSDemo.ewp index 98ac9510e..29cfce81e 100644 --- a/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/RTOSDemo.ewp +++ b/FreeRTOS/Demo/CORTEX_M0_Infineon_Boot_Kits_IAR_Keil/RTOSDemo.ewp @@ -297,12 +297,11 @@