Hi
Following up on the excellent advice given to the article given by @Boudewijn.Dijkstra .
I decided to name as many objects as possible. I am however failing to see any ISRs showing up as actors. I have also noted some inconsistencies in the configuration files with the API.
In trcConfig.h i have set TRC_CFG_INCLUDE_ISR_TRACING to 1. In the comments above this define, there are mentioning of two functions, which do not exist in the codebase
xTraceStoreISRBegin and xTraceStoreISREnd
I think that is likley that its meant to say.
xTraceISRBegin and xTraceISREnd
However, even using these calls in the manner described in the comments for xTraceISRRegister does not show the ISR as an actor
These are the steps i have taken in order to use tracealyzer when i use a EXTI to detect that a microSD card beeing inserted in a slot.
in the setup code
TraceISRHandle_t trcISRSDcard = 0;
Later during init
xTraceISRRegister("micrSD_insert_ISR", PRIORITY_INTERRUPT_EXTI_SD_CARD_DETECT, &trcISRSDcard);
And then the ISR code itself (shortened here)
void EXTI0_IRQHandler(void) {
BaseType_t xHigherPriorityTaskWoken = pdFALSE;
xTraceISRBegin(trcISRSDcard);
.
.
.
LL_EXTI_ClearFlag_0_31(LL_EXTI_LINE_0);
xTraceISREnd(0);
portEND_SWITCHING_ISR(xHigherPriorityTaskWoken);
}
Now, everything works and I can step through the code with a debugger probe, but nothing named micrSD_insert_ISR shows up in traceviewer when I look at it afterwards. (I have not yet added all ISRs)
What am I doing wrong?
Best regards
Martin
