Project

General

Profile

Download (2.43 KB) Statistics
| Branch: | Tag: | Revision:
1 633c646a henryk
/*
2
	FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry.
3
4
	This file is part of the FreeRTOS.org distribution.
5
6
	FreeRTOS.org is free software; you can redistribute it and/or modify
7
	it under the terms of the GNU General Public License as published by
8
	the Free Software Foundation; either version 2 of the License, or
9
	(at your option) any later version.
10
11
	FreeRTOS.org is distributed in the hope that it will be useful,
12
	but WITHOUT ANY WARRANTY; without even the implied warranty of
13
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
	GNU General Public License for more details.
15
16
	You should have received a copy of the GNU General Public License
17
	along with FreeRTOS.org; if not, write to the Free Software
18
	Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19
20
	A special exception to the GPL can be applied should you wish to distribute
21
	a combined work that includes FreeRTOS.org, without being obliged to provide
22
	the source code for any proprietary components.  See the licensing section 
23
	of http://www.FreeRTOS.org for full details of how and when the exception
24
	can be applied.
25
26
	***************************************************************************
27
	See http://www.FreeRTOS.org for documentation, latest information, license 
28
	and contact details.  Please ensure to read the configuration and relevant 
29
	port sections of the online documentation.
30
31
	Also see http://www.SafeRTOS.com for an IEC 61508 compliant version along
32
	with commercial development and support options.
33
	***************************************************************************
34
*/
35
36
37
/*
38
 * Implementation of pvPortMalloc() and vPortFree() that relies on the
39
 * compilers own malloc() and free() implementations.
40
 *
41
 * This file can only be used if the linker is configured to to generate
42
 * a heap memory area.
43
 *
44
 * See heap_2.c and heap_1.c for alternative implementations, and the memory
45
 * management pages of http://www.FreeRTOS.org for more information.
46
 */
47
48
#include <stdlib.h>
49
50
#include "FreeRTOS.h"
51
#include "task.h"
52
53
/*-----------------------------------------------------------*/
54
55
void *
56
pvPortMalloc (size_t xWantedSize)
57
{
58
  void *pvReturn;
59
60
  vTaskSuspendAll ();
61
  {
62
    pvReturn = malloc (xWantedSize);
63
  }
64
  xTaskResumeAll ();
65
66
  return pvReturn;
67
}
68
69
/*-----------------------------------------------------------*/
70
71
void
72
vPortFree (void *pv)
73
{
74
  if (pv)
75
    {
76
      vTaskSuspendAll ();
77
      {
78
	free (pv);
79
      }
80
      xTaskResumeAll ();
81
    }
82
}
Add picture from clipboard (Maximum size: 48.8 MB)