Trace on ARM7

nobody wrote on Friday, April 08, 2005:

Is it possilbe to Trace the Scheduler directly on the ARM7 Controller not only in Dos? Im using a Philips LPC2138 Controller on an Keil board.
Thanks, sensej

nobody wrote on Friday, April 08, 2005:

V2.6.1 has the changes, but in this version the definition:

#define tskSIZE_OF_EACH_TRACE_LINE            ( sizeof( unsigned portLONG ) + sizeof( unsigned portCHAR ) )

should be:

#define tskSIZE_OF_EACH_TRACE_LINE            ( sizeof( unsigned portLONG ) + sizeof( unsigned portLONG ) )

but this does not make too much of a problem.

nobody wrote on Monday, April 11, 2005:

Thanks for quick answer. If I do so my Programm ends in the DAbt_Handler(0x00002CC0). Is there any bad definition of Memory?

rtel wrote on Monday, April 11, 2005:

Hi,

If your vWriteTraceToBuffer() trace macro is as defined by the V2.6.1 release and the tskSIZE_OF_EACH_TRACE_LINE definition is corrected as per the other post in this thread then the only other thing I can suggest is to check that the trace buffer is aligned on a four byte boundary.  I’m not sure if the compiler will do this automatically for a byte array.  You can force it using a #pragma, or by placing it in a struct following a long as per:

struct xBuffer
{
    unsigned long ulDummy; // This will get alligned
    char cTraceBuffer[ BUFFER_SIZE ];
}

Failing this, you can send me your modified file (presumably trace.c) and I can take a look at it (use the email address form the contacts page of the FreeRTOS.org web site). 

Which processor are you using?  I might be able to give it a go.

rtel wrote on Monday, April 11, 2005:

I meant tasks.c as the modified file - not trace.c!

nobody wrote on Monday, April 11, 2005:

If the trace is already started when the scheduler starts then the time stamp will be zero - as in this file segment.