<?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: Relocating majority of application into RAM in MCUXpresso IDE</title>
    <link>https://community.nxp.com/t5/MCUXpresso-IDE/Relocating-majority-of-application-into-RAM/m-p/833139#M3179</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It is working!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 19 Oct 2018 11:45:37 GMT</pubDate>
    <dc:creator>pjanco</dc:creator>
    <dc:date>2018-10-19T11:45:37Z</dc:date>
    <item>
      <title>Relocating majority of application into RAM</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/Relocating-majority-of-application-into-RAM/m-p/833134#M3174</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 try to reconfigure SDK example project "driver_examples/csi/csi_rgb565" to use different memory layout. I can not do this and I need help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My target configuration is to have majority of code in internal ITC memory, all read only data in internal DTC memory, stack in internal DTC memory, global variables in internal OC memory, big camera RBB565 buffers in external SDRAM, heap in external SDRAM. I am following steps in manual "MCUXpresso IDE User Guide&amp;gt;Memory Configuration and Linker Scripts&amp;gt;FreeMarker Linker Script Template Examples/Relocating majority of application into RAM".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is my MCU settings:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;IMG alt="pastedImage_1.png" src="https://community.nxp.com/t5/image/serverpage/image-id/74146i6A0DD640C399D8B2/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_1.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is my managed linker script configuration:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;IMG alt="pastedImage_2.png" src="https://community.nxp.com/t5/image/serverpage/image-id/74637i77DA093B24599811/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_2.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also create "linkscripts" folder with three files:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data.ldt&lt;/P&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;lt;#if memory.alias=="RAM2"&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*(.text*)
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;. = ALIGN(${text_align});
&amp;lt;/#if&amp;gt;
&amp;lt;#if memory.alias=="RAM"&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*(.rodata .rodata.* .constdata .constdata.*)
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;. = ALIGN(${text_align});
&amp;lt;/#if&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*(.data.$${memory.alias}*)
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*(.data.$${memory.name}*)‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;main_rodata.ldt&lt;/P&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;*startup_*.o (.rodata .rodata.* .constdata .constdata.*)
. = ALIGN(${text_align});‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;main_text.ldt&lt;/P&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;*startup_*.o (.text.*)
*(.text.main)
*(.text.__main)‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am able to compile my project:&lt;/P&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;Memory region&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Used Size&amp;nbsp; Region Size&amp;nbsp; %age Used
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BOARD_FLASH:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 41336 B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 64 MB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.06%
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SRAM_DTC:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8604 B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 128 KB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.56%
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SRAM_ITC:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 25596 B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 128 KB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 19.53%
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SRAM_OC:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 436 B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 256 KB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.17%
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BOARD_SDRAM:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 MB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32 MB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.13%
Finished building target: evkbimxrt1050_csi_rgb565_2.axf‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But after I upload program binary it to my IMXRT1050-EVKB board it stop with this error:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="pastedImage_3.png"&gt;&lt;IMG alt="pastedImage_3.png" src="https://community.nxp.com/t5/image/serverpage/image-id/74900i9333BFFF6CC5BF99/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_3.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I am doing wrong?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I use the same configuration but without this:&lt;/P&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;lt;#if memory.alias=="RAM2"&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*(.text*)
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;. = ALIGN(${text_align});
&amp;lt;/#if&amp;gt;‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Then it is working. So, the only problem is ITC memory, rest of my memory layout seems to be functional.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In original linker script file "MIMXRT1052xxxxx_flexspi_nor.ld" is the SDRAM memory splited into two regions. First have 30MB and second 2MB. Camera RGB565 buffer is in smaller 2MB region.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Why is SDRAM splitted into two regions?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 14:13:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/Relocating-majority-of-application-into-RAM/m-p/833134#M3174</guid>
      <dc:creator>pjanco</dc:creator>
      <dc:date>2020-11-02T14:13:49Z</dc:date>
    </item>
    <item>
      <title>Re: Relocating majority of application into RAM</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/Relocating-majority-of-application-into-RAM/m-p/833135#M3175</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello &lt;A _jive_internal="true" data-content-finding="Community" data-userid="327852" data-username="pjanco" href="https://community.nxp.com/people/pjanco"&gt;Peter Janco&lt;/A&gt;, &lt;/P&gt;&lt;P&gt;-&amp;nbsp; I also refer to the manual "MCUXpresso IDE User Guide" relocate majority of application to RAM,&lt;/P&gt;&lt;P&gt;it failed , I have reported it to expert team . I will reply you .ASAP after get the answer.&lt;/P&gt;&lt;P&gt;- "Why is SDRAM splitted into two regions?" -&amp;gt; Use a stand alone space placing the two buffers&lt;/P&gt;&lt;P&gt;"s_cameraBuffer" and "s_lcdBuffer".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;Alice&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2018 02:04:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/Relocating-majority-of-application-into-RAM/m-p/833135#M3175</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2018-10-18T02:04:16Z</dc:date>
    </item>
    <item>
      <title>Re: Relocating majority of application into RAM</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/Relocating-majority-of-application-into-RAM/m-p/833136#M3176</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please can you clean your project, then export it and attach to this thread [using "Quickstart Panel -&amp;gt; Export project(s) to archive (.zip)"].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If not, please at least post the actual linker scripts generated for your project, along with the map file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The reason&amp;nbsp;that SDRAM is probably split in two is because the two sections are set up different in the MPU settings (one part cached, the other not cached).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;MCUXpresso IDE Support&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2018 10:04:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/Relocating-majority-of-application-into-RAM/m-p/833136#M3176</guid>
      <dc:creator>lpcxpresso_supp</dc:creator>
      <dc:date>2018-10-18T10:04:27Z</dc:date>
    </item>
    <item>
      <title>Re: Relocating majority of application into RAM</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/Relocating-majority-of-application-into-RAM/m-p/833137#M3177</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 did not figure out how to attach zip file directly into this thread.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is my project:&lt;/P&gt;&lt;P&gt;&lt;A href="https://ulozto.net/!ZHNug52GAJai/project-zip"&gt;https://ulozto.net/!ZHNug52GAJai/project-zip&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Peter.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2018 12:44:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/Relocating-majority-of-application-into-RAM/m-p/833137#M3177</guid>
      <dc:creator>pjanco</dc:creator>
      <dc:date>2018-10-18T12:44:43Z</dc:date>
    </item>
    <item>
      <title>Re: Relocating majority of application into RAM</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/Relocating-majority-of-application-into-RAM/m-p/833138#M3178</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So the main issue here is that the function SystemInit() which called from near the start of the reset handler is being relocated into RAM, but is called before the copy from flash to RAM takes place (so the code isn't actually in the RAM yet to excute).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can fix this by changing main_text.ldt and main_rodata.ldt such that SystemInit() is left to run from flash, thus:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;main_text.ldt:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;PRE&gt;*startup_*.o (.text.*)
&lt;SPAN style="color: #ff0000;"&gt;*system_*.o (.text.*)&lt;/SPAN&gt;
*(.text.main)
*(.text.__main)&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px;"&gt;main_rodata.ldt:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;PRE&gt;*startup_*.o (.&lt;SPAN style="text-decoration: underline;"&gt;rodata&lt;/SPAN&gt; .&lt;SPAN style="text-decoration: underline;"&gt;rodata&lt;/SPAN&gt;.* .&lt;SPAN style="text-decoration: underline;"&gt;constdata&lt;/SPAN&gt; .&lt;SPAN style="text-decoration: underline;"&gt;constdata&lt;/SPAN&gt;.*)
&lt;SPAN style="color: #ff0000;"&gt;*system_*.o (.&lt;SPAN style="text-decoration: underline;"&gt;rodata&lt;/SPAN&gt; .&lt;SPAN style="text-decoration: underline;"&gt;rodata&lt;/SPAN&gt;.* .&lt;SPAN style="text-decoration: underline;"&gt;constdata&lt;/SPAN&gt; .&lt;SPAN style="text-decoration: underline;"&gt;constdata&lt;/SPAN&gt;.*)&lt;/SPAN&gt;
. = ALIGN(${text_align});&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;After making this change, do a full clean before then doing a build - to make sure that the changes to the template files are picked up by the managed linker script system (and you might want to check the generate .ld files afterwards - just to make sure).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would also suggest mass erasing the flash and powering the board down and back up again before debugging&amp;nbsp;the rebuilt project.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Finally, if you haven't already read it, I would suggest looking through our&amp;nbsp;blog article for hints and tips on using this device with MCUXpresso IDE :&amp;nbsp;&lt;A href="https://community.nxp.com/migration-blogpost/10894" rel="nofollow noopener noreferrer" target="_blank"&gt;Overview of using the MIMXRT1050-EVK(B) with MCUXpresso IDE&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;MCUXpresso IDE Support&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Oct 2018 10:34:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/Relocating-majority-of-application-into-RAM/m-p/833138#M3178</guid>
      <dc:creator>lpcxpresso_supp</dc:creator>
      <dc:date>2018-10-19T10:34:13Z</dc:date>
    </item>
    <item>
      <title>Re: Relocating majority of application into RAM</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/Relocating-majority-of-application-into-RAM/m-p/833139#M3179</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It is working!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Oct 2018 11:45:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/Relocating-majority-of-application-into-RAM/m-p/833139#M3179</guid>
      <dc:creator>pjanco</dc:creator>
      <dc:date>2018-10-19T11:45:37Z</dc:date>
    </item>
  </channel>
</rss>

