<?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 Re: S12X/XGATE runtime library needs too much RAM in CodeWarrior for MCU</title>
    <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/S12X-XGATE-runtime-library-needs-too-much-RAM/m-p/128414#M724</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hello,&lt;BR /&gt;you should not be worried about the sizes reported a the project window: the project window will list you the memory/flash/RAM allocation for the whole package/library/files. I mean it is the 'worst' case and only if you would link and use _everything_ in it.&lt;BR /&gt;The linker is a smart linker and will only link and use what is used by your application. So if you link the library with your application, and you are not using any library stuff, it will not consume RAM/Flash in your application at all. Have a look at the produced .map file by the linker and you will see that the amount of RAM/Flash will go down to the level what you really use.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Erich&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 09 Mar 2006 17:58:54 GMT</pubDate>
    <dc:creator>BlackNight</dc:creator>
    <dc:date>2006-03-09T17:58:54Z</dc:date>
    <item>
      <title>S12X/XGATE runtime library needs too much RAM</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/S12X-XGATE-runtime-library-needs-too-much-RAM/m-p/128413#M723</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using CodeWarrior for HCS12X version 4.1. I wonder why the libraries need so much RAM? When I look at the project window, there are ansixbi.lib and ansi_xgi.lib which occupy 2019 and 2018 bytes of RAM. How can I reduce this?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks in advance,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pittbull&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Mar 2006 17:40:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/S12X-XGATE-runtime-library-needs-too-much-RAM/m-p/128413#M723</guid>
      <dc:creator>pittbull</dc:creator>
      <dc:date>2006-03-09T17:40:51Z</dc:date>
    </item>
    <item>
      <title>Re: S12X/XGATE runtime library needs too much RAM</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/S12X-XGATE-runtime-library-needs-too-much-RAM/m-p/128414#M724</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hello,&lt;BR /&gt;you should not be worried about the sizes reported a the project window: the project window will list you the memory/flash/RAM allocation for the whole package/library/files. I mean it is the 'worst' case and only if you would link and use _everything_ in it.&lt;BR /&gt;The linker is a smart linker and will only link and use what is used by your application. So if you link the library with your application, and you are not using any library stuff, it will not consume RAM/Flash in your application at all. Have a look at the produced .map file by the linker and you will see that the amount of RAM/Flash will go down to the level what you really use.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Erich&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Mar 2006 17:58:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/S12X-XGATE-runtime-library-needs-too-much-RAM/m-p/128414#M724</guid>
      <dc:creator>BlackNight</dc:creator>
      <dc:date>2006-03-09T17:58:54Z</dc:date>
    </item>
    <item>
      <title>Re: S12X/XGATE runtime library needs too much RAM</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/S12X-XGATE-runtime-library-needs-too-much-RAM/m-p/128415#M725</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hello Erich,&lt;BR /&gt;Thanks for the reply. I know that some library functions need much Flash memory (e.g. sprintf). But which functions need static RAM (as shown in the project window)? I think most of them use local (stack) variables. Am I wrong?&lt;BR /&gt;Can you tell me please, which library functions one must avoid to save RAM?&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Mar 2006 21:15:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/S12X-XGATE-runtime-library-needs-too-much-RAM/m-p/128415#M725</guid>
      <dc:creator>pittbull</dc:creator>
      <dc:date>2006-03-10T21:15:57Z</dc:date>
    </item>
    <item>
      <title>Re: S12X/XGATE runtime library needs too much RAM</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/S12X-XGATE-runtime-library-needs-too-much-RAM/m-p/128416#M726</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi,&lt;BR /&gt;yes, most are only using stack variables, and no global memory/RAM. The exception is the heap managment (malloc, etc) where there is a global area of RAM you can allocate. Have a look at the libdefs.h header file how to configure the heap size.&lt;BR /&gt;But if you are not using any malloc()/etc, it is dead-stripped/removed by the linker.&lt;BR /&gt;&lt;BR /&gt;Erich&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Mar 2006 01:14:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/S12X-XGATE-runtime-library-needs-too-much-RAM/m-p/128416#M726</guid>
      <dc:creator>BlackNight</dc:creator>
      <dc:date>2006-03-11T01:14:49Z</dc:date>
    </item>
    <item>
      <title>Re: S12X/XGATE runtime library needs too much RAM</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/S12X-XGATE-runtime-library-needs-too-much-RAM/m-p/128417#M727</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hi Erich,&lt;BR /&gt;Thanks again.&lt;BR /&gt;I don't know which algorithm the codewarrior-supplied heap routines use, but most embedded heaps that are based on linked lists need one ore two pointers in global RAM (beside the heap memory itself). This should be max. 4 bytes under a 16 bit platform. So I think there must be some other library functions which waste memory....&lt;BR /&gt;BTW: I hardly never use heap routines in embedded development :smileywink:&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Mar 2006 05:26:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/S12X-XGATE-runtime-library-needs-too-much-RAM/m-p/128417#M727</guid>
      <dc:creator>pittbull</dc:creator>
      <dc:date>2006-03-12T05:26:21Z</dc:date>
    </item>
  </channel>
</rss>

