<?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: Redlib malloc()/free()</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/Redlib-malloc-free/m-p/573777#M21589</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by CodeRedSupport on Sun Aug 15 01:45:01 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;There were some issues with the reuse of free'ed memory in Redlib which have been fixed in LPCXpresso v3.4.6:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://knowledgebase.nxp.com/showthread.php?t=598&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;CodeRedSupport&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 23:52:27 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T23:52:27Z</dc:date>
    <item>
      <title>Redlib malloc()/free()</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Redlib-malloc-free/m-p/573776#M21588</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by causticphoton on Sat Aug 14 22:18:54 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Trying to port the NicheLite TCP/IP stack from NXP on LPCXpresso.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Think I have things figured out for the most part, but when I use malloc(), and free(), the heap pointer keeps increasing, until it blows away my stack. free() is not freeing memory, or malloc() is not seeing the memory free'd.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is free() broken in redlib?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;NOTE: you can see below that the printf routines included with NicheLite use malloc as an intermediate buffer. The npalloc() calls keep increasing the pointer that I get back from npalloc() even though npfree() is being called.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&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;border:1px solid black;background-color:#cacaca;border:1px solid black;background-color:#cacaca;background-color:#cacaca;border:1px solid black;background-color:#cacaca;border:1px solid black;background-color:#cacaca;border:1px solid black;"&gt; &lt;PRE&gt;mbed LPC1768 Startup... (Aug 14 2010&amp;nbsp;&amp;nbsp; 22:31:09)
usr_stack = 10005FF0, __get_MSP() = 10007FA8, tk_getsp() = 10007FA8
npalloc(): ptr = 10001C0C, size = 40
sp = 10007F98, st_base = 10005FA8, heap at = 10001C40
tk-&amp;gt;tk_guard = [10005FA8] 53544143
npalloc(): ptr = 10001C50, size = 40
npalloc(): ptr = 10001C84, size = 256
TASK clock tick: tk-&amp;gt;tk_fp = 10001D4C, tk-&amp;gt;tk_stack = 10001C84, tk-&amp;gt;tk_size = 256
sp = 10001D48, *sp = 00000000
npalloc(): ptr = 10001D90, size = 40
npalloc(): ptr = 10001DC4, size = 1024
TASK debug Task1: tk-&amp;gt;tk_fp = 1000218C, tk-&amp;gt;tk_stack = 10001DC4, tk-&amp;gt;tk_size = 1024
sp = 10002188, *sp = 00000000
npalloc(): ptr = 100021D0, size = 40
npalloc(): ptr = 10002204, size = 1024
TASK debug Task2: tk-&amp;gt;tk_fp = 100025CC, tk-&amp;gt;tk_stack = 10002204, tk-&amp;gt;tk_size = 1024
sp = 100025C8, *sp = 00000000
npalloc(): ptr = 10002610, size = 40
npalloc(): ptr = 10002644, size = 1024
TASK debug Task3: tk-&amp;gt;tk_fp = 10002A0C, tk-&amp;gt;tk_stack = 10002644, tk-&amp;gt;tk_size = 1024
sp = 10002A08, *sp = 00000000
npalloc(): ptr = 10002A50, size = 40
npalloc(): ptr = 10002A84, size = 1024
TASK debug Task4: tk-&amp;gt;tk_fp = 10002E4C, tk-&amp;gt;tk_stack = 10002A84, tk-&amp;gt;tk_size = 1024
sp = 10002E48, *sp = 00000000
npalloc(): ptr = 10002E90, size = 40
npalloc(): ptr = 10002EC4, size = 1024
TASK web server: tk-&amp;gt;tk_fp = 1000328C, tk-&amp;gt;tk_stack = 10002EC4, tk-&amp;gt;tk_size = 1024
sp = 10003288, *sp = 00000000
npalloc(): ptr = 100032D0, size = 40
npalloc(): ptr = 10003304, size = 1024
TASK console: tk-&amp;gt;tk_fp = 100036CC, tk-&amp;gt;tk_stack = 10003304, tk-&amp;gt;tk_size = 1024
sp = 100036C8, *sp = 00000000
npalloc(): ptr = 10003710, size = 128
npalloc(): ptr = 1000379C, size = 132

INET&amp;gt; ?
SNMP Station: general commands:
&amp;nbsp;&amp;nbsp; help&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - help with menus
&amp;nbsp;&amp;nbsp; state&amp;nbsp;&amp;nbsp;&amp;nbsp; - show current station setup
&amp;nbsp;&amp;nbsp; delay&amp;nbsp;&amp;nbsp;&amp;nbsp; - set milliseconds to wait between pings
&amp;nbsp;&amp;nbsp; host&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - set default active IP host
&amp;nbsp;&amp;nbsp; length&amp;nbsp;&amp;nbsp; - set default ping packet length
&amp;nbsp;&amp;nbsp; quit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - quit station program
&amp;nbsp;&amp;nbsp; ping&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - send a ping
&amp;nbsp;&amp;nbsp; setip&amp;nbsp;&amp;nbsp;&amp;nbsp; - set interface IP address
&amp;nbsp;&amp;nbsp; version&amp;nbsp; - display version information
&amp;nbsp;&amp;nbsp; !command - pass command to OS shell
npalloc(): ptr = 1000382C, size = 156
Also try 'help [npfree(): ptr = 1000382C
npalloc(): ptr = 100038D4, size = 156
generalnpfree(): ptr = 100038D4
npalloc(): ptr = 1000397C, size = 156
|npfree(): ptr = 1000397C
npalloc(): ptr = 10003A24, size = 156
diagnosticnpfree(): ptr = 10003A24
npalloc(): ptr = 10003ACC, size = 156
|npfree(): ptr = 10003ACC
npalloc(): ptr = 10003B74, size = 156
zzznpfree(): ptr = 10003B74
npalloc(): ptr = 10003C1C, size = 156
]'
npfree(): ptr = 10003C1C
npalloc(): ptr = 10003CC4, size = 156

npfree(): ptr = 10003CC4
INET&amp;gt; ?
SNMP Station: general commands:
&amp;nbsp;&amp;nbsp; help&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - help with menus
&amp;nbsp;&amp;nbsp; state&amp;nbsp;&amp;nbsp;&amp;nbsp; - show current station setup
&amp;nbsp;&amp;nbsp; delay&amp;nbsp;&amp;nbsp;&amp;nbsp; - set milliseconds to wait between pings
&amp;nbsp;&amp;nbsp; host&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - set default active IP host
&amp;nbsp;&amp;nbsp; length&amp;nbsp;&amp;nbsp; - set default ping packet length
&amp;nbsp;&amp;nbsp; quit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - quit station program
&amp;nbsp;&amp;nbsp; ping&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - send a ping
&amp;nbsp;&amp;nbsp; setip&amp;nbsp;&amp;nbsp;&amp;nbsp; - set interface IP address
&amp;nbsp;&amp;nbsp; version&amp;nbsp; - display version information
&amp;nbsp;&amp;nbsp; !command - pass command to OS shell
npalloc(): ptr = 10003D6C, size = 156
Also try 'help [npfree(): ptr = 10003D6C
npalloc(): ptr = 10003E14, size = 156
generalnpfree(): ptr = 10003E14
npalloc(): ptr = 10003EBC, size = 156
|npfree(): ptr = 10003EBC
npalloc(): ptr = 10003F64, size = 156
diagnosticnpfree(): ptr = 10003F64
npalloc(): ptr = 1000400C, size = 156
|npfree(): ptr = 1000400C
npalloc(): ptr = 100040B4, size = 156
zzznpfree(): ptr = 100040B4
npalloc(): ptr = 1000415C, size = 156
]'
npfree(): ptr = 1000415C
npalloc(): ptr = 10004204, size = 156

npfree(): ptr = 10004204
INET&amp;gt; ?
SNMP Station: general commands:
&amp;nbsp;&amp;nbsp; help&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - help with menus
&amp;nbsp;&amp;nbsp; state&amp;nbsp;&amp;nbsp;&amp;nbsp; - show current station setup
&amp;nbsp;&amp;nbsp; delay&amp;nbsp;&amp;nbsp;&amp;nbsp; - set milliseconds to wait between pings
&amp;nbsp;&amp;nbsp; host&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - set default active IP host
&amp;nbsp;&amp;nbsp; length&amp;nbsp;&amp;nbsp; - set default ping packet length
&amp;nbsp;&amp;nbsp; quit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - quit station program
&amp;nbsp;&amp;nbsp; ping&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - send a ping
&amp;nbsp;&amp;nbsp; setip&amp;nbsp;&amp;nbsp;&amp;nbsp; - set interface IP address
&amp;nbsp;&amp;nbsp; version&amp;nbsp; - display version information
&amp;nbsp;&amp;nbsp; !command - pass command to OS shell
npalloc(): ptr = 100042AC, size = 156
Also try 'help [npfree(): ptr = 100042AC
npalloc(): ptr = 10004354, size = 156
generalnpfree(): ptr = 10004354
npalloc(): ptr = 100043FC, size = 156
|npfree(): ptr = 100043FC
npalloc(): ptr = 100044A4, size = 156
diagnosticnpfree(): ptr = 100044A4
npalloc(): ptr = 1000454C, size = 156
|npfree(): ptr = 1000454C
npalloc(): ptr = 100045F4, size = 156
zzznpfree(): ptr = 100045F4
npalloc(): ptr = 1000469C, size = 156
]'
npfree(): ptr = 1000469C
npalloc(): ptr = 10004744, size = 156

npfree(): ptr = 10004744
INET&amp;gt; ?
SNMP Station: general commands:
&amp;nbsp;&amp;nbsp; help&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - help with menus
&amp;nbsp;&amp;nbsp; state&amp;nbsp;&amp;nbsp;&amp;nbsp; - show current station setup
&amp;nbsp;&amp;nbsp; delay&amp;nbsp;&amp;nbsp;&amp;nbsp; - set milliseconds to wait between pings
&amp;nbsp;&amp;nbsp; host&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - set default active IP host
&amp;nbsp;&amp;nbsp; length&amp;nbsp;&amp;nbsp; - set default ping packet length
&amp;nbsp;&amp;nbsp; quit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - quit station program
&amp;nbsp;&amp;nbsp; ping&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - send a ping
&amp;nbsp;&amp;nbsp; setip&amp;nbsp;&amp;nbsp;&amp;nbsp; - set interface IP address
&amp;nbsp;&amp;nbsp; version&amp;nbsp; - display version information
&amp;nbsp;&amp;nbsp; !command - pass command to OS shell
npalloc(): ptr = 100047EC, size = 156
Also try 'help [npfree(): ptr = 100047EC
npalloc(): ptr = 10004894, size = 156
generalnpfree(): ptr = 10004894
npalloc(): ptr = 1000493C, size = 156
|npfree(): ptr = 1000493C
npalloc(): ptr = 100049E4, size = 156
diagnosticnpfree(): ptr = 100049E4
npalloc(): ptr = 10004A8C, size = 156
|npfree(): ptr = 10004A8C
npalloc(): ptr = 10004B34, size = 156
zzznpfree(): ptr = 10004B34
npalloc(): ptr = 10004BDC, size = 156
]'
npfree(): ptr = 10004BDC
npalloc(): ptr = 10004C84, size = 156

npfree(): ptr = 10004C84
INET&amp;gt; ?
SNMP Station: general commands:
&amp;nbsp;&amp;nbsp; help&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - help with menus
&amp;nbsp;&amp;nbsp; state&amp;nbsp;&amp;nbsp;&amp;nbsp; - show current station setup
&amp;nbsp;&amp;nbsp; delay&amp;nbsp;&amp;nbsp;&amp;nbsp; - set milliseconds to wait between pings
&amp;nbsp;&amp;nbsp; host&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - set default active IP host
&amp;nbsp;&amp;nbsp; length&amp;nbsp;&amp;nbsp; - set default ping packet length
&amp;nbsp;&amp;nbsp; quit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - quit station program
&amp;nbsp;&amp;nbsp; ping&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - send a ping
&amp;nbsp;&amp;nbsp; setip&amp;nbsp;&amp;nbsp;&amp;nbsp; - set interface IP address
&amp;nbsp;&amp;nbsp; version&amp;nbsp; - display version information
&amp;nbsp;&amp;nbsp; !command - pass command to OS shell
npalloc(): ptr = 10004D2C, size = 156
Also try 'help [npfree(): ptr = 10004D2C
npalloc(): ptr = 10004DD4, size = 156
generalnpfree(): ptr = 10004DD4
npalloc(): ptr = 10004E7C, size = 156
|npfree(): ptr = 10004E7C
npalloc(): ptr = 10004F24, size = 156
diagnosticnpfree(): ptr = 10004F24
npalloc(): ptr = 10004FCC, size = 156
|npfree(): ptr = 10004FCC
npalloc(): ptr = 10005074, size = 156
zzznpfree(): ptr = 10005074
npalloc(): ptr = 1000511C, size = 156
]'
npfree(): ptr = 1000511C
npalloc(): ptr = 100051C4, size = 156

npfree(): ptr = 100051C4
INET&amp;gt; 
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-338170" rel="nofollow noopener noreferrer" target="_blank"&gt;1100602_LPCLinkDiagnostics.txt.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:52:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Redlib-malloc-free/m-p/573776#M21588</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:52:26Z</dc:date>
    </item>
    <item>
      <title>Re: Redlib malloc()/free()</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Redlib-malloc-free/m-p/573777#M21589</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by CodeRedSupport on Sun Aug 15 01:45:01 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;There were some issues with the reuse of free'ed memory in Redlib which have been fixed in LPCXpresso v3.4.6:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://knowledgebase.nxp.com/showthread.php?t=598&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;CodeRedSupport&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:52:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Redlib-malloc-free/m-p/573777#M21589</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:52:27Z</dc:date>
    </item>
    <item>
      <title>Re: Redlib malloc()/free()</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Redlib-malloc-free/m-p/573778#M21590</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by MotoCon on Sun Dec 19 11:19:42 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;CausticPhoton,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Did you get this working?&amp;nbsp; I am trying to do the same thing.&amp;nbsp; What processor are you targeting?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:52:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Redlib-malloc-free/m-p/573778#M21590</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:52:28Z</dc:date>
    </item>
  </channel>
</rss>

