PropWare
3.0.0.229
C++ objects and CMake build system for Parallax Propeller
Simple-Libraries
Learn
Simple Libraries
Utility
libstacktest
libstacktest.c
1
/*
2
* libstacktest.c
3
*
4
* Test harness code for stacktest library.
5
*
6
*/
7
8
#include "
simpletools.h
"
9
#include "
stacktest.h
"
10
11
void
myCog();
12
int
*cog;
13
int
cogVal;
14
15
#define ELEMENTS 20
16
17
volatile
int
elements = ELEMENTS;
18
volatile
int
offset = 0;
19
volatile
int
result = 100;
20
volatile
int
globalArray[ELEMENTS];
21
22
int
testStack[46 + 32];
23
24
int
main
()
25
{
26
// cog = cog_runStackTest(myCog, 32);
27
cogVal =
cogstart_stackTest
(myCog, NULL, testStack,
sizeof
(testStack));
28
//simpleterm_close();
29
pause
(2000);
30
//simpleterm_open();
31
//int stacksize = cog_endStackTest(cog);
32
int
stacksize =
cogstop_stackTest
(cogVal, testStack);
33
print
(
"stacksize = %d\n"
, stacksize);
34
}
35
36
void
myCog()
37
{
38
//pause(100);
39
//simpleterm_open();
40
int
array[elements];
41
int
n = 0;
42
//print("Hello");
43
//simpleterm_close();
44
while
(1)
45
{
46
n++;
47
array[n%20] = n + offset;
48
pause
(10);
49
}
50
}
51
52
/*
53
54
Test data:
55
56
cogRunTestOverhead = 8 bytes, 2 ints
57
stackOverhead = 176 bytes, 44 ints
58
stackOther = 32 ints
59
60
61
62
---[ cogstart_stackTest ]---
63
64
Cog Address = 9592, Cog Value = 1
65
Stack Count Address = 9596, Stack Count = 78
66
67
68
69
---[ cogstop_stackTest ]---
70
71
Cog Address = 9592, Cog Value = 1
72
Stack Count Address = 9596, Stack Count = 78
73
74
stackOverhead = 176 bytes, 44 ints
75
cogRunTestOverhead = 8 bytes, 2 ints
76
stackOther = 32 ints
77
78
idx = -2, addr = 9592, val = 1
79
idx = -1, addr = 9596, val = 78
80
idx = 0, addr = 9600, val = 14537
81
idx = 1, addr = 9604, val = 10287
82
idx = 2, addr = 9608, val = 14011
83
idx = 3, addr = 9612, val = 5940
84
idx = 4, addr = 9616, val = 467
85
idx = 5, addr = 9620, val = 15786
86
idx = 6, addr = 9624, val = 9559
87
idx = 7, addr = 9628, val = 18649
88
idx = 8, addr = 9632, val = 11932
89
idx = 9, addr = 9636, val = 200
90
idx = 10, addr = 9640, val = 201
91
idx = 11, addr = 9644, val = 202
92
idx = 12, addr = 9648, val = 203
93
idx = 13, addr = 9652, val = 204
94
idx = 14, addr = 9656, val = 205
95
idx = 15, addr = 9660, val = 206
96
idx = 16, addr = 9664, val = 207
97
idx = 17, addr = 9668, val = 208
98
idx = 18, addr = 9672, val = 209
99
idx = 19, addr = 9676, val = 210
100
idx = 20, addr = 9680, val = 211
101
idx = 21, addr = 9684, val = 212
102
idx = 22, addr = 9688, val = 213
103
idx = 23, addr = 9692, val = 214
104
idx = 24, addr = 9696, val = 215
105
idx = 25, addr = 9700, val = 216
106
idx = 26, addr = 9704, val = 217
107
idx = 27, addr = 9708, val = 218
108
idx = 28, addr = 9712, val = 219
109
idx = 29, addr = 9716, val = 25452
110
idx = 30, addr = 9720, val = 8558
111
idx = 31, addr = 9724, val = 0
112
idx = 32, addr = 9728, val = 1551630361
113
idx = 33, addr = 9732, val = -2130960380
114
idx = 34, addr = 9736, val = 146780176
115
idx = 35, addr = 9740, val = 12133
116
idx = 36, addr = 9744, val = 15864
117
idx = 37, addr = 9748, val = 1944
118
idx = 38, addr = 9752, val = 24455
119
idx = 39, addr = 9756, val = 14319
120
idx = 40, addr = 9760, val = 3146
121
idx = 41, addr = 9764, val = 12435
122
idx = 42, addr = 9768, val = 7123
123
idx = 43, addr = 9772, val = 5749
124
idx = 44, addr = 9776, val = 23315
125
idx = 45, addr = 9780, val = 26849
126
idx = 46, addr = 9784, val = 23193
127
idx = 47, addr = 9788, val = 8162
128
idx = 48, addr = 9792, val = 30875
129
idx = 49, addr = 9796, val = 18231
130
idx = 50, addr = 9800, val = 19508
131
idx = 51, addr = 9804, val = 19528
132
idx = 52, addr = 9808, val = 13027
133
idx = 53, addr = 9812, val = 1620
134
idx = 54, addr = 9816, val = 9013
135
idx = 55, addr = 9820, val = 7893
136
idx = 56, addr = 9824, val = 32537
137
idx = 57, addr = 9828, val = 7371
138
idx = 58, addr = 9832, val = 24135
139
idx = 59, addr = 9836, val = 8308
140
idx = 60, addr = 9840, val = 7382
141
idx = 61, addr = 9844, val = 1423
142
idx = 62, addr = 9848, val = 21444
143
idx = 63, addr = 9852, val = 22850
144
idx = 64, addr = 9856, val = 12573
145
idx = 65, addr = 9860, val = 1344
146
idx = 66, addr = 9864, val = 23315
147
idx = 67, addr = 9868, val = 29879
148
idx = 68, addr = 9872, val = 5396
149
idx = 69, addr = 9876, val = 30776
150
idx = 70, addr = 9880, val = 12232
151
idx = 71, addr = 9884, val = 31889
152
idx = 72, addr = 9888, val = 21632
153
idx = 73, addr = 9892, val = 30036
154
idx = 74, addr = 9896, val = 27257
155
idx = 75, addr = 9900, val = 22143
156
stacksize = 23
157
158
159
*/
pause
void pause(int time)
Delay cog from moving on to the next statement for a certain length of time.
Definition:
libws2812.c:125
simpletools.h
This library provides convenient functions for a variety of microcontroller I/O, timing,...
print
int print(const char *format,...) __attribute__((format(printf
Print format "..." args to the default simple terminal device. The output is limited to 256 bytes.
main
int main(void)
Definition:
GraphicsTest.c:20
stacktest.h
Provides a tool for testing how much of a cog's stack has been used.
cogstop_stackTest
int cogstop_stackTest(int cog, void *stack)
Stops function code running in another cog that was launched by cogstart_stackTest and returns the nu...
Definition:
cogstopStackTest.c:16
cogstart_stackTest
int cogstart_stackTest(void(*func)(void *), void *par, void *stack, size_t stacksize)
Starts a function's code in the next available cog (processor) and tracks how much of the call stack ...
Definition:
cogstartStackTest.c:17
Generated on Fri May 20 2022 16:48:05 for PropWare by
1.8.17