[ABANDONED] clarification regarding RTT ITM ETM

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [ABANDONED] clarification regarding RTT ITM ETM

    Source Code

    1. The trace port interface unit (TPIU) does not allow for ITM and ETM trace at the same time. The following excerpt from the Cortex-M4 Technical Reference Manual (http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0439b/ch11s02s02.html) discusses why:
    2. “When one of the two SWO modes is selected, you can enable the TPIU to bypass the formatter for trace output. If the formatter is bypassed, only the ITM and DWT trace source passes through. The TPIU accepts and discards data from the ETM. This function can be used to connect a device containing an ETM to a trace capture device that is only able to capture SWO data.”
    regarding silicon labs EFM32GG11B420 which is an M4. I have been using RTT for a few weeks now. all of this is new to me. I have read information on NVIC and ETM. RTT works for me with both execution trace and printf using the default examples on STM32F103 and the segger Cortex M4 reference board. silicon labs and ARM seem to imply that only one of either ETM or ITM modes can be active at any given time. this is conflicting information with my excellent experience using segger embedded studio with j-trace pro. can you explain how it is that segger is able to accomplish this capability. is it switching modes periodically on a timer? what triggers the mode change? or maybe there is some way that it is done in software using crossworks?

    the silicon labs post that I have quoted can be found here with more context
    silabs.com/community/mcu/32-bi…2/etm_and_itm_swo_tr-VB56

    silicon labs references arm official documentation
    infocenter.arm.com/help/index.….ddi0439b/ch11s02s02.html

    I also find it strange that the functional diagram does not mention the NVIC. I thought the NVIC takes control during an exception then hands it off to the ETM. the diagram seems to imply that every exception with ETM information will branch to the ITM executable which interfaces the TPIU network stack.
  • Hi,
    Thank you for your inquiry.

    Unfortunately, we have difficulties to understand your questions.
    Why would you want to use ETM and ITM in parallel?

    It seems that you are mixing up some terms here.
    Could you please specify exactly what you mean?

    For general information about tracing, please refer to this article:
    wiki.segger.com/General_information_about_tracing

    Best regards,
    Fabian
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.