<?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: Re: MQX Memory usage in MQX Software Solutions</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-Memory-usage/m-p/259716#M7688</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Basically we can talk about 4 scenarios:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;a) Freescale MQX RTOS alone. It can be configured to take as little as 6 KB of ROM, including kernel, interrupts, semaphores, queues and memory manager.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;b) Freescale MQX RTOS with 2 tasks. It can be configured to take as little as 12 KB of ROM and 2.5K RAM on CFV2, including kernel, 2 task applications,1 LW Semaphore, interrupt stack, queues, and memory manager.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;c) Freescale MQX RTCS. It includes RTOS and TCPIP stack. It can be configured to take as little as 30Kb of ROM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;d) Freescale MQX USB. It includes RTOS and USB stack. It is designed to fit in a small footprint of 10Kb RAM and with code size of 32Kb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In addition please check the reports attached.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sol&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 26 Feb 2014 20:35:04 GMT</pubDate>
    <dc:creator>soledad</dc:creator>
    <dc:date>2014-02-26T20:35:04Z</dc:date>
    <item>
      <title>MQX Memory usage</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-Memory-usage/m-p/259713#M7685</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is there any specification about the memory usage (ROM and RAM) of all components in MQX (including RTCS, file system, USB host/device)?&lt;/P&gt;&lt;P&gt;I am targeting a Kinetis K6xF processor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Than you,&lt;/P&gt;&lt;P&gt;Adrian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Feb 2014 21:49:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-Memory-usage/m-p/259713#M7685</guid>
      <dc:creator>adrianbica</dc:creator>
      <dc:date>2014-02-25T21:49:28Z</dc:date>
    </item>
    <item>
      <title>Re: MQX Memory usage</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-Memory-usage/m-p/259714#M7686</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Adrian&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;Freescale MQX RTOS includes a project that helps to determinate the timing and code sizing of any project. You can find this in the path &amp;lt;MQX install_path&amp;gt;\mqx\examples\benchmrk\codesize\reports The code sizing depends on the kind of functions used in the final application. The benchmark project includes almost all the main components in MQX. This will provide the code size of these components.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;In addition I had checked TWR-K60N512 Quick Start Demo project with following USB stack memory map:&lt;BR /&gt;&amp;nbsp; Module&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; ro code&amp;nbsp; ro data&amp;nbsp; rw data&lt;BR /&gt; ------ -------&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ------- -------&lt;BR /&gt; usb_ddk_twrk60n512_d.a: [12]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;SPAN style="font-size: 9.0pt; font-family: 'Calibri','sans-serif';"&gt;&lt;BR /&gt;&amp;nbsp; callback_usbfs.o 29&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 64&lt;BR /&gt;&amp;nbsp; dev_cncl.o 76&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 60&lt;BR /&gt;&amp;nbsp; dev_main.o 704&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 364&lt;BR /&gt;&amp;nbsp; dev_recv.o 176&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 44&lt;BR /&gt;&amp;nbsp; dev_send.o 180 124&lt;BR /&gt;&amp;nbsp; dev_utl.o 608 500&lt;BR /&gt;&amp;nbsp; usb_class.o&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; 658 124&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;BR /&gt; usb_framework.o&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; 1 316 271&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 212&lt;BR /&gt;&amp;nbsp; usb_hid.o 1 236&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 40 20&lt;BR /&gt; usbfs_dev_main.o&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; 6 472 378&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 516&lt;BR /&gt;&amp;nbsp; usbinst.o&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; 80&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 40&lt;BR /&gt; --------------------------------------------&lt;BR /&gt;&amp;nbsp; Total: 11 506&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 974&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 816&lt;BR /&gt; &lt;BR /&gt; It shows MQX USB stack is using 11.5K bytes code size and 2K bytes SRAM size.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;Regards &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;Sol&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Feb 2014 22:33:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-Memory-usage/m-p/259714#M7686</guid>
      <dc:creator>soledad</dc:creator>
      <dc:date>2014-02-25T22:33:16Z</dc:date>
    </item>
    <item>
      <title>Re: MQX Memory usage</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-Memory-usage/m-p/259715#M7687</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sol,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your answer.&lt;/P&gt;&lt;P&gt;What I actually want is to have an approximate code size estimate for a project containing all those components above (plus SSL client/server), BEFORE starting the project (which may take several months). We need to see, if it will fit in 512K Flash or need more. Of course we want just an estimate. By having MQX components size we can add something for our application and end with some quick estimate, without having to write the code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All other TCP/IP stacks give that information (how much code will take each component), but I cannot find anything for MQX (other than it can fit into 30KB. I assume this is just very minimal tcp/ip).&lt;/P&gt;&lt;P&gt;So, let me know, if such an information exists, please.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Adrian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Feb 2014 16:25:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-Memory-usage/m-p/259715#M7687</guid>
      <dc:creator>adrianbica</dc:creator>
      <dc:date>2014-02-26T16:25:42Z</dc:date>
    </item>
    <item>
      <title>Re: Re: MQX Memory usage</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-Memory-usage/m-p/259716#M7688</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Basically we can talk about 4 scenarios:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;a) Freescale MQX RTOS alone. It can be configured to take as little as 6 KB of ROM, including kernel, interrupts, semaphores, queues and memory manager.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;b) Freescale MQX RTOS with 2 tasks. It can be configured to take as little as 12 KB of ROM and 2.5K RAM on CFV2, including kernel, 2 task applications,1 LW Semaphore, interrupt stack, queues, and memory manager.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;c) Freescale MQX RTCS. It includes RTOS and TCPIP stack. It can be configured to take as little as 30Kb of ROM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;d) Freescale MQX USB. It includes RTOS and USB stack. It is designed to fit in a small footprint of 10Kb RAM and with code size of 32Kb.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In addition please check the reports attached.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sol&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Feb 2014 20:35:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-Memory-usage/m-p/259716#M7688</guid>
      <dc:creator>soledad</dc:creator>
      <dc:date>2014-02-26T20:35:04Z</dc:date>
    </item>
    <item>
      <title>Re: MQX Memory usage</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-Memory-usage/m-p/259717#M7689</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I worked with MQX, the problem I had was not ROM (internal flash) that was not big enough, but RAM (internal RAM) because of RTCS and its servers.&lt;/P&gt;&lt;P&gt;I worked on an MCF52259 with 512KB ROM and 64KB RAM, with MQX3.7, but this should also be nearly the same for other processors and newer MQX versions.&lt;/P&gt;&lt;P&gt;My application was made of 19 tasks : 2 MQX shell on serial lines, 1 RTCS, 1 TELNET, 1 TELNET MQX shell, 1 HTTP server, 1 SNMP server, 1 SNMP trap/inform management, and 11 user defined tasks for management.&lt;/P&gt;&lt;P&gt;The drivers used were : interrupt driven UART (x2 for MQX shell), interrupt driven I2C (x2 busses), ADC (x4 channels), general purpose timers (x2 channels), GPIOs, PWM. However drivers have a very small impact on RAM usage.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All that used &lt;STRONG&gt;only 320KB out of 512KB of ROM&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;But form RAM&lt;/STRONG&gt;, I had to &lt;STRONG&gt;tune the stack of each task&lt;/STRONG&gt; to the minimum required (27KB total for all tasks) &lt;STRONG&gt;to leave enough memory for the heap&lt;/STRONG&gt; that is used as said by Benjamin for the buffers allocated by &lt;STRONG&gt;RTCS and its services&lt;/STRONG&gt; (telnet, http, snmp, ...) &lt;STRONG&gt;that need about 30KB of RAM&lt;/STRONG&gt; in my application. And if you add few KB for read-write variables, you are at 64KB out of 64KB !!&lt;/P&gt;&lt;P&gt;To give you an idea of the minimum stack required, I found that for a "non debug" target (must be increased for a debug target) :&lt;/P&gt;&lt;P&gt;- MQX shell : 2048 bytes&lt;/P&gt;&lt;P&gt;- RTCS task : 3000 bytes&lt;/P&gt;&lt;P&gt;- Telnet server, Telnet shell, SNMP server : 2048 bytes&lt;/P&gt;&lt;P&gt;- HTTP server : 2500 bytes&lt;/P&gt;&lt;P&gt;- user tasks : 768 bytes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now to know the amount of memory used (ROM and RAM) I used code below.&lt;/P&gt;&lt;P&gt;Please note that the "minimum free memory" is the minimum detected from the start of MQX (can only decrease with time) that is decreased when malloc() is used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;uint_32 flash_base&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/TD&gt;&lt;TD&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;= (uint_32)BSP_INTERNAL_FLASH_BASE;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;uint_32 flash_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/TD&gt;&lt;TD&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;= (uint_32)BSP_INTERNAL_FLASH_SIZE;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;/* Data from linker script only available for internal flash target */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;extern uchar __VECTOR_TABLE_ROM_START[];&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;extern uchar flashx_start[];&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;uint_32 flash_code_start &lt;/SPAN&gt;&lt;/TD&gt;&lt;TD&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;= (uint_32)__VECTOR_TABLE_ROM_START;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;uint_32 flash_code_end&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/TD&gt;&lt;TD&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;= (uint_32)flashx_start - 1;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;/* RAM */&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;uint_32 sram_base&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/TD&gt;&lt;TD&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;= (uint_32)BSP_INTERNAL_SRAM_BASE;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;uint_32 sram_size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/TD&gt;&lt;TD&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;= (uint_32)BSP_INTERNAL_SRAM_SIZE;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;uint_32 sram_kernel_mem_start = (uint_32)BSP_DEFAULT_START_OF_KERNEL_MEMORY;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;uint_32 sram_kernel_mem_end&amp;nbsp; = (uint_32)BSP_DEFAULT_END_OF_KERNEL_MEMORY - 1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;uint_32 max_mem = (uint_32)_mem_get_highwater();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;printf("FLASH : [0x%08x - 0x%08x] : %d bytes\n", flash_base, flash_base + flash_size - 1, flash_size);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;printf("&amp;nbsp; software image : [0x%08x - 0x%08x] : %d bytes\n",&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;flash_code_start, flash_code_end, flash_code_end - flash_code_start + 1);&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;printf("SRAM&amp;nbsp; : [0x%08x - 0x%08x] : %d bytes\n", sram_base, sram_base + sram_size - 1, sram_size);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;printf("&amp;nbsp; runtime r/w data : [0x%08x - 0x%08x] : %d bytes\n",&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;sram_base, sram_kernel_mem_start - 1, sram_kernel_mem_start - sram_base);&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;printf("&amp;nbsp; kernel memory : [0x%08x - 0x%08x] (high water : 0x%08x)\n",&lt;/SPAN&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;sram_kernel_mem_start, sram_kernel_mem_end, max_mem);&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;printf("&amp;nbsp; minimum free memory : %d bytes\n", sram_kernel_mem_end - max_mem);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this will help.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 19 Apr 2015 22:14:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-Memory-usage/m-p/259717#M7689</guid>
      <dc:creator>trailman</dc:creator>
      <dc:date>2015-04-19T22:14:25Z</dc:date>
    </item>
  </channel>
</rss>

