summaryrefslogtreecommitdiff
path: root/FreeRTOS/readme.uC-sdk.txt
blob: e00f132c1bbb156e1e3637368cc832f7c1313032 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
This is a reduced version of FreeRTOSV6.1.1. This file describes the alterations being made.

All the demos have been removed.

Almost all the ports have been removed, except the following:
    ARM-CM3
    ARM-CM3-MPU

The following modifications have been made:

-) Introducing the newlib's reent system into task.c
-) Fixing heap_3.c to add missing calls

--- tasks.c	2011-01-14 20:14:24.000000000 -0800
+++ tasks.c	2011-01-22 22:33:27.000000000 -0800
@@ -114,6 +114,10 @@
 		unsigned long ulRunTimeCounter;		/*< Used for calculating how much CPU time each task is utilising. */
 	#endif
 
+	#if ( configUSE_NEWLIB_REENTRANT == 1 )
+		struct _reent reent;
+	#endif
+
 } tskTCB;
 
 
@@ -1635,6 +1639,10 @@
 	same priority get an equal share of the processor time. */
 	listGET_OWNER_OF_NEXT_ENTRY( pxCurrentTCB, &( pxReadyTasksLists[ uxTopReadyPriority ] ) );
 
+	#if ( configUSE_NEWLIB_REENTRANT == 1 )
+		_impure_ptr = &(pxCurrentTCB->reent);
+	#endif
+
 	traceTASK_SWITCHED_IN();
 	vWriteTraceToBuffer();
 }
@@ -1952,6 +1960,10 @@
 		( void ) usStackDepth;
 	}
 	#endif
+
+	#if ( configUSE_NEWLIB_REENTRANT == 1 )
+		_REENT_INIT_PTR((&(pxTCB->reent)));
+	#endif
 }
 /*-----------------------------------------------------------*/
 
--- heap_3.c	2011-01-14 20:14:24.000000000 -0800
+++ heap_3.c	2011-01-22 23:44:03.000000000 -0800
@@ -99,6 +99,7 @@
 	
 	return pvReturn;
 }
+
 /*-----------------------------------------------------------*/
 
 void vPortFree( void *pv )
@@ -113,5 +114,18 @@
 	}
 }
 
+/*-----------------------------------------------------------*/
+
+void vPortInitialiseBlocks( void )
+{
+	/* Not necessary */
+}
+
+/*-----------------------------------------------------------*/
+
+size_t xPortGetFreeHeapSize( void )
+{
+	return 0; /* Not necessary anyway */
+}