LPCOpen Platform for LPC18XX/43XX microcontrollers
18XX43XX
LPCOpen Platform for the NXP LPC18XX/43XX family of Microcontrollers
Main Page
Modules
Data Structures
Files
File List
Globals
software
freertos
freertoslpc
FreeRTOSCommonHooks.c
Go to the documentation of this file.
1
/*
2
* @brief Common FreeRTOS functions shared among platforms
3
*
4
* @note
5
* Copyright(C) NXP Semiconductors, 2012
6
* All rights reserved.
7
*
8
* @par
9
* Software that is described herein is for illustrative purposes only
10
* which provides customers with programming information regarding the
11
* LPC products. This software is supplied "AS IS" without any warranties of
12
* any kind, and NXP Semiconductors and its licensor disclaim any and
13
* all warranties, express or implied, including all implied warranties of
14
* merchantability, fitness for a particular purpose and non-infringement of
15
* intellectual property rights. NXP Semiconductors assumes no responsibility
16
* or liability for the use of the software, conveys no license or rights under any
17
* patent, copyright, mask work right, or any other intellectual property rights in
18
* or to any products. NXP Semiconductors reserves the right to make changes
19
* in the software without notification. NXP Semiconductors also makes no
20
* representation or warranty that such application will be suitable for the
21
* specified use without further testing or modification.
22
*
23
* @par
24
* Permission to use, copy, modify, and distribute this software and its
25
* documentation is hereby granted, under NXP Semiconductors' and its
26
* licensor's relevant copyrights in the software, without fee, provided that it
27
* is used in conjunction with NXP Semiconductors microcontrollers. This
28
* copyright, permission, and disclaimer notice must appear in all copies of
29
* this code.
30
*/
31
32
#include "FreeRTOS.h"
33
#include "task.h"
34
#include "
FreeRTOSCommonHooks.h
"
35
36
#include "
chip.h
"
37
38
/*****************************************************************************
39
* Private types/enumerations/variables
40
****************************************************************************/
41
#if defined ( __ICCARM__ )
42
#define __WEAK__ __weak
43
#else
44
#define __WEAK__ __attribute__((weak))
45
#endif
46
/*****************************************************************************
47
* Public types/enumerations/variables
48
****************************************************************************/
49
50
/*****************************************************************************
51
* Private functions
52
****************************************************************************/
53
54
/*****************************************************************************
55
* Public functions
56
****************************************************************************/
57
58
/* Delay for the specified number of milliSeconds */
59
void
FreeRTOSDelay
(uint32_t ms)
60
{
61
TickType_t xDelayTime;
62
63
xDelayTime = xTaskGetTickCount();
64
vTaskDelayUntil(&xDelayTime, ms);
65
}
66
67
/* FreeRTOS malloc fail hook */
68
__WEAK__
void
vApplicationMallocFailedHook
(
void
)
69
{
70
DEBUGSTR
(
"DIE:ERROR:FreeRTOS: Malloc Failure!\r\n"
);
71
taskDISABLE_INTERRUPTS();
72
for
(;; ) {}
73
}
74
75
/* FreeRTOS application idle hook */
76
__WEAK__
void
vApplicationIdleHook
(
void
)
77
{
78
/* Best to sleep here until next systick */
79
__WFI();
80
}
81
82
/* FreeRTOS stack overflow hook */
83
__WEAK__
void
vApplicationStackOverflowHook
(TaskHandle_t pxTask,
char
*pcTaskName)
84
{
85
(void) pxTask;
86
(void) pcTaskName;
87
88
DEBUGOUT
(
"DIE:ERROR:FreeRTOS: Stack overflow in task %s\r\n"
, pcTaskName);
89
/* Run time stack overflow checking is performed if
90
configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2. This hook
91
function is called if a stack overflow is detected. */
92
taskDISABLE_INTERRUPTS();
93
for
(;; ) {}
94
}
95
96
/* FreeRTOS application tick hook */
97
__WEAK__
void
vApplicationTickHook
(
void
)
98
{}
Generated on Fri Feb 20 2015 21:29:41 for LPCOpen Platform for LPC18XX/43XX microcontrollers by
1.8.3.1