<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: SWO Data Output on i.MX7D in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/SWO-Data-Output-on-i-MX7D/m-p/964169#M143670</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/Yuri"&gt;Yuri&lt;/A&gt;‌&lt;BR /&gt;Thank you for getting back to me. I'm aware that SWD mode is supported.&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;The question was, whether the i.MX7 supports to send data through the SWO signal.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards, Andy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 28 Nov 2019 07:40:03 GMT</pubDate>
    <dc:creator>andy_kiser</dc:creator>
    <dc:date>2019-11-28T07:40:03Z</dc:date>
    <item>
      <title>SWO Data Output on i.MX7D</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SWO-Data-Output-on-i-MX7D/m-p/964165#M143666</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Does the i.MX7D support outputting data through the TDO/SWO pin by code running on the Cortex-M4 core?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* I configured the debug port to SWD mode&lt;/P&gt;&lt;P&gt;* Connected an oscilloscope to the SWO pin&lt;/P&gt;&lt;P&gt;* On the M4 I tried to run various examples I found to output debug data through SWO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code runs without problems, but I couldn't see any toggling of the SWO pin. My conclusion is that either I missed some initialization such as turning on a clock or configuring the SWO pin, or the i.MX7D does not support SWO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I attached the core routines `SWO_Enable()` and `SWO_SendDataPolling()` for reference.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Side note: I'm also interested whether the i.MX8 family supports SWO. But to keep the focus of the question, let's stay with the i.MX7D here.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Andy&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV class="SnapLinksContainer" style="margin-left: 0px; margin-top: 0px; display: none;"&gt;&lt;DIV class="SL_SelectionRect"&gt;&lt;DIV class="SL_SelectionLabel"&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Sep 2019 07:18:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SWO-Data-Output-on-i-MX7D/m-p/964165#M143666</guid>
      <dc:creator>andy_kiser</dc:creator>
      <dc:date>2019-09-24T07:18:54Z</dc:date>
    </item>
    <item>
      <title>Re: SWO Data Output on i.MX7D</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SWO-Data-Output-on-i-MX7D/m-p/964166#M143667</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Hello,&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;You may try the attached.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Have a great day,&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Yuri&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;-------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Note:&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Oct 2019 06:57:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SWO-Data-Output-on-i-MX7D/m-p/964166#M143667</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2019-10-09T06:57:48Z</dc:date>
    </item>
    <item>
      <title>Re: SWO Data Output on i.MX7D</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SWO-Data-Output-on-i-MX7D/m-p/964167#M143668</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Yuri&amp;nbsp; &lt;/P&gt;&lt;P&gt;Thank you for getting back to me. I tried your suggestion, but unfortunately without success.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Compared to my previous tests, your suggestion contains an additional check for bit &lt;EM&gt;TRCENA&lt;/EM&gt; in the &lt;EM&gt;DEMCR&lt;/EM&gt; register, so I added this bit to my initialization code and output routine. It finally looks as follows:&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;/*!brief Ensure that output via SWO is enabled in order to guarantee that the
   application does not hang. */&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;SWO_Enable&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;const&lt;/SPAN&gt; uint32_t _ITMPort &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;const&lt;/SPAN&gt; uint32_t TargetDiv &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;266&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

    uint32_t StimulusRegs&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;//// Enable access to SWO registers//&lt;/SPAN&gt;
    
    DEMCR &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;24&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;  ITM_LSR &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xC5ACCE55&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="comment token"&gt;//&lt;/SPAN&gt;
    &lt;SPAN class="comment token"&gt;// Initially disable ITM and stimulus port&lt;/SPAN&gt;
    &lt;SPAN class="comment token"&gt;// To make sure that nothing is transferred via SWO&lt;/SPAN&gt;
    &lt;SPAN class="comment token"&gt;// when changing the SWO prescaler etc.&lt;/SPAN&gt;
    &lt;SPAN class="comment token"&gt;//  &lt;/SPAN&gt;
    StimulusRegs &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; ITM_ENA&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    StimulusRegs &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;~&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; _ITMPort&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    ITM_ENA &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; StimulusRegs&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Disable ITM stimulus &lt;/SPAN&gt;
    ITM_TCR &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Disable ITM&lt;/SPAN&gt;
    &lt;SPAN class="comment token"&gt;//&lt;/SPAN&gt;
    &lt;SPAN class="comment token"&gt;// Initialize SWO (prescaler, etc.)&lt;/SPAN&gt;
    &lt;SPAN class="comment token"&gt;//  &lt;/SPAN&gt;
    TPIU_SPPR &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000002&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Select NRZ mode&lt;/SPAN&gt;
    TPIU_ACPR &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; TargetDiv &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Example: 72/48 = 1,5 MHz&lt;/SPAN&gt;
    ITM_TPR &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    DWT_CTRL &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x400003FE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    FFCR &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000100&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="comment token"&gt;//&lt;/SPAN&gt;
    &lt;SPAN class="comment token"&gt;// Enable ITM and stimulus port&lt;/SPAN&gt;
    &lt;SPAN class="comment token"&gt;//&lt;/SPAN&gt;
    ITM_TCR &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1000D&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;  &lt;SPAN class="comment token"&gt;// Enable ITM  &lt;/SPAN&gt;
    ITM_ENA &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; StimulusRegs &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; _ITMPort&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Enable ITM stimulus port&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;And my output routine is:&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;/* send data to SWO port, as suggested by Yuri Muhin at 
&lt;A href="https://community.nxp.com/message/1216347?commentID=1216347#comment-1216347" rel="nofollow noopener noreferrer" target="test_blank"&gt;https://community.nxp.com/message/1216347?commentID=1216347#comment-1216347&lt;/A&gt; */&lt;/SPAN&gt; 
&lt;SPAN class="keyword token"&gt;int&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;SWO_Write&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;int&lt;/SPAN&gt; iFileHandle&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;char&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;pcBuffer&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;int&lt;/SPAN&gt; iLength&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; 
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
       int32_t num &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

    &lt;SPAN class="comment token"&gt;// TODO : Should potentially check that iFileHandle == 1 to confirm&lt;/SPAN&gt;
    &lt;SPAN class="comment token"&gt;// that write is to stdout&lt;/SPAN&gt;
    
    &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;DEMCR &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt; TRCENA&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&amp;amp;&lt;/SPAN&gt;             &lt;SPAN class="comment token"&gt;// debugger connected and ITM channel enabled for tracing?&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ITM_TCR &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt; ITM_TCR_ITMENA&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&amp;amp;&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;// ITM enabled?&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ITM_TER &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt; ITM_TER_PORT0ENA&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;   &lt;SPAN class="comment token"&gt;// ITM Port #0 enabled?&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;while&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;num &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt; iLength&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; 
        &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
            &lt;SPAN class="keyword token"&gt;while&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;ITM_Port32&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; 
            &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
            &lt;SPAN class="token function"&gt;ITM_Port8&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; pcBuffer&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;num&lt;SPAN class="operator token"&gt;++&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt; 
    &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;    &lt;SPAN class="comment token"&gt;// Function returns number of unwritten bytes if error&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;iLength&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I called &lt;EM&gt;SWO_Enable()&lt;/EM&gt; once, and then &lt;EM&gt;SWO_Write()&lt;/EM&gt; repeatedly, with a delay of 100ms after each character.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;By stepping through the code I could prove that the execution path successfully made it through all &lt;EM&gt;if&lt;/EM&gt;-conditions of &lt;EM&gt;SWO_Write()&lt;/EM&gt;, so the actual write &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;ITM_Port8(0) = pcBuffer[num++];&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;got executed each time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On the hardware side, I used an oscilloscope to monitor the behavior&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;As expected, the SWDIO/TMS pin (pin 7 of 20) was toggling when the debugger talked to the target while stepping through the code.&lt;/LI&gt;&lt;LI&gt;The SWO/TDO pin (pin 13 of 20) stayed high at all times - the i.MX7 did not output any data through this pin.&lt;UL&gt;&lt;LI&gt;To make sure there is no connection issue, I switched the debugger from SWD to JTAG mode without modifying the hardware setup, and started debugging again. Now I was able to see the TDO pin (pin 13 of 20) toggling as expected.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Did you ever see SWO working on the i.MX7, or might that feature be broken at all?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Andy&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV class="SnapLinksContainer" style="margin-left: 0px; margin-top: 0px; display: none;"&gt;&lt;DIV class="SL_SelectionRect" style="top: 199px; left: 143px; height: 0px; width: 1px;"&gt;&lt;DIV class="SL_SelectionLabel" style="left: 2px; bottom: 2px;"&gt;0 Links&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Oct 2019 11:44:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SWO-Data-Output-on-i-MX7D/m-p/964167#M143668</guid>
      <dc:creator>andy_kiser</dc:creator>
      <dc:date>2019-10-14T11:44:45Z</dc:date>
    </item>
    <item>
      <title>Re: SWO Data Output on i.MX7D</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SWO-Data-Output-on-i-MX7D/m-p/964168#M143669</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: #172b4d; background-color: #ffffff; border: 0px; font-size: 10.5pt;"&gt;imx7d can support SWD mode;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;1&amp;gt; When the JTAG interface is in Debug Mode, it can be operating in&lt;/SPAN&gt;&lt;SPAN style="color: #df402a; background-color: #ffffff; border: 0px; font-size: 10.5pt;"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;JTAG/cJTAG/SWD&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #172b4d; background-color: #ffffff; border: 0px; font-size: 10.5pt;"&gt;interface ;&lt;BR /&gt;a&amp;gt; JTAG_MOD == 0, Debug Mode:&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #df402a; background-color: #ffffff; border: 0px; font-size: 10.5pt;"&gt;DAP is the only TAP controller in the daisy chain&lt;/SPAN&gt;&lt;SPAN style="color: #172b4d; background-color: #ffffff; border: 0px; font-size: 10.5pt;"&gt;. SJC and SDMA will be attached to JTAG-AP of DAP.&lt;BR /&gt;b&amp;gt; JTAG_MOD == 1, Test Mode:&lt;BR /&gt;&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #df402a; background-color: #ffffff; border: 0px; font-size: 10.5pt;"&gt;SJC is the only TAP controller in the daisy chain&lt;/SPAN&gt;&lt;SPAN style="color: #172b4d; background-color: #ffffff; border: 0px; font-size: 10.5pt;"&gt;.&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;2&amp;gt; when operate in debug mode (pad JTAG_MODE=0),&amp;nbsp;configure DAP to opeation in&amp;nbsp;SWD mode;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TMS -&amp;gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG style="border: 0px; font-weight: bold; font-size: 14px;"&gt;SWDIO&lt;/STRONG&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; TCK -&amp;gt; &amp;nbsp;&lt;STRONG style="border: 0px; font-weight: bold; font-size: 14px;"&gt;SWCLK&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Nov 2019 06:16:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SWO-Data-Output-on-i-MX7D/m-p/964168#M143669</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2019-11-28T06:16:00Z</dc:date>
    </item>
    <item>
      <title>Re: SWO Data Output on i.MX7D</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/SWO-Data-Output-on-i-MX7D/m-p/964169#M143670</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/Yuri"&gt;Yuri&lt;/A&gt;‌&lt;BR /&gt;Thank you for getting back to me. I'm aware that SWD mode is supported.&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;The question was, whether the i.MX7 supports to send data through the SWO signal.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards, Andy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Nov 2019 07:40:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/SWO-Data-Output-on-i-MX7D/m-p/964169#M143670</guid>
      <dc:creator>andy_kiser</dc:creator>
      <dc:date>2019-11-28T07:40:03Z</dc:date>
    </item>
  </channel>
</rss>

