<?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: IMXRT1050 SEMC SRAM 16-bit Write in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790083#M122467</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; The i.MX RT1020 has the CM7 core, and architecture options, mentioned in&amp;nbsp;&lt;EM style="color: black; background-color: #f6f6f6; border: 0px; font-size: 10pt;"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;cortex_m7 user guide&amp;nbsp;&lt;BR /&gt;&lt;/EM&gt;above, also take place.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 13 Sep 2018 06:59:37 GMT</pubDate>
    <dc:creator>Yuri</dc:creator>
    <dc:date>2018-09-13T06:59:37Z</dc:date>
    <item>
      <title>IMXRT1050 SEMC SRAM 16-bit Write</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790073#M122457</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV&gt;We made a control circuit with an MIMXRT1052DVL6B and an (Intel) FPGA.&lt;/DIV&gt;&lt;DIV&gt;The IMXRT1050 and the FPGA are connected together with the 16-bit external memory interface (SEMC).&lt;/DIV&gt;&lt;DIV&gt;The 16 bit AXI memory reads work as expected, for every same address reads we see a single, separate transaction on the parallel bus.&lt;/DIV&gt;&lt;DIV&gt;By the 16 bit (aligned) AXI memory writes however we see always four 16-bit write transactions at consecutive addresses.&lt;/DIV&gt;&lt;DIV&gt;Here is the code snippet for the test:&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;int cnt = 0;&lt;/DIV&gt;&lt;DIV&gt;volatile uint16_t * fp3 = (volatile uint16_t *)0x80000008;&lt;BR /&gt;volatile uint16_t * fp4 = (volatile uint16_t *)0x8000000A;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;*fp4 = cnt++;&lt;BR /&gt;__DSB();&lt;BR /&gt;uint16_t v2 = *fp4;&lt;BR /&gt;*fp3 = cnt++;&lt;BR /&gt;__DSB();&lt;BR /&gt;uint16_t v1 = *fp3;&lt;/DIV&gt;&lt;DIV&gt;uint16_t v3 = *fp3;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the attachment there is an oscilloscope recording of the SEMC control signals for this test.&lt;/P&gt;&lt;P&gt;Ray description:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV&gt;&amp;nbsp; ray 1: SEMC CS6# (SRAM Chip select)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; ray 2: SEMC OE#&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; ray 3: SEMC WE#&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; (The SEMC ADV# is not displayed, but we use 16 bit Address / Data multiplexing)&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;By the FPGA the adjacent registers can not be filled with any random content, and I suspect it would cause a problem also by simple SRAM devices (beside the performance degradation).&lt;/DIV&gt;&lt;DIV&gt;Reading more times the reference manual we did not find a solution for this problem.&lt;/DIV&gt;&lt;DIV&gt;The only workaround we found is to do the writes with IP-Commands which is much slower.&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;Can you confirm this behaviour?&lt;/DIV&gt;&lt;DIV&gt;Or is there settings for the IMXRT1050 to disable this always 64-bit burst write mode for the AXI writes at the SEMC?&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;If you need more information please just ask.&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jul 2018 14:17:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790073#M122457</guid>
      <dc:creator>nvitya</dc:creator>
      <dc:date>2018-07-26T14:17:42Z</dc:date>
    </item>
    <item>
      <title>Re: IMXRT1050 SEMC SRAM 16-bit Write</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790074#M122458</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Please verify SEMC settings. What is content of the&amp;nbsp;SEMC registers?&lt;/P&gt;&lt;P&gt;It makes sense to generate assembler code of Your snippet to check&lt;/P&gt;&lt;P&gt;what real instructions are issued for writing.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Yuri&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jul 2018 03:30:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790074#M122458</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2018-07-27T03:30:43Z</dc:date>
    </item>
    <item>
      <title>Re: IMXRT1050 SEMC SRAM 16-bit Write</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790075#M122459</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mostly we use our own libraries for the initialization.&lt;/P&gt;&lt;P&gt;Here is the initialization part of the SEMC:&lt;/P&gt;&lt;P&gt;------------------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enable SEMC&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;imxrt_set_clock_gate(3, 4, 3);&amp;nbsp; // SEMC clock&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;imxrt_set_clock_gate(1, 18, 3);&amp;nbsp; // SEMC exsc clock&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;uint32_t tmp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SEMC_Type * regs = SEMC;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* Initialize all BR to zero due to the default base address set. */&lt;BR /&gt;&amp;nbsp; for (tmp = 0; tmp &amp;lt; 9; tmp++)&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; regs-&amp;gt;BR[tmp] = 0;&lt;BR /&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* Software reset for SEMC internal logical . */&lt;BR /&gt;&amp;nbsp; regs-&amp;gt;MCR |= SEMC_MCR_SWRST_MASK;&lt;BR /&gt;&amp;nbsp; while (regs-&amp;gt;MCR &amp;amp; SEMC_MCR_SWRST_MASK)&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; regs-&amp;gt;MCR |= 2; // disable&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;tmp = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;| (16 &amp;lt;&amp;lt; 24) // BTO: bus timeout&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;| (80 &amp;lt;&amp;lt; 16) // CTO: command timeout&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;| (1 &amp;lt;&amp;lt; 1) // disable&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;regs-&amp;gt;MCR = tmp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;tmp &amp;amp;= ~2;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; regs-&amp;gt;MCR = tmp; // enable&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp = regs-&amp;gt;IOCR;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;tmp &amp;amp;= ~7;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;tmp |= 3; // set A8 to PSRAM CE = 3, NOR CE = 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;regs-&amp;gt;IOCR = tmp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;tmp = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; | (FPGA_BASE_ADDRESS &amp;lt;&amp;lt; 0)&amp;nbsp; // BA: base address&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; | (0 &amp;lt;&amp;lt; 1)&amp;nbsp; // MS(5): 1 = 4 kByte (only 11 address bits are used by the FPGA)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; | (1 &amp;lt;&amp;lt; 0)&amp;nbsp; // VLD: valid&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;regs-&amp;gt;BR[6] = tmp; // set the base register for the (P)SRAM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;regs-&amp;gt;SRAMCR0 = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;| (15 &amp;lt;&amp;lt; 12)&amp;nbsp; // COL(4): Column address bits ??? 0 = 12 Bits&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;| (0 &amp;lt;&amp;lt; 10)&amp;nbsp; // ADVP: ADV polarity, 0 = low active&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;| (0 &amp;lt;&amp;lt; 8)&amp;nbsp;&amp;nbsp; // AM(2): Address Mode, 0 = Address / Data MUX Mode&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;| (0 &amp;lt;&amp;lt; 4)&amp;nbsp;&amp;nbsp; // BL(3): Burst Length, 0 = 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;| (1 &amp;lt;&amp;lt; 0)&amp;nbsp;&amp;nbsp; // PS: Port Size, 1 = 16 Bit&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; regs-&amp;gt;SRAMCR1 = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; | (1 &amp;lt;&amp;lt; 28)&amp;nbsp; // REH(4): RE high time&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; | (1 &amp;lt;&amp;lt; 24)&amp;nbsp; // REL(4): RE low time&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; | (1 &amp;lt;&amp;lt; 20)&amp;nbsp; // WEH(4): WE high time&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; | (1 &amp;lt;&amp;lt; 16)&amp;nbsp; // WEL(4): WE low time&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; | (1 &amp;lt;&amp;lt; 12)&amp;nbsp; // AH(4): Address hold time&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; | (1 &amp;lt;&amp;lt;&amp;nbsp; 8)&amp;nbsp; // AS(4): Address setup time&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; | (0 &amp;lt;&amp;lt;&amp;nbsp; 4)&amp;nbsp; // CEH(4): CE hold min time&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; | (0 &amp;lt;&amp;lt;&amp;nbsp; 0)&amp;nbsp; // CES(4): CE setup time&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;regs-&amp;gt;SRAMCR2 = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; | (3 &amp;lt;&amp;lt; 24)&amp;nbsp; // CEITV(4): CE interval min time&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; | (0 &amp;lt;&amp;lt; 20)&amp;nbsp; // RD(4): read cycle time&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; | (0 &amp;lt;&amp;lt; 16)&amp;nbsp; // LC(4): latency count&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; | (0 &amp;lt;&amp;lt; 12)&amp;nbsp; // AWDH(4): address to write data hold time cycle&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; | (1 &amp;lt;&amp;lt;&amp;nbsp; 8)&amp;nbsp; // TA(4): turnaround time cycle&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; | (0 &amp;lt;&amp;lt;&amp;nbsp; 4)&amp;nbsp; // WDH(4): write data hold time&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; | (0 &amp;lt;&amp;lt;&amp;nbsp; 0)&amp;nbsp; // WDS(4) write data setup time&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;&lt;/P&gt;&lt;P&gt;-----------------------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The other untouched SEMC registers are left with their default values.&lt;/P&gt;&lt;P&gt;I've checked the assembly of the test code, for the writes it uses single strh instructions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this helps, but if not, I'm always ready to give more information.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All the best,&lt;/P&gt;&lt;P&gt;Viktor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jul 2018 07:03:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790075#M122459</guid>
      <dc:creator>nvitya</dc:creator>
      <dc:date>2018-07-27T07:03:12Z</dc:date>
    </item>
    <item>
      <title>Re: IMXRT1050 SEMC SRAM 16-bit Write</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790076#M122460</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Looks like the byte select signals (LB, UB) must be used for SRAM-like interface&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;with the SEMC, since&amp;nbsp;&lt;SPAN&gt;four 16-bit write transactions really take place, as You mentioned.&amp;nbsp;&lt;/SPAN&gt; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Aug 2018 05:19:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790076#M122460</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2018-08-03T05:19:12Z</dc:date>
    </item>
    <item>
      <title>Re: IMXRT1050 SEMC SRAM 16-bit Write</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790077#M122461</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Yuri,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your answer. Unfortunatelly this bug makes us the parallel bus connection for the FPGA much less attractive.&lt;/P&gt;&lt;P&gt;Is the IMXRT1020 affected too?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Viktor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Aug 2018 06:19:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790077#M122461</guid>
      <dc:creator>nvitya</dc:creator>
      <dc:date>2018-08-13T06:19:59Z</dc:date>
    </item>
    <item>
      <title>Re: IMXRT1050 SEMC SRAM 16-bit Write</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790078#M122462</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;The byte select signals are controlled by the SEMC, therefore the i.MX RT&amp;nbsp;&lt;/P&gt;&lt;P&gt;is not affected.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Aug 2018 05:41:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790078#M122462</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2018-08-14T05:41:42Z</dc:date>
    </item>
    <item>
      <title>Re: IMXRT1050 SEMC SRAM 16-bit Write</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790079#M122463</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello , we had the same&amp;nbsp;behaviour&amp;nbsp; as you mentionned .. I don't know if you could solve it , but we had a response from NXP who solve it :&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;SPAN&gt;&lt;EM style="color: black; font-size: 10.0pt;"&gt;&amp;nbsp; We have identified the additional CE low cycles are resulted from the M7 core, &lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;EM style="color: black; font-size: 10.0pt;"&gt;instead of SEMC. M7 divides the whole 4GB memory map into several regions. Please refer to the cortex_m7 user guide. In 0x60000000~0x9FFFFFFF, writing &lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;EM style="color: black; font-size: 10.0pt;"&gt;operations are buffered; several writing instructions can provide single burst to improve the overall performance. You can try configuring the SRAM base address &lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;EM style="color: black; font-size: 10.0pt;"&gt;as 0xA000_0000 to avoid this behavior.&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;EM style="color: black; font-size: 10.0pt;"&gt;&amp;nbsp; Note, byte enable signals must be used: UB and LB assertion occurs only in one &lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;EM style="color: black; font-size: 10.0pt;"&gt;of the four CE low cycles. Thus, neighboring bytes could be affected during the additional three CE low cycles, if LB and UB are not implemented for the SRAM device&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Sep 2018 12:36:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790079#M122463</guid>
      <dc:creator>slou26</dc:creator>
      <dc:date>2018-09-11T12:36:02Z</dc:date>
    </item>
    <item>
      <title>Re: IMXRT1050 SEMC SRAM 16-bit Write</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790080#M122464</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Sebastien,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This was very helpful! Unfortunately adding the LB UB signals is not possible anymore in our HW.&lt;/P&gt;&lt;P&gt;In fact we are migrating our solution towards QSPI communication. According my measurements this is even faster for burst transfers. I could achieve only 4.6 uint16 reads/us with the parallel bus (using DMA). With dual / quad SPI this should go up to 7.5 / 15 uint16 reads / us. I have to add that too, that the DMA can carry out only ~14 transactions / us (tested with memory copy from OCRAM to DTCRAM)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Viktor&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ps.: I discovered recently that the Atmel ATSAME70 generates also an additional CS pulse without WR on 16 bit external memory bus writes.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Sep 2018 07:10:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790080#M122464</guid>
      <dc:creator>nvitya</dc:creator>
      <dc:date>2018-09-12T07:10:03Z</dc:date>
    </item>
    <item>
      <title>Re: IMXRT1050 SEMC SRAM 16-bit Write</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790081#M122465</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Have You tried&amp;nbsp;&lt;SPAN style="border: 0px; font-weight: inherit;"&gt;&lt;EM style="color: black; border: 0px; font-weight: inherit; font-size: 10pt;"&gt;&amp;nbsp;"configuring the SRAM base address&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN style="border: 0px; font-weight: inherit;"&gt;&lt;EM style="color: black; border: 0px; font-weight: inherit; font-size: 10pt;"&gt;as 0xA000_0000 to avoid this behavior" ?&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Sep 2018 09:52:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790081#M122465</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2018-09-12T09:52:01Z</dc:date>
    </item>
    <item>
      <title>Re: IMXRT1050 SEMC SRAM 16-bit Write</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790082#M122466</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I did not try the 0xA000_0000 as SRAM base address yet. The software is already rewritten to SPI communication, and it takes several hours now to put the old system together. I will report when I could test it.&lt;/P&gt;&lt;P&gt;Does the IMXRT1020 behaves the same way?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All the best,&lt;/P&gt;&lt;P&gt;Viktor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Sep 2018 10:05:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790082#M122466</guid>
      <dc:creator>nvitya</dc:creator>
      <dc:date>2018-09-12T10:05:25Z</dc:date>
    </item>
    <item>
      <title>Re: IMXRT1050 SEMC SRAM 16-bit Write</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790083#M122467</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; The i.MX RT1020 has the CM7 core, and architecture options, mentioned in&amp;nbsp;&lt;EM style="color: black; background-color: #f6f6f6; border: 0px; font-size: 10pt;"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;cortex_m7 user guide&amp;nbsp;&lt;BR /&gt;&lt;/EM&gt;above, also take place.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Sep 2018 06:59:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790083#M122467</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2018-09-13T06:59:37Z</dc:date>
    </item>
    <item>
      <title>Re: IMXRT1050 SEMC SRAM 16-bit Write</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790084#M122468</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have just tested it. I can confirm, that when the FPGA is mapped to 0xA0000000, then it behaves as expected. Only one short 16 bit transaction happens for every write, and no extra BL BH signals are required.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you all your help,&lt;/P&gt;&lt;P&gt;Viktor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Sep 2018 12:10:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMXRT1050-SEMC-SRAM-16-bit-Write/m-p/790084#M122468</guid>
      <dc:creator>nvitya</dc:creator>
      <dc:date>2018-09-14T12:10:02Z</dc:date>
    </item>
  </channel>
</rss>

