This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Cortex M3 ITM trace

Note: This was originally posted on 18th March 2010 at http://forums.arm.com

Do I miss something or there is no way to implement interrupt driven debug trace on Cortex M3?

I know that the SWO interface is relatively fast, but still I would prefer to avoid any polling and blocking...
  • Note: This was originally posted on 18th March 2010 at http://forums.arm.com

    Yes, I mean text messages or software trace (printf) over the ITM stimulus registers.

    I do have decent tool (PEEDI /ronetix) but there are other colleagues involved in the project and eventually there will be clients as we hope. So it will be great if the project can be used with wide range of tools including low cost ones.

    My question is whether I miss something, because the documentation is not very clear to me. It does not mention explicitly whether the polling is the only option or not. More likely it is the only option. At least I can't find any dedicated interrupt or exception.  Actually there is some exception for a debug monitor, but probably this has nothing to do with the ITM buffers.

    So I assume now that the software trace cannot be interrupt driven. I am thinking how to implement it without blocking and without message nesting. Maybe I will have some non-blocking queue and a low priority thread on the other side to do the polling. I will make it somehow ;-)
  • Note: This was originally posted on 18th March 2010 at http://forums.arm.com

    Thank you Joseph,

    that's all I wanted to know ;-)
  • Note: This was originally posted on 18th March 2010 at http://forums.arm.com

    Are you referring to ITM text message output feature? which development tool are you using?
    If you are using ULINK-Pro, you can have a very high trace bandwidth and that should help reduce the blocking.
    (I think you can do the same with JtagJet-Trace, which is also supported by Keil MDK-ARM).

    Joseph
  • Note: This was originally posted on 18th March 2010 at http://forums.arm.com

    I'm afraid there is no interrupt support for ITM stimulus registers.
    Instead of using ITM you might need to use a UART for interrupt driven text output.
    The debug monitor exception only linked to breakpoint and watchpoint events and does not get trigger by the ITM buffer status.
    regards,
    Joseph