SPI "External Storage" sample - IRQs not working?


#1

I set it to Asynchronous mode, but I never see the Traces from the IRQ handlers.

I have a scope on the SPI Out & Clock lines, and I can see that the data is definitely sent.

Does this mean that the Async mode IRQs don’t work, or is there some special trick needed to get the traces?

Update:
Forgot to mention: it’s a Q2686; Firmware R72a00
And I’m using M2MStudio 1.0.2

Cross-post: viewtopic.php?f=46&t=3463


#2

Same Problem


#3

Sorry, I forgot to update this with the “solution”! :blush:

Everything was actually working fine: the “trick” is just the fact that the IRQ Traces come on different “flows” to the main application - so I just needed to enable those “flows” in the TMT (or M2MStudio Target view)

The “flows” are:
ADL - for the main application - as usual;
LLH - for the Low-Level Handler;
HLH - for the High-Level handler.

See the description of adl_trcPrint in the ADL User Guide.


#4

Example:

Trace	ADL	2	M95XX0 Driver write
Trace	ADL	2	12 
Trace	ADL	2	Setting address length to : 0
Trace	ADL	2	[M95XX0 Driver] compute access (opcode : 6000000 (length 8); address : 0 (length 0))
Trace	ADL	2	Setting address length to : 16
Trace	ADL	2	[M95XX0 Driver] compute access (opcode : 2000000 (length 8); address : 10000 (length 16))
Trace	ADL	2	Asynchronous mode is correctly set
Trace	ADL	2	M95XX0 Driver write
Trace	ADL	2	12 
Trace	ADL	2	Setting address length to : 0
Trace	ADL	2	[M95XX0 Driver] compute access (opcode : 6000000 (length 8); address : 0 (length 0))
Trace	HLH	2	High level Bus handler
Trace	ADL	2	Setting address length to : 16
Trace	ADL	2	[M95XX0 Driver] compute access (opcode : 2000000 (length 8); address : 10000 (length 16))
Trace	HLH	2	High level Bus handler
Trace	LLH	2	Low level Bus handler
Trace	LLH	2	Low level Bus handler

But note that the order doesn’t (always) seem to be quite right…


#5

The LLH flow also seems to be used by any TRACE in the Event Handlers in the UART Direct Access service - but this does not seem to be documented anywhere?


#6

and ADL 20 seems to be used bu any timer you use in your program (also undocumented)


#7

Yes; already noted - see: viewtopic.php?f=47&t=1422&p=14854&hilit=undocumented+trace#p5205