<?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 How can I increase the stack size in my linker file?? in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-can-I-increase-the-stack-size-in-my-linker-file/m-p/325487#M14947</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am using a KL02Z32 (although will be using a KL02Z16) soon. I seem to have hit a limit on my stack size. If I increase it then I will get a link error (overflow) because it will not fit into m_data2.&lt;/P&gt;&lt;P&gt;I have messed around and to date have failed miserably with what I thought was a simple task. I'm sure I am being a little stupid. How do I increase my heap / stack allocation?&lt;/P&gt;&lt;P&gt;I cannot work with the stack this small.&lt;/P&gt;&lt;P&gt;Any help much appreciated.&lt;/P&gt;&lt;P&gt;A snippet of my linker file is:-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Generate a link error if heap and stack don't fit into RAM */&lt;BR /&gt;__heap_size = 0x100;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* required amount of heap&amp;nbsp; */&lt;BR /&gt;__stack_size = 0x100;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* required amount of stack */&lt;/P&gt;&lt;P&gt;/* Specify the memory areas */&lt;BR /&gt;MEMORY&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; m_interrupts (rx) : ORIGIN = 0x00000000, LENGTH = 0xC0&lt;BR /&gt;&amp;nbsp; m_cfmprotrom&amp;nbsp; (rx) : ORIGIN = 0x00000400, LENGTH = 0x10&lt;BR /&gt;&amp;nbsp; m_text&amp;nbsp;&amp;nbsp; (rx) : ORIGIN = 0x00000800, LENGTH = 32K - 0x800&lt;BR /&gt;&amp;nbsp; m_data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (rwx) : ORIGIN = 0x1FFFFC00, LENGTH = 1K&amp;nbsp;&amp;nbsp; /* Lower SRAM */&lt;BR /&gt;&amp;nbsp; m_data2&amp;nbsp;&amp;nbsp;&amp;nbsp; (rwx) : ORIGIN = 0x20000000, LENGTH = 4K&amp;nbsp;&amp;nbsp; /* Upper SRAM */&lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 27 Jun 2014 13:08:03 GMT</pubDate>
    <dc:creator>clivepalmer</dc:creator>
    <dc:date>2014-06-27T13:08:03Z</dc:date>
    <item>
      <title>How can I increase the stack size in my linker file??</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-can-I-increase-the-stack-size-in-my-linker-file/m-p/325487#M14947</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am using a KL02Z32 (although will be using a KL02Z16) soon. I seem to have hit a limit on my stack size. If I increase it then I will get a link error (overflow) because it will not fit into m_data2.&lt;/P&gt;&lt;P&gt;I have messed around and to date have failed miserably with what I thought was a simple task. I'm sure I am being a little stupid. How do I increase my heap / stack allocation?&lt;/P&gt;&lt;P&gt;I cannot work with the stack this small.&lt;/P&gt;&lt;P&gt;Any help much appreciated.&lt;/P&gt;&lt;P&gt;A snippet of my linker file is:-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Generate a link error if heap and stack don't fit into RAM */&lt;BR /&gt;__heap_size = 0x100;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* required amount of heap&amp;nbsp; */&lt;BR /&gt;__stack_size = 0x100;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* required amount of stack */&lt;/P&gt;&lt;P&gt;/* Specify the memory areas */&lt;BR /&gt;MEMORY&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; m_interrupts (rx) : ORIGIN = 0x00000000, LENGTH = 0xC0&lt;BR /&gt;&amp;nbsp; m_cfmprotrom&amp;nbsp; (rx) : ORIGIN = 0x00000400, LENGTH = 0x10&lt;BR /&gt;&amp;nbsp; m_text&amp;nbsp;&amp;nbsp; (rx) : ORIGIN = 0x00000800, LENGTH = 32K - 0x800&lt;BR /&gt;&amp;nbsp; m_data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (rwx) : ORIGIN = 0x1FFFFC00, LENGTH = 1K&amp;nbsp;&amp;nbsp; /* Lower SRAM */&lt;BR /&gt;&amp;nbsp; m_data2&amp;nbsp;&amp;nbsp;&amp;nbsp; (rwx) : ORIGIN = 0x20000000, LENGTH = 4K&amp;nbsp;&amp;nbsp; /* Upper SRAM */&lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jun 2014 13:08:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-can-I-increase-the-stack-size-in-my-linker-file/m-p/325487#M14947</guid>
      <dc:creator>clivepalmer</dc:creator>
      <dc:date>2014-06-27T13:08:03Z</dc:date>
    </item>
    <item>
      <title>Re: How can I increase the stack size in my linker file??</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-can-I-increase-the-stack-size-in-my-linker-file/m-p/325488#M14948</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I should add that I'm not using processor expert.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jun 2014 13:27:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-can-I-increase-the-stack-size-in-my-linker-file/m-p/325488#M14948</guid>
      <dc:creator>clivepalmer</dc:creator>
      <dc:date>2014-06-27T13:27:46Z</dc:date>
    </item>
    <item>
      <title>Re: How can I increase the stack size in my linker file??</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-can-I-increase-the-stack-size-in-my-linker-file/m-p/325489#M14949</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The linker scripts linage vary so we can't really help without seeing the part that deals with the heap and stack at the end of the linker script.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is a snipped of mine, for a different part:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MEMORY&lt;BR /&gt;{&lt;BR /&gt;/*&lt;BR /&gt; * The linker will place into the text memory region every section which&lt;BR /&gt; * is not explicitly mapped into a memory region, and is either&lt;BR /&gt; * read-only or executable.&lt;BR /&gt; */&lt;BR /&gt;&amp;nbsp; VECTORS&amp;nbsp;&amp;nbsp; (rx)&amp;nbsp;&amp;nbsp; : ORIGIN = 0x0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LENGTH = 0x000000C0&lt;BR /&gt;&amp;nbsp; FLASHCFG&amp;nbsp; (rx)&amp;nbsp;&amp;nbsp; : ORIGIN = 0x00000400,&amp;nbsp; LENGTH = 16&lt;BR /&gt;&amp;nbsp; FLASH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (rx)&amp;nbsp;&amp;nbsp; : ORIGIN = 0x00000410,&amp;nbsp; LENGTH = 128K - 1K - 0x410 /* Flash size - EEPROM Sim size - vectors and Flash Config bytes */&lt;BR /&gt;&amp;nbsp; EEPROMSIM (rx)&amp;nbsp;&amp;nbsp; : ORIGIN = 0x0001FC00,&amp;nbsp; LENGTH = 1K /* Smallest sector size that can be erased on this part.&amp;nbsp; Place to store simulated EEPROM constants */&lt;BR /&gt;/*&lt;BR /&gt;&amp;nbsp; NOINIT&amp;nbsp;&amp;nbsp; (rwx)&amp;nbsp; : ORIGIN = 0x1FFFF000,&amp;nbsp; LENGTH = 0x200&lt;BR /&gt;*/&lt;BR /&gt;&amp;nbsp; RAM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (rwx)&amp;nbsp; : ORIGIN = 0x1FFFF000,&amp;nbsp; LENGTH = 16K /* Internal SRAM.&amp;nbsp; flash_kinetis_cmd executes out of RAM */&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[everything else here that consumes Flash or RAM]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .heap :&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = ALIGN(4);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __end__ = .;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end = __end__;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __heap_start = .;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.heap*)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = ALIGN(4);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __heap_end = .;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &amp;gt; RAM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set stack top to end of RAM */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __StackTop = ORIGIN(RAM) + LENGTH(RAM);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __StackLimit = __StackTop - 1k;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROVIDE(__stack = __StackTop);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Check if data + heap + stack exceeds RAM limit: */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ASSERT(__StackLimit &amp;gt;= __heap_end, "Region RAM overflowed with stack")&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jun 2014 13:37:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-can-I-increase-the-stack-size-in-my-linker-file/m-p/325489#M14949</guid>
      <dc:creator>bobpaddock</dc:creator>
      <dc:date>2014-06-27T13:37:57Z</dc:date>
    </item>
    <item>
      <title>Re: How can I increase the stack size in my linker file??</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-can-I-increase-the-stack-size-in-my-linker-file/m-p/325490#M14950</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks. I have attached my linker file (hopefully) if this helps.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jun 2014 13:44:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-can-I-increase-the-stack-size-in-my-linker-file/m-p/325490#M14950</guid>
      <dc:creator>clivepalmer</dc:creator>
      <dc:date>2014-06-27T13:44:01Z</dc:date>
    </item>
    <item>
      <title>Re: How can I increase the stack size in my linker file??</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-can-I-increase-the-stack-size-in-my-linker-file/m-p/325491#M14951</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think I sorted it Bob. I have reduced my lower SRAM start value and then adjusted the start of upper SRAM start accordingly. By making it bigger it seems to allow me to increase my stack.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jun 2014 13:59:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-can-I-increase-the-stack-size-in-my-linker-file/m-p/325491#M14951</guid>
      <dc:creator>clivepalmer</dc:creator>
      <dc:date>2014-06-27T13:59:28Z</dc:date>
    </item>
  </channel>
</rss>

