From 1f29229f96adda385d460857bbd5ab5e478de80d Mon Sep 17 00:00:00 2001 From: hathach Date: Fri, 28 Mar 2014 18:40:56 +0700 Subject: rename the not-yet-to-use file --- .../freertoslpc/FreeRTOS_lpc43xx_m0_Tick.c | 124 --------------------- .../freertoslpc/FreeRTOS_lpc43xx_m0_Tick.c_bck | 124 +++++++++++++++++++++ 2 files changed, 124 insertions(+), 124 deletions(-) delete mode 100644 vendor/freertos/freertoslpc/FreeRTOS_lpc43xx_m0_Tick.c create mode 100644 vendor/freertos/freertoslpc/FreeRTOS_lpc43xx_m0_Tick.c_bck diff --git a/vendor/freertos/freertoslpc/FreeRTOS_lpc43xx_m0_Tick.c b/vendor/freertos/freertoslpc/FreeRTOS_lpc43xx_m0_Tick.c deleted file mode 100644 index 0bfeaeb42..000000000 --- a/vendor/freertos/freertoslpc/FreeRTOS_lpc43xx_m0_Tick.c +++ /dev/null @@ -1,124 +0,0 @@ -/* - * @brief FreeRTOS LPC43xx M0 core tick function using RITimer - * - * @note - * Copyright(C) NXP Semiconductors, 2012 - * All rights reserved. - * - * @par - * Software that is described herein is for illustrative purposes only - * which provides customers with programming information regarding the - * LPC products. This software is supplied "AS IS" without any warranties of - * any kind, and NXP Semiconductors and its licensor disclaim any and - * all warranties, express or implied, including all implied warranties of - * merchantability, fitness for a particular purpose and non-infringement of - * intellectual property rights. NXP Semiconductors assumes no responsibility - * or liability for the use of the software, conveys no license or rights under any - * patent, copyright, mask work right, or any other intellectual property rights in - * or to any products. NXP Semiconductors reserves the right to make changes - * in the software without notification. NXP Semiconductors also makes no - * representation or warranty that such application will be suitable for the - * specified use without further testing or modification. - * - * @par - * Permission to use, copy, modify, and distribute this software and its - * documentation is hereby granted, under NXP Semiconductors' and its - * licensor's relevant copyrights in the software, without fee, provided that it - * is used in conjunction with NXP Semiconductors microcontrollers. This - * copyright, permission, and disclaimer notice must appear in all copies of - * this code. - */ - -#include "chip.h" -#include "FreeRTOS.h" - -/** @defgroup FreeRTOS_43XX_M0_TICK LPC43xx M0 core tick function using RITimer - * @ingroup RTOS_FreeRTOS - * @note This driver adds support for the RITimer for the FreeRTOS tick on the LPC43xx. - * The M0 core in LPC43XX series of controllers does not have internal systick timer, - * so the RITIMER is used to generate the RTOS ticks. - * @{ - */ - - #if (defined(CHIP_LPC43XX) && defined(CORE_M0) && (configUSE_CUSTOM_TICK == 1)) - - /***************************************************************************** - * Private types/enumerations/variables - ****************************************************************************/ - -#define portNVIC_PENDSVSET 0x10000000 -#define portNVIC_INT_CTRL ((volatile unsigned long *) 0xe000ed04) -#define portMIN_INTERRUPT_PRIORITY (255UL) -#define portNVIC_SYSTICK_PRI portMIN_INTERRUPT_PRIORITY - -#define RITENCLR (1 << 1) -#define RITINT (1 << 0) - -/* Timer reload value for next tick */ -static uint32_t reload_val; - -/***************************************************************************** - * Public types/enumerations/variables - ****************************************************************************/ - -/* FreeRTOS tick update function */ -extern void vTaskIncrementTick(void); - -/***************************************************************************** - * Private functions - ****************************************************************************/ - -/***************************************************************************** - * Public functions - ****************************************************************************/ - -/** - * @brief Tick interrupt handler routine - * @return Nothing - * @note This function handles the tick interrupts that are generated by RITIMER. - */ -void xPortSysTickHandler(void) -{ - unsigned long ulDummy; - - /* TODO: check if WWDT interrupt and redirect */ - Chip_RIT_ClearInt(LPC_RITIMER); - Chip_RIT_SetCOMPVAL(LPC_RITIMER, Chip_RIT_GetCounter(LPC_RITIMER) + reload_val);/* Reload value */ - -#if configUSE_PREEMPTION == 1 - /* If using preemption, also force a context switch. */ - *(portNVIC_INT_CTRL) = portNVIC_PENDSVSET; -#endif - - ulDummy = portSET_INTERRUPT_MASK_FROM_ISR(); - { - vTaskIncrementTick(); - } - portCLEAR_INTERRUPT_MASK_FROM_ISR(ulDummy); -} - -/** - * @brief Initialize tick interrupts - * @return Nothing - * @note This function initializes the tick interrupts, and must - * be called before starting the freeRTOS scheduler. - */ -void prvSetupTimerInterrupt(void) -{ - /* Clear any pending interrupt */ - Chip_RIT_ClearInt(LPC_RITIMER); - - /* Calculate reload value */ - reload_val = (configCPU_CLOCK_HZ / configTICK_RATE_HZ); - Chip_RIT_SetCOMPVAL(LPC_RITIMER, Chip_RIT_GetCounter(LPC_RITIMER) + reload_val);/* Start tick */ - - /* Set the priority and enable the interrupt */ - NVIC_SetPriority((IRQn_Type) RITIMER_IRQn, portNVIC_SYSTICK_PRI); - NVIC_EnableIRQ((IRQn_Type) RITIMER_IRQn); -} - -#endif - -/** - * @} - */ diff --git a/vendor/freertos/freertoslpc/FreeRTOS_lpc43xx_m0_Tick.c_bck b/vendor/freertos/freertoslpc/FreeRTOS_lpc43xx_m0_Tick.c_bck new file mode 100644 index 000000000..0bfeaeb42 --- /dev/null +++ b/vendor/freertos/freertoslpc/FreeRTOS_lpc43xx_m0_Tick.c_bck @@ -0,0 +1,124 @@ +/* + * @brief FreeRTOS LPC43xx M0 core tick function using RITimer + * + * @note + * Copyright(C) NXP Semiconductors, 2012 + * All rights reserved. + * + * @par + * Software that is described herein is for illustrative purposes only + * which provides customers with programming information regarding the + * LPC products. This software is supplied "AS IS" without any warranties of + * any kind, and NXP Semiconductors and its licensor disclaim any and + * all warranties, express or implied, including all implied warranties of + * merchantability, fitness for a particular purpose and non-infringement of + * intellectual property rights. NXP Semiconductors assumes no responsibility + * or liability for the use of the software, conveys no license or rights under any + * patent, copyright, mask work right, or any other intellectual property rights in + * or to any products. NXP Semiconductors reserves the right to make changes + * in the software without notification. NXP Semiconductors also makes no + * representation or warranty that such application will be suitable for the + * specified use without further testing or modification. + * + * @par + * Permission to use, copy, modify, and distribute this software and its + * documentation is hereby granted, under NXP Semiconductors' and its + * licensor's relevant copyrights in the software, without fee, provided that it + * is used in conjunction with NXP Semiconductors microcontrollers. This + * copyright, permission, and disclaimer notice must appear in all copies of + * this code. + */ + +#include "chip.h" +#include "FreeRTOS.h" + +/** @defgroup FreeRTOS_43XX_M0_TICK LPC43xx M0 core tick function using RITimer + * @ingroup RTOS_FreeRTOS + * @note This driver adds support for the RITimer for the FreeRTOS tick on the LPC43xx. + * The M0 core in LPC43XX series of controllers does not have internal systick timer, + * so the RITIMER is used to generate the RTOS ticks. + * @{ + */ + + #if (defined(CHIP_LPC43XX) && defined(CORE_M0) && (configUSE_CUSTOM_TICK == 1)) + + /***************************************************************************** + * Private types/enumerations/variables + ****************************************************************************/ + +#define portNVIC_PENDSVSET 0x10000000 +#define portNVIC_INT_CTRL ((volatile unsigned long *) 0xe000ed04) +#define portMIN_INTERRUPT_PRIORITY (255UL) +#define portNVIC_SYSTICK_PRI portMIN_INTERRUPT_PRIORITY + +#define RITENCLR (1 << 1) +#define RITINT (1 << 0) + +/* Timer reload value for next tick */ +static uint32_t reload_val; + +/***************************************************************************** + * Public types/enumerations/variables + ****************************************************************************/ + +/* FreeRTOS tick update function */ +extern void vTaskIncrementTick(void); + +/***************************************************************************** + * Private functions + ****************************************************************************/ + +/***************************************************************************** + * Public functions + ****************************************************************************/ + +/** + * @brief Tick interrupt handler routine + * @return Nothing + * @note This function handles the tick interrupts that are generated by RITIMER. + */ +void xPortSysTickHandler(void) +{ + unsigned long ulDummy; + + /* TODO: check if WWDT interrupt and redirect */ + Chip_RIT_ClearInt(LPC_RITIMER); + Chip_RIT_SetCOMPVAL(LPC_RITIMER, Chip_RIT_GetCounter(LPC_RITIMER) + reload_val);/* Reload value */ + +#if configUSE_PREEMPTION == 1 + /* If using preemption, also force a context switch. */ + *(portNVIC_INT_CTRL) = portNVIC_PENDSVSET; +#endif + + ulDummy = portSET_INTERRUPT_MASK_FROM_ISR(); + { + vTaskIncrementTick(); + } + portCLEAR_INTERRUPT_MASK_FROM_ISR(ulDummy); +} + +/** + * @brief Initialize tick interrupts + * @return Nothing + * @note This function initializes the tick interrupts, and must + * be called before starting the freeRTOS scheduler. + */ +void prvSetupTimerInterrupt(void) +{ + /* Clear any pending interrupt */ + Chip_RIT_ClearInt(LPC_RITIMER); + + /* Calculate reload value */ + reload_val = (configCPU_CLOCK_HZ / configTICK_RATE_HZ); + Chip_RIT_SetCOMPVAL(LPC_RITIMER, Chip_RIT_GetCounter(LPC_RITIMER) + reload_val);/* Start tick */ + + /* Set the priority and enable the interrupt */ + NVIC_SetPriority((IRQn_Type) RITIMER_IRQn, portNVIC_SYSTICK_PRI); + NVIC_EnableIRQ((IRQn_Type) RITIMER_IRQn); +} + +#endif + +/** + * @} + */ -- cgit v1.3.1