<?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>LPCXpresso IDEのトピックRe: Using __user_heap_base doesn't change the map file</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559285#M15380</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by lpcxpresso-support on Fri Mar 20 08:07:51 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: EricBI&lt;/STRONG&gt;&lt;BR /&gt;I have a related problem with 'realloc'.&amp;nbsp;&amp;nbsp; Malloc, calloc, free works fine.&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This does indeed look like an issue in realloc when memory is exhausted. We'll investigate further.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For our reference - can you confirm what your target MCU is?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPCXpresso Support&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 00:49:31 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T00:49:31Z</dc:date>
    <item>
      <title>Using __user_heap_base doesn't change the map file</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559277#M15372</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by MaxOnCodeRed on Wed Nov 19 03:56:04 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 using LpcExpresso 7.4.0. I need to change the heap position, so I set the symbol __user_heap_base inside linker option. When I run the program, I see that the heap was changed using my setting, but inside .map file I don't see this change because the __heaps and __end_of_heap remain the same. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Which is the trick ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:49:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559277#M15372</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:49:26Z</dc:date>
    </item>
    <item>
      <title>Re: Using __user_heap_base doesn't change the map file</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559278#M15373</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by lpcxpresso-support on Wed Nov 19 06:21:26 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;See:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&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%2Fheap-checking-redlib" rel="nofollow" target="_blank"&gt;http://www.lpcware.com/content/faq/lpcxpresso/heap-checking-redlib&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also, if you originally created your project with a version of LPCXpresso prior to v7.4.0, ensure that you delete the Debug/Release directory so as to force a recreation of the managed linker scripts.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you are still having problems, please provide a project showing the problem,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&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%2Fhow-importexport-projects" rel="nofollow" target="_blank"&gt;http://www.lpcware.com/content/faq/lpcxpresso/how-importexport-projects&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;or else specify exactly what you have done, and also post your build log showing the actual link command, plus generated linker script and map files&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&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%2Fbuild-console" rel="nofollow" target="_blank"&gt;http://www.lpcware.com/content/faq/lpcxpresso/build-console&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPCXpresso Support&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:49:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559278#M15373</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:49:27Z</dc:date>
    </item>
    <item>
      <title>Re: Using __user_heap_base doesn't change the map file</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559279#M15374</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by MaxOnCodeRed on Wed Nov 19 06:58:27 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 using your the LpcOpen2_10 lwip_tcpecho_sa project with LpcExpresso 7.4.0. Could you try to insert the linker symbols like in the image and then Build the project. Then you could check the map file.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;[img]&lt;/SPAN&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.lpcware.com%2Fsystem%2Ffiles%2Flinker_sym.JPG%5B%2Fimg%5D" rel="nofollow" target="_blank"&gt;http://www.lpcware.com/system/files/linker_sym.JPG[/img]&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:49:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559279#M15374</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:49:28Z</dc:date>
    </item>
    <item>
      <title>Re: Using __user_heap_base doesn't change the map file</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559280#M15375</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by lpcxpresso-support on Wed Nov 19 08:08:00 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;OK, I now understand what is confusing you. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the linker map file, regardless of whether you have defined &lt;/SPAN&gt;&lt;I&gt;&lt;STRONG&gt;__user_heap_base&lt;/STRONG&gt;&lt;/I&gt;&lt;SPAN&gt;, you are seeing the line similar to:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca" style="border:1px solid black;background-color:#cacaca;"&gt; &lt;PRE&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; 0x02000034&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; _pvHeapStart = DEFINED (__user_heap_base)?__user_heap_base:.&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[where 0x02000034 is the address in RAM where the heap is starting 'by default', which will depend on the target MCU and your application itself].&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;However if you look higher up the map file in the case where you define &lt;/SPAN&gt;&lt;STRONG&gt;&lt;I&gt;__user_heap_base&lt;/I&gt;&lt;/STRONG&gt;&lt;SPAN&gt;, you will have line such as&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca" style="border:1px solid black;background-color:#cacaca;"&gt; &lt;PRE&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; 0x10003000&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; __user_heap_base = 0x10003000&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[where 0x10003000 is the address I passed in on my linker command line.]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Your confusion comes from the fact that you are expecting to see in the case where you have defined &lt;/SPAN&gt;&lt;STRONG&gt;&lt;I&gt;__user_heap_base&lt;/I&gt;&lt;/STRONG&gt;&lt;SPAN&gt; something like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca" style="border:1px solid black;background-color:#cacaca;"&gt; &lt;PRE&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; 0x10003000&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; _pvHeapStart = DEFINED (__user_heap_base)?__user_heap_base:.&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Unfortunately this isn't what the linker actually does in the map file. But note that your code will actually use the value from &lt;/SPAN&gt;&lt;STRONG&gt;&lt;I&gt;__user_heap_base&lt;/I&gt;&lt;/STRONG&gt;&lt;SPAN&gt; in your actual application. You will be able to see this when you debug, or if you process the AXF file using the "&lt;/SPAN&gt;&lt;STRONG&gt;arm-none-eabi-objdump -t&lt;/STRONG&gt;&lt;SPAN&gt;" command.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you want to see the real heap start in the map file in this case, then we need to add a line to the linker script file to output the final value of &lt;/SPAN&gt;&lt;STRONG&gt;&lt;I&gt;_pvHeapStart&lt;/I&gt;&lt;/STRONG&gt;&lt;SPAN&gt;. I've attached a linker script template file that will cause this to be done so that you will see the following in the map file:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca" style="border:1px solid black;background-color:#cacaca;"&gt; &lt;PRE&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; 0x02000034&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; _pvHeapStart = DEFINED (__user_heap_base)?__user_heap_base:.
&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; 0x10003000&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; _actual_pvHeapStart = ABSOLUTE (_pvHeapStart)&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For details of how to use a linker script template, please see:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.lpcware.com%2Fcontent%2Ffaq%2Flpcxpresso%2Flinker-script-templates" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.lpcware.com/content/faq/lpcxpresso/linker-script-templates&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPCXpresso Support&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:49:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559280#M15375</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:49:28Z</dc:date>
    </item>
    <item>
      <title>Re: Using __user_heap_base doesn't change the map file</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559281#M15376</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by MaxOnCodeRed on Fri Nov 21 08:17:20 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 want to tell you that when you place the heap at specified address (using __user_heap_base and _pvHeapLimit linker symbols), and use the macro to place a variable in a specified segment (__BSS(RAM2) uint32_t my_var), the linker doesn't check if they can overlay each other. So to determinate a free starting address to assing to __user_heap_base, it is necessary to go in the map file and check the last used address.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is it possible to inform the linker to detect this overlay ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:49:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559281#M15376</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:49:29Z</dc:date>
    </item>
    <item>
      <title>Re: Using __user_heap_base doesn't change the map file</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559282#M15377</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by lpcxpresso-support on Sat Nov 22 07:55:57 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Theoretically you can set __user_heap_base to have the value of any symbol already defined in the linker script, which should allow you to do what you want.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Unfortunately at the current time, the managed linker script mechanism doesn't generate a symbol automatically to mark the end of data/bss sections except for the 1st RAM block. Thus you would need to turn off the managed linker script mechanism and manually modify the linker script to include such a symbol - which you could then reference.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We'll investigate adding start/end symbols for all RAM blocks to managed linker scripts in a future LPCXpresso release though.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPCXpresso Support.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:49:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559282#M15377</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:49:29Z</dc:date>
    </item>
    <item>
      <title>Re: Using __user_heap_base doesn't change the map file</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559283#M15378</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by lpcxpresso-support on Tue Feb 03 04:39:13 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: lpcxpresso-support&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;We'll investigate adding start/end symbols for all RAM blocks to managed linker scripts in a future LPCXpresso release though.&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This has now been done in LPCXpresso 7.6. Thus you can now define the start / end of heap on the linker command line using commands such as:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;--defsym=__user_heap_base=__end_bss_RAM2
--defsym=_pvHeapLimit=__end_bss_RAM2+0x800&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPCXpresso Support&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:49:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559283#M15378</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:49:30Z</dc:date>
    </item>
    <item>
      <title>Re: Using __user_heap_base doesn't change the map file</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559284#M15379</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by EricBI on Thu Mar 19 13:47:47 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I have a related problem with 'realloc'.&amp;nbsp;&amp;nbsp; Malloc, calloc, free works fine.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This works:&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void * p = NULL;
while (true) {
p = malloc(200);

if (p == NULL) {
exit(1);
}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This works with 'realloc':&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void * p = NULL;
while (true) {
p = realloc(NULL, 200);

if (p == NULL) {
exit(1);
}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Only realloc fails (HardFault_Handler) when resizing:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void * p = NULL;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t size = 200;
while (true) {
p = realloc(p, size);

if (p == NULL) {
exit(1);
}
&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; size += 200;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Using:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; - redlib &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; - lpc1768&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; - LPCXpresso v7.6.2 [Build 326] [2015-02-02] &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Linker config:&lt;/SPAN&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;-Map="${BuildArtifactFileBaseName}.map"&lt;BR /&gt;--defsym=_pvHeapStart=0x2007C000&lt;BR /&gt;--defsym=__user_heap_base=0x2007C000&lt;BR /&gt;--defsym=_pvHeapLimit=0x20083FFF&lt;BR /&gt;--gc-sections&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:49:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559284#M15379</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:49:30Z</dc:date>
    </item>
    <item>
      <title>Re: Using __user_heap_base doesn't change the map file</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559285#M15380</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by lpcxpresso-support on Fri Mar 20 08:07:51 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: EricBI&lt;/STRONG&gt;&lt;BR /&gt;I have a related problem with 'realloc'.&amp;nbsp;&amp;nbsp; Malloc, calloc, free works fine.&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This does indeed look like an issue in realloc when memory is exhausted. We'll investigate further.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For our reference - can you confirm what your target MCU is?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPCXpresso Support&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:49:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559285#M15380</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:49:31Z</dc:date>
    </item>
    <item>
      <title>Re: Using __user_heap_base doesn't change the map file</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559286#M15381</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by EricBI on Sat Mar 21 01:08:27 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;i'm using a cortex M3 lpc1768.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; I Found out that only the realloc from redlib is not working, in newlib it works fine. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have created a test project on github: epinxteren/memory-allocation-test&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define MEM_BLOCK 200&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define POINTERS 40000 / MEM_BLOCK&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void test_dynamicAllocation() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enough pointers to go over the 32k of memory.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void * p[POINTERS];&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t used_memory = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t i = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /****************&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ** TEST Malloc.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ****************/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i = 0; i &amp;lt;POINTERS; i++) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;p&lt;/SPAN&gt;&lt;I&gt; = malloc(MEM_BLOCK);&lt;BR /&gt;if (p&lt;I&gt;) {&lt;BR /&gt;used_memory += MEM_BLOCK;&lt;BR /&gt;memset(p&lt;I&gt;, 0xAA, MEM_BLOCK);&lt;BR /&gt;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Test free&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i = 0; i &amp;lt;POINTERS; i++) {&lt;BR /&gt;if (p&lt;I&gt;) {&lt;BR /&gt;free(p&lt;I&gt;);&lt;BR /&gt;p&lt;I&gt; = NULL;&lt;BR /&gt;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; used_memory = 0;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /****************&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ** TEST calloc.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ****************/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i = 0; i &amp;lt;POINTERS; i++) {&lt;BR /&gt;p&lt;I&gt; = calloc(1, MEM_BLOCK);&lt;BR /&gt;if (p&lt;I&gt;) {&lt;BR /&gt;used_memory += MEM_BLOCK;&lt;BR /&gt;memset(p&lt;I&gt;, 0xAA, MEM_BLOCK);&lt;BR /&gt;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Test free&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i = 0; i &amp;lt;POINTERS; i++) {&lt;BR /&gt;if (p&lt;I&gt;) {&lt;BR /&gt;free(p&lt;I&gt;);&lt;BR /&gt;p&lt;I&gt; = NULL;&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; used_memory = 0;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /****************&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ** TEST realloc with NULL pointer as first argument..&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ****************/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i = 0; i &amp;lt;POINTERS; i++) {&lt;BR /&gt;p&lt;I&gt; = realloc(p&lt;I&gt;, MEM_BLOCK);&lt;BR /&gt;if (p&lt;I&gt;) {&lt;BR /&gt;used_memory += MEM_BLOCK;&lt;BR /&gt;memset(p&lt;I&gt;, 0xAA, MEM_BLOCK);&lt;BR /&gt;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Test free&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i = 0; i &amp;lt;POINTERS; i++) {&lt;BR /&gt;if (p&lt;I&gt;) {&lt;BR /&gt;free(p&lt;I&gt;);&lt;BR /&gt;p&lt;I&gt; = NULL;&lt;BR /&gt;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /****************&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ** TEST Test realloc, grow and shrink&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ****************/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void * pointer = NULL;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int grow = MEM_BLOCK;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; used_memory = grow;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (;;) {&lt;BR /&gt;void * temp = realloc(pointer, used_memory);&lt;BR /&gt;if (temp &amp;amp;&amp;amp; used_memory != 0) {&lt;BR /&gt;pointer = temp;&lt;BR /&gt;memset(pointer, 0xAA, used_memory);&lt;BR /&gt;} else {&lt;BR /&gt;grow = grow * -1;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;if (grow &amp;lt; 0 &amp;amp;&amp;amp; used_memory &amp;lt;= MEM_BLOCK) {&lt;BR /&gt;used_memory = 0;&lt;BR /&gt;} else {&lt;BR /&gt;used_memory += grow;&lt;BR /&gt;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;&amp;lt;/code&amp;gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:49:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559286#M15381</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:49:31Z</dc:date>
    </item>
    <item>
      <title>Re: Using __user_heap_base doesn't change the map file</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559287#M15382</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by lpcxpresso-support on Mon Mar 23 04:54:00 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: lpcxpresso-support&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;This does indeed look like an issue in realloc when memory is exhausted. We'll investigate further.&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We've now identified the cause of the problem, which will indeed prevent the correct trapping of a realloc when the heap memory becomes exhausted. We will fix this Redlib realloc issue formally in a future LPCXpresso release in the near future (though unfortunately it won't make it into the next release).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the meantime, I've attached a "beta patch" containing a fix for this, suitable for Cortex-M3 parts such as LPC17xx, for you to evaluate.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To use this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[list]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; [*]Extract alloc.o from the attached ZIP file into a temp directory.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; [*]Right click on your application project In the Project Explorer view&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; [*]Select New -&amp;gt; Folder, calling this folder 'obj'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; [*]Drag and drop alloc.o into the 'obj' folder&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; [*]Right click again on your application project, and select Properties&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; [*]Goto C/C++ Build -&amp;gt; Settings -&amp;gt; Tool Settings -&amp;gt; MCU Linker -&amp;gt; Miscellaneous&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; [*]In "Other objects", click on the Add (+) button, click on Workspace, and navigate to the object file and select it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; [*]Now rebuild and the local version of the alloc functions should get picked up in preferences to the ones in the Redlib library files.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[/list]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Note: You will need to repeat this for both Debug and Release Build configurations.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPCXpresso Support&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:49:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559287#M15382</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:49:32Z</dc:date>
    </item>
    <item>
      <title>Re: Using __user_heap_base doesn't change the map file</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559288#M15383</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by lpcxpresso-support on Wed Apr 01 05:11:15 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;This realloc issue has now been fixed in LPCXpresso 7.7.2 which has just been released.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPCXpresso Support&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:49:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Using-user-heap-base-doesn-t-change-the-map-file/m-p/559288#M15383</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:49:33Z</dc:date>
    </item>
  </channel>
</rss>

