<?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>CodeWarrior for MCU中的主题 Re: L1102 Out of Allocation Space LL36/LL64</title>
    <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/L1102-Out-of-Allocation-Space-LL36-LL64/m-p/188595#M6688</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I will try this tomorrow.. I sure hope the code does not expand significantly with branch optimizations disabled.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In&amp;nbsp;IDE 5.9.0 the argument will be added via edit, standard settings, compiler. It looks like the new argument stays within the scope of one project and not other projects that may be built in the future.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for your answer!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 08 Dec 2011 05:46:37 GMT</pubDate>
    <dc:creator>PG1</dc:creator>
    <dc:date>2011-12-08T05:46:37Z</dc:date>
    <item>
      <title>L1102 Out of Allocation Space LL36/LL64</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/L1102-Out-of-Allocation-Space-LL36-LL64/m-p/188593#M6686</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When we build a project with an LL64 as a target, everything goes fine. The last lines of the map file are:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ExeFile:&lt;BR /&gt;--------&lt;BR /&gt;Number of blocks to be downloaded: 37&lt;BR /&gt;Total size of all blocks to be downloaded: 22502&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Question1- Is this truly the number of bytes of ROM that are used, or is something left out.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now, the amount of RAM is the same on a LL36 but the ROM decreases from ~64K to ~32K. Furthermore, all data objects are much less than&amp;nbsp; a page window size.&lt;/P&gt;&lt;P&gt;Question2- When we build the same exact project with same settings for LL32, we get L1102 link allocation error indicating there is not enough ROM. But 22502&amp;lt;~36k so there should be enough rom. Any ideas?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Dec 2011 02:53:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/L1102-Out-of-Allocation-Space-LL36-LL64/m-p/188593#M6686</guid>
      <dc:creator>PG1</dc:creator>
      <dc:date>2011-12-08T02:53:44Z</dc:date>
    </item>
    <item>
      <title>Re: L1102 Out of Allocation Space LL36/LL64</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/L1102-Out-of-Allocation-Space-LL36-LL64/m-p/188594#M6687</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;yes, the 22502 bytes are correct: this is the total size of ROM/Flash needed. But of course this might be distributed over different sections/segments.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;About the second thing: have a look at you linker .prm file (at least this is what I have in my MCU10.2 beta):&lt;/P&gt;&lt;P&gt;You should have:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROM&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; READ_ONLY&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xC000 TO 0xFFAB;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROM1&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; READ_ONLY&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x5000 TO 0x7FFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROM2&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; READ_ONLY&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFC0 TO 0xFFD1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and:&lt;/P&gt;&lt;P&gt;PLACEMENT&lt;/P&gt;&lt;P&gt;....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; COPY&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; /* copy down information: how to initialize variables */&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTO&amp;nbsp; ROM; /* ,ROM1,ROM2: To use "ROM1,ROM2" as well, pass the option -OnB=b to the compiler */&lt;/P&gt;&lt;P&gt;Notice the comment. And notice that it goes only into ROM (which is for LL32 around 12K).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In order to have it in ROM1 and ROM2:&lt;/P&gt;&lt;P&gt;Add the compiler option -OnB=b (to disable a branch optimization) and change the linker file to&lt;/P&gt;&lt;P&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; INTO&amp;nbsp; ROM ,ROM1,ROM2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Dec 2011 03:20:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/L1102-Out-of-Allocation-Space-LL36-LL64/m-p/188594#M6687</guid>
      <dc:creator>BlackNight</dc:creator>
      <dc:date>2011-12-08T03:20:35Z</dc:date>
    </item>
    <item>
      <title>Re: L1102 Out of Allocation Space LL36/LL64</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/L1102-Out-of-Allocation-Space-LL36-LL64/m-p/188595#M6688</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I will try this tomorrow.. I sure hope the code does not expand significantly with branch optimizations disabled.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In&amp;nbsp;IDE 5.9.0 the argument will be added via edit, standard settings, compiler. It looks like the new argument stays within the scope of one project and not other projects that may be built in the future.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for your answer!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Dec 2011 05:46:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/L1102-Out-of-Allocation-Space-LL36-LL64/m-p/188595#M6688</guid>
      <dc:creator>PG1</dc:creator>
      <dc:date>2011-12-08T05:46:37Z</dc:date>
    </item>
    <item>
      <title>Re: L1102 Out of Allocation Space LL36/LL64</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/L1102-Out-of-Allocation-Space-LL36-LL64/m-p/188596#M6689</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes this works and gets you into the high 20's of K with one disabled optimization and the small memory model&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To get the complete 36K you must switch to banked memory model.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Dec 2011 00:23:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/L1102-Out-of-Allocation-Space-LL36-LL64/m-p/188596#M6689</guid>
      <dc:creator>PG1</dc:creator>
      <dc:date>2011-12-13T00:23:55Z</dc:date>
    </item>
    <item>
      <title>Re: L1102 Out of Allocation Space LL36/LL64</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/L1102-Out-of-Allocation-Space-LL36-LL64/m-p/188597#M6690</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When you&amp;nbsp;use more&amp;nbsp; than&amp;nbsp;~26 or so K you are forced to redefine the project using the banked memory model to get access to the remaining flash.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you define interrupts with the interrupt keyword (and perhaps the other ways as well), you must surround each ISR function with&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#pragma CODE_SEG NON_BANKED&lt;/P&gt;&lt;P&gt;void interrupt BLAH blah()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#pragma CODE_SEG DEFAULT&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;to ensure that the ISR is placed in non-banked memory....this is because the hardware cannot store a banked address on its stack when an int is asserted.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Otherwise you will get a linker fixup error for which there is little documentation.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Jan 2012 22:34:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/L1102-Out-of-Allocation-Space-LL36-LL64/m-p/188597#M6690</guid>
      <dc:creator>PG1</dc:creator>
      <dc:date>2012-01-04T22:34:06Z</dc:date>
    </item>
  </channel>
</rss>

