<?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: Reallocating the FlexRAM using values that are not 2 to the power of something in i.MX RT Crossover MCUs</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Reallocating-the-FlexRAM-using-values-that-are-not-2-to-the/m-p/1290338#M14630</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; For rt1060, the block size of the flexram is 32KB, so the total ram size must be a multiple of 32KB, can not be any.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; Crist&lt;/P&gt;</description>
    <pubDate>Thu, 10 Jun 2021 02:16:22 GMT</pubDate>
    <dc:creator>crist_xu</dc:creator>
    <dc:date>2021-06-10T02:16:22Z</dc:date>
    <item>
      <title>Reallocating the FlexRAM using values that are not 2 to the power of something</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Reallocating-the-FlexRAM-using-values-that-are-not-2-to-the/m-p/1289869#M14622</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Has anyone tried to reallocating the FlexRAM using values that are not 2 to the power of something? e.g. values other than: 0x10000, 0x20000, 0x40000 ...&lt;/P&gt;&lt;P&gt;I have an Embedded Artists RT1062 dev board (without the extra SDRAM) and I'd run out of the standard 128KB&amp;nbsp;SRAM_DTC region used for heap and stack.&lt;/P&gt;&lt;P&gt;I followed the example from another post to increase my&amp;nbsp;SRAM_DTC to 256KB and this worked, see&amp;nbsp;&lt;SPAN&gt;post:&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://community.nxp.com/t5/i-MX-RT-Knowledge-Base/Reallocating-the-FlexRAM/ta-p/1117649" target="_blank" rel="noopener"&gt;https://community.nxp.com/t5/i-MX-RT-Knowledge-Base/Reallocating-the-FlexRAM/ta-p/1117649&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Towards the end of the post it recommends you choose a FlexRAM configuration that's available via eFuses. I chose one that had the maximum amount of DTC RAM from Table 3 in AN12077: DTC: 448KB, ITC: 0KB, OC:64KB. However when I tried to implement it an assert fires off in board.c:&lt;/P&gt;&lt;P&gt;assert(!(nonCacheStart % size));&lt;BR /&gt;assert(size == (uint32_t)(1 &amp;lt;&amp;lt; i));&lt;/P&gt;&lt;P&gt;The first assert makes sure the size of the NCACHE_REGION fits an exact number of times into the base address of the&amp;nbsp;NCACHE_REGION memory, which for me is SRAM_DTC (0x20000000).&lt;/P&gt;&lt;P&gt;The second assert makes sure size is something like:&amp;nbsp;0x10000, 0x20000, 0x40000, 0x80000.&lt;/P&gt;&lt;P&gt;I don't understand why these asserts are here as they contradict Table 3 in application note AN12077.&lt;/P&gt;&lt;P&gt;If I ignore the assert everything works.&lt;/P&gt;&lt;P&gt;I eventually ignored table 3 and moved all the FlexRAM to be DTC, leaving me with 0KB ITC and 512KB in OC RAM. This is the best solution for me, so I'm happy, but concerned I've missed some understanding re the asserts.&lt;/P&gt;&lt;P&gt;Has anyone else had this issue?&lt;/P&gt;&lt;P&gt;Thanks, Graeme&lt;/P&gt;</description>
      <pubDate>Wed, 09 Jun 2021 11:10:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Reallocating-the-FlexRAM-using-values-that-are-not-2-to-the/m-p/1289869#M14622</guid>
      <dc:creator>Gra67</dc:creator>
      <dc:date>2021-06-09T11:10:53Z</dc:date>
    </item>
    <item>
      <title>Re: Reallocating the FlexRAM using values that are not 2 to the power of something</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Reallocating-the-FlexRAM-using-values-that-are-not-2-to-the/m-p/1290338#M14630</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; For rt1060, the block size of the flexram is 32KB, so the total ram size must be a multiple of 32KB, can not be any.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; Crist&lt;/P&gt;</description>
      <pubDate>Thu, 10 Jun 2021 02:16:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Reallocating-the-FlexRAM-using-values-that-are-not-2-to-the/m-p/1290338#M14630</guid>
      <dc:creator>crist_xu</dc:creator>
      <dc:date>2021-06-10T02:16:22Z</dc:date>
    </item>
    <item>
      <title>Re: Reallocating the FlexRAM using values that are not 2 to the power of something</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Reallocating-the-FlexRAM-using-values-that-are-not-2-to-the/m-p/1290504#M14633</link>
      <description>&lt;P&gt;Hi Crist&lt;/P&gt;&lt;P&gt;Thanks, but everything I tried was a multiple of 32KB.&lt;/P&gt;&lt;P&gt;Graeme&lt;/P&gt;</description>
      <pubDate>Thu, 10 Jun 2021 07:13:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Reallocating-the-FlexRAM-using-values-that-are-not-2-to-the/m-p/1290504#M14633</guid>
      <dc:creator>Gra67</dc:creator>
      <dc:date>2021-06-10T07:13:26Z</dc:date>
    </item>
    <item>
      <title>Re: Reallocating the FlexRAM using values that are not 2 to the power of something</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Reallocating-the-FlexRAM-using-values-that-are-not-2-to-the/m-p/1292147#M14692</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;SPAN&gt;Graeme,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I have never seen this issue before. Keep in mind that when reallocating the FlexRAM through software, you can only do this in blocks of 32KB. So implementations like&amp;nbsp; DTC: 448KB, ITC: 0KB, OC:64KB won't be possible through software, you'll have to do it directly through the fuses.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The second implementation that you mentioned is correct. You can reallocate all the FlexRAM as DTC without problems.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Regards,&lt;BR /&gt;Victor&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 14 Jun 2021 23:30:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Reallocating-the-FlexRAM-using-values-that-are-not-2-to-the/m-p/1292147#M14692</guid>
      <dc:creator>victorjimenez</dc:creator>
      <dc:date>2021-06-14T23:30:20Z</dc:date>
    </item>
    <item>
      <title>Re: Reallocating the FlexRAM using values that are not 2 to the power of something</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Reallocating-the-FlexRAM-using-values-that-are-not-2-to-the/m-p/1292348#M14701</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;SPAN&gt;Victor&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I read that you could reallocate FlexRAM however you want through software (as long as they are multiples of 32KB), but it was better to choose&amp;nbsp;a FlexRAM configuration that's available via eFuses so you have a more permanent option in the future.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;All the implementations I tried were multiples of 32KB:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;DTC: 448KB, ITC: 0KB, OC:64KB where&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;448/32=14 and 64/32=2 didn't work&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;DTC: 512KB, ITC: 0KB, OC:0KB where&amp;nbsp;512/32=16 did work&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Am I missing something&amp;nbsp;&lt;/SPAN&gt;obvious?&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Graeme&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jun 2021 06:56:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Reallocating-the-FlexRAM-using-values-that-are-not-2-to-the/m-p/1292348#M14701</guid>
      <dc:creator>Gra67</dc:creator>
      <dc:date>2021-06-15T06:56:36Z</dc:date>
    </item>
    <item>
      <title>Re: Reallocating the FlexRAM using values that are not 2 to the power of something</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Reallocating-the-FlexRAM-using-values-that-are-not-2-to-the/m-p/1292637#M14711</link>
      <description>&lt;P&gt;Hi Graeme&lt;/P&gt;&lt;P&gt;I think that the second assert should be removed since it effectively stops any RAM sizes that are not 32k, 64k, 128k, 256k or 512k being used, which is more restrictive than the FlexRAM is capable of and so it was presumably an over enthusiastic assert that is basically incorrect.&lt;/P&gt;&lt;P&gt;When setting up, for example, 288k size one needs to set the bank size in the number of 32k block (9) and the memory type sizes (GPR14) to a power of two value. The two asserts are presumably checking that these are both the case but is not possible in this situation since the setting in GPR14 can only be 256k or 512k (so 512k is needed).&lt;BR /&gt;&lt;BR /&gt;I have used most possible FlexRAM software configurations and set the GPR14 value simply to the maximum FlexRAM size since it then doesn't restrict any accesses - since exact values are not always possible - and this simple strategy has proven to be OK for any combination.&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Mark&lt;BR /&gt;&lt;EM&gt;[uTasker project developer for Kinetis and i.MX RT]&lt;/EM&gt;&lt;BR /&gt;&lt;FONT color="#999999"&gt;Contact me by personal message or on the uTasker web site to discuss professional training, solutions to problems or rapid product development requirements&lt;BR /&gt;&lt;BR /&gt;For professionals searching for faster, problem-free Kinetis and i.MX RT 10xx developments the uTasker project holds the key: &lt;A href="https://www.utasker.com/iMX/RT1064.html" target="_blank"&gt;https://www.utasker.com/iMX/RT1064.html&lt;/A&gt;&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jun 2021 13:53:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Reallocating-the-FlexRAM-using-values-that-are-not-2-to-the/m-p/1292637#M14711</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2021-06-15T13:53:04Z</dc:date>
    </item>
    <item>
      <title>Re: Reallocating the FlexRAM using values that are not 2 to the power of something</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Reallocating-the-FlexRAM-using-values-that-are-not-2-to-the/m-p/1293012#M14723</link>
      <description>&lt;P&gt;Thanks Mark&lt;/P&gt;&lt;P&gt;I thought it must be an incorrect assert, but it's good to have someone else agree rather than just assume.&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Graeme&lt;/P&gt;</description>
      <pubDate>Wed, 16 Jun 2021 06:45:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Reallocating-the-FlexRAM-using-values-that-are-not-2-to-the/m-p/1293012#M14723</guid>
      <dc:creator>Gra67</dc:creator>
      <dc:date>2021-06-16T06:45:13Z</dc:date>
    </item>
  </channel>
</rss>

