I don't understand if this is related to this issue #203 (since this old issue is marked as completed), but in case TRICE_MODE == 0 every TRICE macro creates its own stack frame (with variables co, TriceBufferWritePosition and tLen).
This should come from
|
#ifndef TRICE_ENTER |
|
#define TRICE_ENTER { /*! Start of TRICE macro */ \ |
|
uint32_t co[TRICE_STACK_BUFFER_MAX_SIZE>>2]; /* Check TriceDepthMax at runtime. */ \ |
|
uint32_t* TriceBufferWritePosition = co + (TRICE_DATA_OFFSET>>2); |
|
#endif |
|
#ifndef TRICE_LEAVE |
|
#define TRICE_LEAVE { /*! End of TRICE macro */ \ |
|
unsigned tLen = ((TriceBufferWritePosition - co)<<2) - TRICE_DATA_OFFSET; \ |
|
TriceOut( co, tLen ); } } |
|
#endif |
but it seems that the scope of
#defines is "small".
If this is by design (and cannot be improved in any way), I suggest ot add it into the documentation.
Thank in advance and a big thank you for your great job.
I don't understand if this is related to this issue #203 (since this old issue is marked as completed), but in case
TRICE_MODE == 0every TRICE macro creates its own stack frame (with variablesco,TriceBufferWritePositionandtLen).This should come from
trice/pkg/src/inc/triceConfig.h
Lines 76 to 85 in 4a60e75
but it seems that the scope of
#definesis "small".If this is by design (and cannot be improved in any way), I suggest ot add it into the documentation.
Thank in advance and a big thank you for your great job.