<?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>LPC MicrocontrollersのトピックRe: Unable to retrieve disassembly data from backend.</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Unable-to-retrieve-disassembly-data-from-backend/m-p/550388#M14003</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Italia on Thu Sep 04 03:57:29 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Why volatle? And i have to do that for all the variable?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:50:37 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:50:37Z</dc:date>
    <item>
      <title>Unable to retrieve disassembly data from backend.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Unable-to-retrieve-disassembly-data-from-backend/m-p/550384#M13999</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Italia on Wed Sep 03 03:00:15 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;i'm programming my CPU LPC2468 and my program run really good in debug mode.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Now, when i compile in release mode, my program stop tu function correctly and fall&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;in an infinite loop in an "if" instruction. I look the disassembly code and in the if instruction&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;i have the following:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;boolean I2CEngine(time_t timeout)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while (!done)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if (I2CMasterState == DATA_NACK)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//result = I2CStop();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;done = true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In this case the I2CMasterState is modified in the interrupt routine and the degug show&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;that the the if condition is sutisfacted.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;DISASSEMBLY:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;00002a00:&amp;nbsp;&amp;nbsp; bge&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x2a0c &amp;lt;I2CEngine+28&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;442&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2CStop();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;00002a04:&amp;nbsp;&amp;nbsp; bl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x29a4 &amp;lt;I2CStop&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;446&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; done = true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;00002a08:&amp;nbsp;&amp;nbsp; mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3, #255&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; 0xff&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;451&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (I2CMasterState == DATA_NACK)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;00002a0c:&amp;nbsp;&amp;nbsp; ldr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r2, [pc, #32]&amp;nbsp;&amp;nbsp; ; 0x2a34 &amp;lt;I2CEngine+68&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;449&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!done)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;00002a10:&amp;nbsp;&amp;nbsp; cmp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r3, #0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;451&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (I2CMasterState == DATA_NACK)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;00002a14:&amp;nbsp;&amp;nbsp; Unable to retrieve disassembly data from backend.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;00002a15:&amp;nbsp;&amp;nbsp; movs&amp;nbsp;&amp;nbsp;&amp;nbsp; r0, #0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;00002a17:&amp;nbsp;&amp;nbsp; b.n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x25be &amp;lt;coreFlashROMWrite+158&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Looking the disassembly there is also a missing coerence of the logic flow of the portion of program that i don't understand.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank u for u attention.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:50:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Unable-to-retrieve-disassembly-data-from-backend/m-p/550384#M13999</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:50:34Z</dc:date>
    </item>
    <item>
      <title>Re: Unable to retrieve disassembly data from backend.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Unable-to-retrieve-disassembly-data-from-backend/m-p/550385#M14000</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by LabRat on Wed Sep 03 03:09:55 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: Italia&lt;/STRONG&gt;&lt;BR /&gt;In this case the I2CMasterState is modified in the interrupt routine...&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;... and it is a volatile?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;See: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.lpcware.com%2Fcontent%2Ffaq%2Flpcxpresso%2Fcompiler-optimization" rel="nofollow" target="_blank"&gt;http://www.lpcware.com/content/faq/lpcxpresso/compiler-optimization&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:50:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Unable-to-retrieve-disassembly-data-from-backend/m-p/550385#M14000</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:50:35Z</dc:date>
    </item>
    <item>
      <title>Re: Unable to retrieve disassembly data from backend.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Unable-to-retrieve-disassembly-data-from-backend/m-p/550386#M14001</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Italia on Wed Sep 03 04:30:21 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I just found the problem that is an optimization of the compiler that i removed.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:50:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Unable-to-retrieve-disassembly-data-from-backend/m-p/550386#M14001</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:50:36Z</dc:date>
    </item>
    <item>
      <title>Re: Unable to retrieve disassembly data from backend.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Unable-to-retrieve-disassembly-data-from-backend/m-p/550387#M14002</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by wmues on Thu Sep 04 03:53:39 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;I just found the problem that is an optimization of the compiler that i removed.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Don't do that. Instead fix your code: declare the variable volatile.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:50:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Unable-to-retrieve-disassembly-data-from-backend/m-p/550387#M14002</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:50:37Z</dc:date>
    </item>
    <item>
      <title>Re: Unable to retrieve disassembly data from backend.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Unable-to-retrieve-disassembly-data-from-backend/m-p/550388#M14003</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Italia on Thu Sep 04 03:57:29 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Why volatle? And i have to do that for all the variable?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:50:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Unable-to-retrieve-disassembly-data-from-backend/m-p/550388#M14003</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:50:37Z</dc:date>
    </item>
  </channel>
</rss>

