vTaskStartTrace() on AVR
Posted by Nobody/Anonymous on January 29, 2007
Hallo,
i'm doing some tests with FreeRTOS on ATMEL AVR (ATmega32) and i have a problem with the vTaskStartTrace() function.
In my main.c i have defined a buffer:
#define BUFFER_SIZE( ( unsigned portSHORT ) 512 )
static portCHAR pcWriteBuffer[BUFFER_SIZE];
I call vTaskStartTrace(pcWriteBuffer, BUFFER_SIZE) in a suicid-task. I think after calling vTaskStartTrace() there shoult be a list in memory on adress pcWriteBuffer. I copied the data on this adress into i file (then hex2bin and tracecon). But the result can't be correct:
1950631244.00000029537
1145392128.00000029537
1145392128.00000024948
1224867890.00000024948
1224867890.00000019524
151614245.00000019524
151614245.00000025381
1965361525.00000025381
1965361525.0000009481
168624138.0000009481
168624138.0000000
43264.0000000
43264.0000000
66304.0000000
66304.0000003
0.0000003
0.0000000
0.0000000
0.0000000
0.0000000
What have i done wrong? I'm new in freertos and also in c, so sorry, if it is my mistake!
Kristian
RE: vTaskStartTrace() on AVR
Posted by Nobody/Anonymous on January 29, 2007
Could it be the endian of the data. I think there is a trace con for big and little endian.
RE: vTaskStartTrace() on AVR
Posted by Nobody/Anonymous on January 30, 2007
I fixed it, but i do not know how. I set the priority of the vTaskStartTrace() calling task to the highest priority. But i think my that this was not my problem ...
Now it looks like this:
13.0000002
25.0000002
25.0000000
26.0000000
26.0000001
27.0000001
27.0000000
28.0000000
28.0000001
29.0000001
29.0000000
30.0000000
30.0000001
31.0000001
31.0000000
32.0000000
Kristian