vTaskStartTrace() on AVR

nobody wrote on Monday, 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.000000    29537
1145392128.000000    29537
1145392128.000000    24948
1224867890.000000    24948
1224867890.000000    19524
151614245.000000    19524
151614245.000000    25381
1965361525.000000    25381
1965361525.000000    9481
168624138.000000    9481
168624138.000000    0
43264.000000    0
43264.000000    0
66304.000000    0
66304.000000    3
0.000000    3
0.000000    0
0.000000    0
0.000000    0
0.000000    0

What have i done wrong? I’m new in freertos and also in c, so sorry, if it is my mistake!

Kristian

nobody wrote on Monday, January 29, 2007:

Could it be the endian of the data.  I think there is a trace con for big and little endian.

nobody wrote on Tuesday, 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.000000    2
25.000000    2
25.000000    0
26.000000    0
26.000000    1
27.000000    1
27.000000    0
28.000000    0
28.000000    1
29.000000    1
29.000000    0
30.000000    0
30.000000    1
31.000000    1
31.000000    0
32.000000    0

Kristian