<?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>LPCXpresso IDE中的主题 ITM macrocell debug instructions</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/ITM-macrocell-debug-instructions/m-p/581100#M24822</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by cosborne2000 on Wed Jun 16 15:41:36 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I would like to use the ITM_SendChar() command for debugging but can't figure out where the output is going.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I downloaded an eval version of Red Suite just to make sure that xpresso wasn't limited but still no results.&amp;nbsp; I'm using a RDB1768v2r3 dev board.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Much of the documentation I've seen for ITM_SendChar() refers to Keil software but its defined in CMSIS so I believe that all M3's should have this.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Where should I be looking for these chars?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 22:38:35 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T22:38:35Z</dc:date>
    <item>
      <title>ITM macrocell debug instructions</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/ITM-macrocell-debug-instructions/m-p/581100#M24822</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by cosborne2000 on Wed Jun 16 15:41:36 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I would like to use the ITM_SendChar() command for debugging but can't figure out where the output is going.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I downloaded an eval version of Red Suite just to make sure that xpresso wasn't limited but still no results.&amp;nbsp; I'm using a RDB1768v2r3 dev board.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Much of the documentation I've seen for ITM_SendChar() refers to Keil software but its defined in CMSIS so I believe that all M3's should have this.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Where should I be looking for these chars?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:38:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/ITM-macrocell-debug-instructions/m-p/581100#M24822</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:38:35Z</dc:date>
    </item>
    <item>
      <title>Re: ITM macrocell debug instructions</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/ITM-macrocell-debug-instructions/m-p/581101#M24823</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by CodeRedSupport on Thu Jun 17 01:32:55 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;We do not provide support for the CMSIS ITM_SendChar() function directly within the Code Red tools - though it is under consideration for the future.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;However we do provide support for the Cortex-M3's ITM more generally via the '[I]RedTrace[/I]' functionality contained within RedSuite3 and RedSuite3 NXP Editions. This provides profile, interrupt statistics, interrupt trace, datawatch trace and hoststrings functionality.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'[I]Hoststrings[/I]' are the equivalent of the ITM_SendChar() function. However there is one big difference. If you want to use ITM_SendChar() to print a status message to the debugger - each character of that message is stored in the MCU's memory system and transferred a character at a time up to the debugger.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;However with hoststrings, the message is actually read by the debugger from within your project structure - and all that the MCU has to do is send a reference to the debugger as to which message it wants printing, along with any parameters.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have attached a screenshot that shows this in action. In the example code the calls to HS_CountMsg() and HS_LEDState() are actually macros which generate the appropriate ITM writes to cause the debugger to display the required message.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[I am afraid that I had to attach the screenshot within a zip. The limits applied to attached images by the forum software made the image illegible when it was uploaded directly]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To use Red Trace functionality with your RED1768v2 board, you will need a Red Probe debug probe - as the built in debug hardware on the RDB1768v2 does not provide the necessary support. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2F" rel="nofollow" target="_blank"&gt;http://www.code-red-tech.com/red-probe.php&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[Note that the debug hardware on the LPCXPresso board also does not provide this support].&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you need more details, including example code for using host strings on your RDB1768v2 board, please contact CodeRedSupport directly via:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2F" rel="nofollow" target="_blank"&gt;http://www.code-red-tech.com/contact.php&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;quoting this forum thread.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;CodeRedSupport.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:38:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/ITM-macrocell-debug-instructions/m-p/581101#M24823</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:38:36Z</dc:date>
    </item>
    <item>
      <title>Re: ITM macrocell debug instructions</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/ITM-macrocell-debug-instructions/m-p/581102#M24824</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by cosborne2000 on Thu Jun 17 07:32:43 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you for your quick reply.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The "host string" function sounds great-- I just wanted to avoid the slow performance of semi-hosting.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Just to be clear-- the "host string" function needs the Red Probe?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there any faster alternative to semi-hosting that I can try with the RDB1768 dev board?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:38:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/ITM-macrocell-debug-instructions/m-p/581102#M24824</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:38:36Z</dc:date>
    </item>
    <item>
      <title>Re: ITM macrocell debug instructions</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/ITM-macrocell-debug-instructions/m-p/581103#M24825</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by CodeRedSupport on Thu Jun 17 08:14:59 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: cosborne2000&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;Just to be clear-- the "host string" function needs the Red Probe?&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes, you need a Red Probe.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;Is there any faster alternative to semi-hosting that I can try with the RDB1768 dev board?&lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN&gt;Well if what you are looking for is faster output than the semihosted&amp;nbsp; printf provides "out of the box", there are quite a few options.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To start with have you looked at the RDB1768 consoleprint example? This&amp;nbsp; dramatically improves the performance of semihosted output, by reducing&amp;nbsp; how many semihosted calls are actually made. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The RDB1768 EFSL (Embedded Filesystems Library) example contains a&amp;nbsp; further extension to this, by providing a 'cr_fast_printf()' which sits&amp;nbsp; on top of consoleprint().&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Other alternatives would be to send output to the UART (I use a&amp;nbsp; USB-serial convertor to connect the RDB1768's UART to a terminal running&amp;nbsp; on my PC, which cost about $10) or use the board's USB connector to&amp;nbsp; connect directly to a terminal (as per the USB Serial (CDC) examples).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The UART_printf example also shows how printf can be retargeted to&amp;nbsp; output over serial rather than using semihosting.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The current release of the RDB1768 examples can be found at:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://support.code-red-tech.com/CodeRedWiki/RDB1768cmsisExampleProjects&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;CodeRedSupport.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:38:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/ITM-macrocell-debug-instructions/m-p/581103#M24825</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:38:37Z</dc:date>
    </item>
  </channel>
</rss>

