<?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: No Optimization</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524127#M6763</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Mon Jun 18 05:26:11 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;My actual test project (all project / lib opitimizations: -Os) seems to work without additional volatiles in DevStandardReq. &lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 16:47:43 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T16:47:43Z</dc:date>
    <item>
      <title>No Optimization</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524120#M6756</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Wed Jun 13 07:42:52 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Does version 0.95 include an optimizable LPC1768 version?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Trying to optimize this huge example (Example_VirtualSerialDevice / LPCXpresso) leads to loss of USB (device manager doesn't recognize USB).&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:47:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524120#M6756</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:47:39Z</dc:date>
    </item>
    <item>
      <title>Re: No Optimization</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524121#M6757</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Thu Jun 14 06:09:26 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Answering my own question:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As usual, optimization fails because globals are not volatile.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Just adding volatile to globals in DeviceStandardReq.c and Endpoint_LPC17xx.h solved this issue.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So, nxpUSBlib team, would you please add more volatiles and/or test your nxpUSBlib with optimization?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In this case, optimization could reduce code size about 35%.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:47:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524121#M6757</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:47:39Z</dc:date>
    </item>
    <item>
      <title>Re: No Optimization</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524122#M6758</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by nxpUSBlib team on Thu Jun 14 15:48:43 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you for your observations and feedback. They are very much appreciated.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We should have been testing and releasing everything with optimization for size but this one slipped by us. We will alter our test and release procedures to accomodate this issue and fix bugs you found for the next release.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Would you mind telling us which compiler you are using?&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:47:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524122#M6758</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:47:40Z</dc:date>
    </item>
    <item>
      <title>Re: No Optimization</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524123#M6759</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Thu Jun 14 15:53:11 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using LPCXpresso v4.2.3 [Build 292] [30/05/2012] &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:47:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524123#M6759</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:47:41Z</dc:date>
    </item>
    <item>
      <title>Re: No Optimization</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524124#M6760</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by vitah on Fri Jun 15 00:15:52 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;which optimization flag you are using?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:47:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524124#M6760</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:47:41Z</dc:date>
    </item>
    <item>
      <title>Re: No Optimization</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524125#M6761</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Fri Jun 15 00:48:39 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Standard LPCXpresso 'Release' optimization -Or or -O2.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:47:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524125#M6761</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:47:42Z</dc:date>
    </item>
    <item>
      <title>Re: No Optimization</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524126#M6762</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by vitah on Sun Jun 17 20:10:25 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Zero,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried these optimization and think we should only add volatile for variables isInready and isOutReceived in Endpoint_LPC17xx.c . How effectively when doing the same in DevStandardReq.c? Can you run the example without adding volatile to DevStandardReq.c?&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:47:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524126#M6762</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:47:42Z</dc:date>
    </item>
    <item>
      <title>Re: No Optimization</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524127#M6763</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Mon Jun 18 05:26:11 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;My actual test project (all project / lib opitimizations: -Os) seems to work without additional volatiles in DevStandardReq. &lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:47:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524127#M6763</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:47:43Z</dc:date>
    </item>
    <item>
      <title>Re: No Optimization</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524128#M6764</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Tue Jun 19 06:58:28 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Answering my own question:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;No, version 0.95 (released yesterday) does not include an optimizable LPC1768 version.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Compiling with -Os failed again. Don't know if someone responsible is reading this (6 day old) comment, but anyway, writing a memo to myself to add volatiles in version 0.96,0.97,0.98... seems to be a good idea. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:47:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524128#M6764</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:47:43Z</dc:date>
    </item>
    <item>
      <title>Re: No Optimization</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524129#M6765</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by peplin on Thu Aug 30 09:57:46 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Setting only these two variables to volatile made the device enumeration work for me again in my own project, using GNU ARM Embedded. I can't say if it fixes the other example because I haven't tried compiling any of the examples - no Makefiles, unfortunately.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:47:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524129#M6765</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:47:44Z</dc:date>
    </item>
    <item>
      <title>Re: No Optimization</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524130#M6766</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by peplin on Thu Aug 30 09:58:39 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks, Zero - I wasted an hour on this before finding your earlier question and answer about marking the variables as volatile. &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:47:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524130#M6766</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:47:45Z</dc:date>
    </item>
    <item>
      <title>Re: No Optimization</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524131#M6767</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by peplin on Wed Sep 05 13:04:00 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;Since there hasn't been any official response on this (and there are a few other showstopper bugs that haven't been fixed), I've started an nxpUSBlib repo on GitHub that includes the volatile patch. It's currently in the "volatile" branch: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=https%3A%2F%2Fgithub.com%2Fopenxc%2FnxpUSBlib%2Ftree%2Fvolatile" rel="nofollow" target="_blank"&gt;https://github.com/openxc/nxpUSBlib/tree/volatile&lt;/A&gt;&lt;SPAN&gt; .&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:47:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524131#M6767</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:47:45Z</dc:date>
    </item>
    <item>
      <title>Re: No Optimization</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524132#M6768</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by nxpUSBlib team on Thu Sep 06 13:15:00 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Supporting compiler optimizations is scheduled for release 1.0 the end of October.&amp;nbsp; You mentioned some other 'show stoppers' - please cite the thread(s) or post them here.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:47:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524132#M6768</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:47:46Z</dc:date>
    </item>
    <item>
      <title>Re: No Optimization</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524133#M6769</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by peplin on Thu Sep 06 17:48:09 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;This is the major issue for me: &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%2Fforum%2Fshared-memory-buffer-nxpusblib" rel="nofollow" target="_blank"&gt;http://www.lpcware.com/content/forum/shared-memory-buffer-nxpusblib&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;All endpoints share a single buffer, making the library useless for using more than one endpoint at a time. I patched that too, see the end of that thread.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:47:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524133#M6769</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:47:46Z</dc:date>
    </item>
    <item>
      <title>Re: No Optimization</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524134#M6770</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by peplin on Mon Sep 10 13:08:58 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I take it back - I am having a problem with a bulk transfer endpoint where Endpoint_IsINReady() returns true even though it is not (and thus my IN buffer gets corrupted with 2 simultaneous transfers much of the time). For non-control endpoint transfers, that function checks the dmaDescriptor array. I'm trying to experiment, but how can I also make the ".Retired" values in the array's structs also volatile? Or is this a symptom of another problem?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:47:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/No-Optimization/m-p/524134#M6770</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:47:47Z</dc:date>
    </item>
  </channel>
</rss>

