From 91ef80dc0152107a141324292376e8a51e37f931 Mon Sep 17 00:00:00 2001 From: richardbarry Date: Tue, 1 Oct 2013 09:53:12 +0000 Subject: [PATCH] Finalise XMC4000 Keil demos. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@2043 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- .../FreeRTOSConfig.h | 13 ++++- .../RTOSDemo.uvopt | 50 ++++++++----------- .../RTOSDemo.uvproj | 2 +- .../startup_XMC4200.s | 2 +- .../startup_XMC4400.s | 2 +- .../startup_XMC4500.s | 6 +-- 6 files changed, 39 insertions(+), 36 deletions(-) diff --git a/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/FreeRTOSConfig.h b/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/FreeRTOSConfig.h index 56610ae71..ed26084a1 100644 --- a/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/FreeRTOSConfig.h +++ b/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/FreeRTOSConfig.h @@ -82,6 +82,11 @@ #include extern uint32_t SystemCoreClock; +/* The following definition allows the startup files that ship with the IDE +to be used without modification when the chip used includes the PMU CM001 +errata. */ +#define WORKAROUND_PMU_CM001 1 + #define configUSE_PREEMPTION 1 #define configUSE_PORT_OPTIMISED_TASK_SELECTION 1 #define configUSE_IDLE_HOOK 0 @@ -154,9 +159,13 @@ header file. */ #define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); } /* Definitions that map the FreeRTOS port interrupt handlers to their CMSIS -standard names. */ +standard names. WORKAROUND_PMU_CM001 is defined at the top of this file. */ +#if WORKAROUND_PMU_CM001 == 1 + #define xPortPendSVHandler PendSV_Handler_Veneer +#else + #define xPortPendSVHandler PendSV_Handler +#endif #define vPortSVCHandler SVC_Handler -#define xPortPendSVHandler PendSV_Handler #define xPortSysTickHandler SysTick_Handler diff --git a/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/RTOSDemo.uvopt b/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/RTOSDemo.uvopt index 4ff8d7ba5..4d3070ec6 100644 --- a/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/RTOSDemo.uvopt +++ b/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/RTOSDemo.uvopt @@ -165,7 +165,7 @@ 0 DLGUARM - / + 0 @@ -372,7 +372,7 @@ 0 DLGUARM - / + 0 @@ -389,8 +389,8 @@ 1 - 5 - 0x0C000000 + 2 + 0x20005f90 @@ -424,12 +424,6 @@ - - - System Viewer\PORT2 - 35905 - - @@ -578,7 +572,7 @@ 0 DLGUARM - + / 0 @@ -751,7 +745,7 @@ 0 45 0 - 64 + 63 97 0 .\main.c @@ -767,8 +761,8 @@ 0 0 0 - 64 - 87 + 1 + 1 0 .\FreeRTOSConfig.h FreeRTOSConfig.h @@ -783,8 +777,8 @@ 0 0 0 - 165 - 173 + 0 + 0 0 .\RegTest.c RegTest.c @@ -799,8 +793,8 @@ 0 0 0 - 67 - 1 + 0 + 0 0 .\main_full.c main_full.c @@ -813,10 +807,10 @@ 1 0 0 - 16 + 0 0 - 64 - 10 + 0 + 0 0 .\main_blinky.c main_blinky.c @@ -827,7 +821,7 @@ FreeRTOS_Source - 0 + 1 0 0 0 @@ -871,8 +865,8 @@ 0 0 0 - 0 - 0 + 552 + 560 0 ..\..\Source\queue.c queue.c @@ -903,8 +897,8 @@ 0 0 0 - 383 - 384 + 420 + 428 0 ..\..\Source\portable\RVDS\ARM_CM4F\port.c port.c @@ -959,8 +953,8 @@ 0 0 0 - 241 - 258 + 254 + 262 0 ..\Common\Minimal\sp_flop.c sp_flop.c diff --git a/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/RTOSDemo.uvproj b/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/RTOSDemo.uvproj index acef88bb3..eed7550aa 100644 --- a/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/RTOSDemo.uvproj +++ b/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/RTOSDemo.uvproj @@ -1010,7 +1010,7 @@ 1 - 1 + 2 0 0 0 diff --git a/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/startup_XMC4200.s b/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/startup_XMC4200.s index f6775f064..fc656904e 100644 --- a/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/startup_XMC4200.s +++ b/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/startup_XMC4200.s @@ -152,7 +152,7 @@ __Vectors ExcpVector SVC_Handler ; SVCall Handler ExcpVector DebugMon_Handler ; Debug Monitor Handler DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler + ExcpVector PendSV_Handler ; PendSV Handler ExcpVector SysTick_Handler ; SysTick Handler ; Interrupt Handlers for Service Requests (SR) from XMC4200 Peripherals diff --git a/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/startup_XMC4400.s b/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/startup_XMC4400.s index c58654dc3..99b1ad250 100644 --- a/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/startup_XMC4400.s +++ b/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/startup_XMC4400.s @@ -152,7 +152,7 @@ __Vectors ExcpVector SVC_Handler ; SVCall Handler ExcpVector DebugMon_Handler ; Debug Monitor Handler DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler + ExcpVector PendSV_Handler ; PendSV Handler ExcpVector SysTick_Handler ; SysTick Handler ; Interrupt Handlers for Service Requests (SR) from XMC4400 Peripherals diff --git a/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/startup_XMC4500.s b/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/startup_XMC4500.s index 501be0cf7..c8fd51c56 100644 --- a/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/startup_XMC4500.s +++ b/FreeRTOS/Demo/CORTEX_M4F_Infineon_XMC4000_Keil/startup_XMC4500.s @@ -150,11 +150,11 @@ __Vectors DCD 0 ; Reserved DCD 0 ; Reserved DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler + ExcpVector SVC_Handler ; SVCall Handler ExcpVector DebugMon_Handler ; Debug Monitor Handler DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler + ExcpVector PendSV_Handler ; PendSV Handler + ExcpVector SysTick_Handler ; SysTick Handler ; Interrupt Handlers for Service Requests (SR) from XMC4500 Peripherals ExcpVector SCU_0_IRQHandler ; Handler name for SR SCU_0 -- 2.39.5