<?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 How &amp;quot;Non-Intrusive&amp;quot; is the S08 BDM? in 8-bit Microcontrollers</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/How-quot-Non-Intrusive-quot-is-the-S08-BDM/m-p/134412#M3690</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I have an application on a S08GT that spends most of its time executing ISR's. When the machine that generates these interrupts goes beyond its rated speed the first error that occurs is that a compare register is loaded with a value that is behind where the counter is instead of in front of it (because the interrupt that does this is delayed by others). This I am quite aware of.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;However recently I was making these ISR's even longer and during subsequent testing with a BDM debugger querying some memory locations this problem was occuring at much slower speeds than I had been previously observed.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The ISR's were trimmed back to as they were prevoiously but the problem remained, the machine would only go at half the speed it would before before this problem occurred.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;After much testing it was found that the problem only occurred while the debugger was connected.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Now I thought that a debugger connected to a processor running in user mode and simply executing what I thought would be "non-intrusive" READ_BYTE commands would not have any impact on the user programme. But the response by the BDM to these commands seems to be stealing cycles from the user programme.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Should this be occurring?&lt;/DIV&gt;&lt;DIV&gt;If so then they are NOT non-intrusive at all!&lt;/DIV&gt;&lt;DIV&gt;Can anybody shed any light on this?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards&lt;/DIV&gt;&lt;DIV&gt;David&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 26 Oct 2006 18:40:06 GMT</pubDate>
    <dc:creator>peg</dc:creator>
    <dc:date>2006-10-26T18:40:06Z</dc:date>
    <item>
      <title>How "Non-Intrusive" is the S08 BDM?</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/How-quot-Non-Intrusive-quot-is-the-S08-BDM/m-p/134412#M3690</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I have an application on a S08GT that spends most of its time executing ISR's. When the machine that generates these interrupts goes beyond its rated speed the first error that occurs is that a compare register is loaded with a value that is behind where the counter is instead of in front of it (because the interrupt that does this is delayed by others). This I am quite aware of.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;However recently I was making these ISR's even longer and during subsequent testing with a BDM debugger querying some memory locations this problem was occuring at much slower speeds than I had been previously observed.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The ISR's were trimmed back to as they were prevoiously but the problem remained, the machine would only go at half the speed it would before before this problem occurred.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;After much testing it was found that the problem only occurred while the debugger was connected.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Now I thought that a debugger connected to a processor running in user mode and simply executing what I thought would be "non-intrusive" READ_BYTE commands would not have any impact on the user programme. But the response by the BDM to these commands seems to be stealing cycles from the user programme.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Should this be occurring?&lt;/DIV&gt;&lt;DIV&gt;If so then they are NOT non-intrusive at all!&lt;/DIV&gt;&lt;DIV&gt;Can anybody shed any light on this?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards&lt;/DIV&gt;&lt;DIV&gt;David&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Oct 2006 18:40:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/How-quot-Non-Intrusive-quot-is-the-S08-BDM/m-p/134412#M3690</guid>
      <dc:creator>peg</dc:creator>
      <dc:date>2006-10-26T18:40:06Z</dc:date>
    </item>
    <item>
      <title>Re: How "Non-Intrusive" is the S08 BDM?</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/How-quot-Non-Intrusive-quot-is-the-S08-BDM/m-p/134413#M3691</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV&gt;David -&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;A BDM Read will always steal one cycle. If you calculate the number of CPU cycles that it takes to complete a READ_BYTE command (33) x cycles per bit (16)&amp;nbsp;it is&amp;nbsp;528 CPU cycles. This is the fastest that you could complete a READ_BYTE. Within that time you steal one cycle, so the hit is 1 out 528 cycles.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;As long as the debugger is truly in user mode, then this&amp;nbsp;is the worst case hit for READ_BYTE in user mode.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;- Rocky&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Oct 2006 22:22:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/How-quot-Non-Intrusive-quot-is-the-S08-BDM/m-p/134413#M3691</guid>
      <dc:creator>RockyRoad</dc:creator>
      <dc:date>2006-10-27T22:22:35Z</dc:date>
    </item>
    <item>
      <title>Re: How "Non-Intrusive" is the S08 BDM?</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/How-quot-Non-Intrusive-quot-is-the-S08-BDM/m-p/134414#M3692</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi Peg,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;There is a new Application Note with a table indicating if the command is intrusive or not, among other things:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BLOCKQUOTE dir="ltr" style="MARGIN-RIGHT: 0px"&gt;&lt;DIV&gt;&lt;A href="http://www.freescale.com/files/microcontrollers/doc/app_note/AN3335.pdf" rel="nofollow" target="_blank"&gt;&lt;STRONG&gt;AN3335 - Introduction to Background Debug Mode&lt;/STRONG&gt;&lt;/A&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Cheers,&lt;/DIV&gt;&lt;DIV&gt;Alban.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Nov 2006 18:53:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/How-quot-Non-Intrusive-quot-is-the-S08-BDM/m-p/134414#M3692</guid>
      <dc:creator>Alban</dc:creator>
      <dc:date>2006-11-07T18:53:37Z</dc:date>
    </item>
    <item>
      <title>Re: How "Non-Intrusive" is the S08 BDM?</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/How-quot-Non-Intrusive-quot-is-the-S08-BDM/m-p/134415#M3693</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hello,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;It seems that these non-intrusive commands are of the more modern "fat-free" kind of "non" rather than the "old fashioned" kind of non that actually meant "a prefix that means not".&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;However this does not explain the level of "intrusion" that I was seeing.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Yes Alban I have seen this document, it does not provide any more technical details than were already available but probably serves as a good introduction. Written by a mate of yours then?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Unfortunately, the machine I was testing is now much closer to you Alban, than me, so I can't do anymore direct testing on this at the moment. I will be sure to let you know what I find when&amp;nbsp; can get my hands on another.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards&lt;/DIV&gt;&lt;DIV&gt;David&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Nov 2006 18:33:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/How-quot-Non-Intrusive-quot-is-the-S08-BDM/m-p/134415#M3693</guid>
      <dc:creator>peg</dc:creator>
      <dc:date>2006-11-09T18:33:42Z</dc:date>
    </item>
  </channel>
</rss>

