<?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: FLEXSPI prefetch alignment in i.MX RT Crossover MCUs</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/FLEXSPI-prefetch-alignment/m-p/1817033#M29073</link>
    <description>&lt;P&gt;Hi,&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/223506"&gt;@stefanct&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As your mentioned, in AN13028, One PSRAM device used is APS6404L-3SQR. And according to APS6404L-3SQR user guide page 23.&lt;/P&gt;&lt;P&gt;Note 1: Only Linear Burst allows page boundary crossing. Frequency limits are therefore&lt;BR /&gt;133MHz (PKG VDD= 3.0V+-10%), 109MHz(PKG VDD= 3.3V+-10%) max for Wrap 32 Bytes, and&lt;BR /&gt;84MHz for Linear Burst commands cross page boundary.&lt;/P&gt;&lt;P&gt;So please double check if the PSRAM you used for testing supports page boundary crossing.&lt;/P&gt;&lt;P&gt;Best regards,&lt;BR /&gt;Hang&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 28 Feb 2024 03:33:08 GMT</pubDate>
    <dc:creator>Harry_Zhang</dc:creator>
    <dc:date>2024-02-28T03:33:08Z</dc:date>
    <item>
      <title>FLEXSPI prefetch alignment</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/FLEXSPI-prefetch-alignment/m-p/1810847#M28947</link>
      <description>&lt;P&gt;I am working on evaluating/implementing different options to attach&lt;BR /&gt;external hardware to the RT1020 for our future product. Currently I try&lt;BR /&gt;to find out how much performance loss is incurred when using a PSRAM for&lt;BR /&gt;parts of the program's data instead of the internal SRAM/DTC when the&lt;BR /&gt;PSRAM is attached via (quad) SPI. I have the basic communication&lt;BR /&gt;working, have set up my own LUT according to the datasheet and the&lt;BR /&gt;correct AHB indices etc. I can read and write from the PSRAM via&lt;BR /&gt;direct/AHB memory accesses.&lt;/P&gt;&lt;P&gt;However, one major obstacle in actually using it came up during&lt;BR /&gt;testing. My current understanding is that the PSRAM wraps around if a&lt;BR /&gt;transfer crosses a 1024 bytes page boundary. This is an issue if&lt;BR /&gt;prefetching is enabled because this causes reads that cross these&lt;BR /&gt;boundaries if the start address of the read is within the last N-1&lt;BR /&gt;bytes for prefetching blocks of size N. In that case the read partially&lt;BR /&gt;returns wrong data towards the end of the read (i.e., the data located&lt;BR /&gt;at the beginning of the page where the read started instead of the&lt;BR /&gt;following page). I can send you pictures of the signal trace or other&lt;BR /&gt;additional information if anything is unclear.&lt;/P&gt;&lt;P&gt;Since I cannot limit the start addresses of the reads, FLEXSPI has to&lt;BR /&gt;deal with this to allow for enabling prefetching. I have tried&lt;BR /&gt;understanding as much of the FLEXSPI configuration as possible by&lt;BR /&gt;cross-referencing TRMs from multiple members of the RT family, the ANs&lt;/P&gt;&lt;P&gt;I am working on evaluating/implementing different options to attach&lt;BR /&gt;external hardware to the RT1020 for our future product. Currently I try&lt;BR /&gt;to find out how much performance loss is incurred when using a PSRAM for&lt;BR /&gt;parts of the program's data instead of the internal SRAM/DTC when the&lt;BR /&gt;PSRAM is attached via (quad) SPI. I have the basic communication&lt;BR /&gt;working, have set up my own LUT according to the datasheet and the&lt;BR /&gt;correct AHB indices etc. I can read and write from the PSRAM via&lt;BR /&gt;direct/AHB memory accesses.&lt;/P&gt;&lt;P&gt;However, one major obstacle in actually using it came up during&lt;BR /&gt;testing. My current understanding is that the PSRAM wraps around if a&lt;BR /&gt;transfer crosses a 1024 bytes page boundary. This is an issue if&lt;BR /&gt;prefetching is enabled because this causes reads that cross these&lt;BR /&gt;boundaries if the start address of the read is within the last N-1&lt;BR /&gt;bytes for prefetching blocks of size N. In that case the read partially&lt;BR /&gt;returns wrong data towards the end of the read (i.e., the data located&lt;BR /&gt;at the beginning of the page where the read started instead of the&lt;BR /&gt;following page). I can send you pictures of the signal trace or other&lt;BR /&gt;additional information if anything is unclear.&lt;/P&gt;&lt;P&gt;Since I cannot limit the start addresses of the reads, FLEXSPI has to&lt;BR /&gt;deal with this to allow for enabling prefetching. I have tried&lt;BR /&gt;understanding as much of the FLEXSPI configuration as possible by&lt;BR /&gt;cross-referencing TRMs from multiple members of the RT family, the ANs&lt;BR /&gt;on related topics such as 12239, 12437, 13028 and also the insightful&lt;BR /&gt;blog posts by &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/40101"&gt;@jay_heng&lt;/a&gt; (e.g.,&lt;BR /&gt;&lt;A href="https://www.cnblogs.com/henjay724/p/14742519.html" target="_blank"&gt;https://www.cnblogs.com/henjay724/p/14742519.html&lt;/A&gt;) but to no avail. The&lt;BR /&gt;only thing that came up during my research is the ALIGNMENT field of&lt;BR /&gt;AHBCR described in RT1020 RM that looks like it might be intended to&lt;BR /&gt;solve this problem. Unfortunately, I could not find any more&lt;BR /&gt;information than the one sentence in the register description and some&lt;BR /&gt;preliminary testing of setting the respective bits didn't show any&lt;BR /&gt;effect.&lt;/P&gt;&lt;P&gt;I am looking for any additional information or insights on how to confine the&lt;BR /&gt;AHB-incurred reads to the PSRAM's page boundaries? Thanks!&lt;/P&gt;</description>
      <pubDate>Mon, 19 Feb 2024 11:16:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/FLEXSPI-prefetch-alignment/m-p/1810847#M28947</guid>
      <dc:creator>stefanct</dc:creator>
      <dc:date>2024-02-19T11:16:32Z</dc:date>
    </item>
    <item>
      <title>Re: FLEXSPI prefetch alignment</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/FLEXSPI-prefetch-alignment/m-p/1815009#M29019</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/223506"&gt;@stefanct&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin-top: 0pt; margin-bottom: 11pt; font-family: Arial; font-size: 12.0pt; color: #333f48;"&gt;&lt;SPAN&gt;Thanks for your interest in NXP MIMXRT series.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin-top: 0pt; margin-bottom: 11pt; font-family: Calibri; font-size: 11.0pt;"&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;Please configure the cross page configuration of PSRAM. The cross page configuration of PSRAM is for the PSRAM side, not for the &lt;SPAN&gt;FLEXSPI&lt;/SPAN&gt; controller. You can configure cross page configuration according to the PSRAM manual.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;Best regards,&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="margin: 0in; font-size: 11.0pt;" lang="en-US"&gt;&lt;SPAN&gt;H&lt;/SPAN&gt;&lt;SPAN&gt;ang&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 25 Feb 2024 14:14:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/FLEXSPI-prefetch-alignment/m-p/1815009#M29019</guid>
      <dc:creator>Harry_Zhang</dc:creator>
      <dc:date>2024-02-25T14:14:11Z</dc:date>
    </item>
    <item>
      <title>Re: FLEXSPI prefetch alignment</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/FLEXSPI-prefetch-alignment/m-p/1815823#M29041</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/229957"&gt;@Harry_Zhang&lt;/a&gt;,&lt;BR /&gt;I'd love to do that but the only configuration in the PSRAM in this regard is a switch between 32 and 1024 byte wrapping. Unfortunately, the smaller PSRAMs do not support the linear burst mode that HYPERRAM devices support. Basically they only support the wrapped burst mode and that's my problem.&lt;/P&gt;&lt;P&gt;The PSRAM we are using is an IS66WVS4M8BLL-104NLI:&lt;BR /&gt;&lt;A href="https://www.issi.com/WW/pdf/66-67WVS4M8ALL-BLL.pdf" target="_blank"&gt;https://www.issi.com/WW/pdf/66-67WVS4M8ALL-BLL.pdf&lt;/A&gt;&lt;BR /&gt;The QSPI PSRAM that NXP explicitly mentions as supported in AN13028 behaves the same, i.e., either 32 or 1024 wrapped burst.&lt;/P&gt;</description>
      <pubDate>Mon, 26 Feb 2024 17:20:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/FLEXSPI-prefetch-alignment/m-p/1815823#M29041</guid>
      <dc:creator>stefanct</dc:creator>
      <dc:date>2024-02-26T17:20:17Z</dc:date>
    </item>
    <item>
      <title>Re: FLEXSPI prefetch alignment</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/FLEXSPI-prefetch-alignment/m-p/1817033#M29073</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/223506"&gt;@stefanct&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As your mentioned, in AN13028, One PSRAM device used is APS6404L-3SQR. And according to APS6404L-3SQR user guide page 23.&lt;/P&gt;&lt;P&gt;Note 1: Only Linear Burst allows page boundary crossing. Frequency limits are therefore&lt;BR /&gt;133MHz (PKG VDD= 3.0V+-10%), 109MHz(PKG VDD= 3.3V+-10%) max for Wrap 32 Bytes, and&lt;BR /&gt;84MHz for Linear Burst commands cross page boundary.&lt;/P&gt;&lt;P&gt;So please double check if the PSRAM you used for testing supports page boundary crossing.&lt;/P&gt;&lt;P&gt;Best regards,&lt;BR /&gt;Hang&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 28 Feb 2024 03:33:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/FLEXSPI-prefetch-alignment/m-p/1817033#M29073</guid>
      <dc:creator>Harry_Zhang</dc:creator>
      <dc:date>2024-02-28T03:33:08Z</dc:date>
    </item>
    <item>
      <title>Re: FLEXSPI prefetch alignment</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/FLEXSPI-prefetch-alignment/m-p/1817246#M29075</link>
      <description>&lt;P&gt;My bad. I didn't check what the last character of the apmemory part numbers mean and looked at the APS6404L-3SQN where the last character is only specified as "special feature". In the APS6404L-3SQR datasheet it is specified as RBX (row boundary crossing).&lt;/P&gt;&lt;P&gt;In any case, the PSRAM I am currently testing does not have that feature and my original question still remains: Is there a way to limit AHB burst accesses to not cross arbitrary/1k address boundaries on the MCU side?&lt;/P&gt;</description>
      <pubDate>Wed, 28 Feb 2024 08:10:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/FLEXSPI-prefetch-alignment/m-p/1817246#M29075</guid>
      <dc:creator>stefanct</dc:creator>
      <dc:date>2024-02-28T08:10:32Z</dc:date>
    </item>
    <item>
      <title>Re: FLEXSPI prefetch alignment</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/FLEXSPI-prefetch-alignment/m-p/1821101#M29151</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/223506"&gt;@stefanct&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Sorry, there is not a way to limit AHB burst accesses to not cross arbitrary/1k address boundaries on the MCU side.&lt;/P&gt;
&lt;P&gt;Best regards,&lt;BR /&gt;Hang&lt;/P&gt;</description>
      <pubDate>Tue, 05 Mar 2024 04:56:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/FLEXSPI-prefetch-alignment/m-p/1821101#M29151</guid>
      <dc:creator>Harry_Zhang</dc:creator>
      <dc:date>2024-03-05T04:56:52Z</dc:date>
    </item>
  </channel>
</rss>

