<?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>LPC Microcontrollers中的主题 Re: LPC1778, IS42S16400F SRAM problems...</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1778-IS42S16400F-SRAM-problems/m-p/522617#M5253</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Karl on Wed Sep 12 12:08:40 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I could probably make a good living from SDRAM consultations :-)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Try changing this line:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dwtemp = *((volatile uint32_t *)(SDRAM_BASE | (0x23&amp;lt;&amp;lt;11))); /* 8 burst, 2 CAS latency */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;That sets the mode register to two CAS cycles, in line with the setting in ...RASCAS0 above.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;And the famous shift value has to be 11: 8 columns + 2 bank bits + 1 (16-bit bus)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Karl&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 17:55:11 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T17:55:11Z</dc:date>
    <item>
      <title>LPC1778, IS42S16400F SRAM problems...</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1778-IS42S16400F-SRAM-problems/m-p/522616#M5252</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by cgroen on Wed Sep 12 10:20:56 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I seem to have run into some of the same problems as some other users of the LPC1778...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have been reading all the threads regarding the SDRAM setup, but so far without success.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have a custom designed board (everything in BGA, so a little hard to probe ;)), CPU is LPC1778, SDRAM is a ISSI IS42S16400F (64 Mbit in 16 bit mode). I have been testing various setups from the NXP samples, but is stuck!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I run the CPU at 120 MHz and the EMC at 60 MHz (have also tried running much slower, no change). I do the setup of the EMC, and perform a small test of the SDRAM (copy 8KByte from the flash to the SDRAM). When I compare the SDRAM with the FLASH data, I almost everytime gets a verify error at address offset 0x1F0 (once in a while it shows at 0x1F6 instead). When I manually (Keil) modify the SDRAM area, the contnts will sometimes flicker and get destroyed, if the code is allowed to run fullspeed, I see the verify error as detailed above....&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have also used the "calibration" examples, it would not find a suitable timing, and bail out everytime with the safe value (which also did not work)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Maybe one of you "EMC Pro" has some input as to what can be wrong ??&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The code as it looks right now (also tried in "normal" mode for the pins, same result):&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;static void pinConfig(void) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P3_0 |= 0x201; /* D0 @ P3.0 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P3_1 |= 0x201; /* D1 @ P3.1 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P3_2 |= 0x201; /* D2 @ P3.2 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P3_3 |= 0x201; /* D3 @ P3.3 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P3_4 |= 0x201; /* D4 @ P3.4 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P3_5 |= 0x201; /* D5 @ P3.5 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P3_6 |= 0x201; /* D6 @ P3.6 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P3_7 |= 0x201; /* D7 @ P3.7 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P3_8 |= 0x201; /* D8 @ P3.8 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P3_9 |= 0x201; /* D9 @ P3.9 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P3_10 |= 0x201; /* D10 @ P3.10 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P3_11 |= 0x201; /* D11 @ P3.11 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P3_12 |= 0x201; /* D12 @ P3.12 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P3_13 |= 0x201; /* D13 @ P3.13 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P3_14 |= 0x201; /* D14 @ P3.14 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P3_15 |= 0x201; /* D15 @ P3.15 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P4_0 |= 0x201; /* A0 @ P4.0 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P4_1 |= 0x201; /* A1 @ P4.1 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P4_2 |= 0x201; /* A2 @ P4.2 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P4_3 |= 0x201; /* A3 @ P4.3 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P4_4 |= 0x201; /* A4 @ P4.4 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P4_5 |= 0x201; /* A5 @ P4.5 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P4_6 |= 0x201; /* A6 @ P4.6 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P4_7 |= 0x201; /* A7 @ P4.7 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P4_8 |= 0x201; /* A8 @ P4.8 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P4_9 |= 0x201; /* A9 @ P4.9 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P4_10 |= 0x201; /* A10 @ P4.10 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P4_11 |= 0x201; /* A11 @ P4.11 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P4_13 |= 0x201; /* A13 @ P4.13 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P4_14 |= 0x201; /* A14 @ P4.14 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P4_25 |= 0x201; /* WEN @ P4.25 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P2_16 |= 0x201; /* CASN @ P2.16 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P2_17 |= 0x201; /* RASN @ P2.17 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P2_18 |= 0x201; /* CLK[0] @ P2.18 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P2_20 |= 0x201; /* DYCSN[0] @ P2.20 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P2_24 |= 0x201; /* CKE[0] @ P2.24 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P2_28 |= 0x201; /* DQM[0] @ P2.28 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P2_29 |= 0x201; /* DQM[1] @ P2.29 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/******************************************************************************&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; *&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * Description:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; *&amp;nbsp;&amp;nbsp;&amp;nbsp; Initialize the SDRAM&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; *&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; *****************************************************************************/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;uint32_t sdram_init (void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; uint32_t i, dwtemp = dwtemp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; uint16_t wtemp = wtemp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PCONP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |= 0x00000800;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;EMCDLYCTL&amp;nbsp;&amp;nbsp; = 0x00001010;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;Control&amp;nbsp;&amp;nbsp; = 0x00000001;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;Config&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000000;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; pinConfig(); &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; /* Configure memory layout, but MUST DISABLE BUFFERs during configuration */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; /* 64MB, 4Mx16, 4 banks, row=12, column=8 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicConfig0&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000280; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //Timing for 60 MHz Bus&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicRasCas0&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000202; /* 2 RAS, 2 CAS latency */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicReadConfig = 0x00000001; /* Command delayed strategy, using EMCCLKDELAY */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicRP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000002; /* ( n + 1 ) -&amp;gt; 2 clock cycles */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicRAS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000003; /* ( n + 1 ) -&amp;gt; 4 clock cycles */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicSREX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000007; /* ( n + 1 ) -&amp;gt; 6 clock cycles */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicAPR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000002; /* ( n + 1 ) -&amp;gt; 3 clock cycles */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicDAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000005; /* ( n ) -&amp;gt; 3 clock cycles */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicWR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000001; /* ( n + 1 ) -&amp;gt; 2 clock cycles */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicRC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000005; /* ( n + 1 ) -&amp;gt; 5 clock cycles */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicRFC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000005; /* ( n + 1 ) -&amp;gt; 5 clock cycles */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicXSR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000007; /* ( n + 1 ) -&amp;gt; 6 clock cycles */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicRRD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000001; /* ( n + 1 ) -&amp;gt; 2 clock cycles */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicMRD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000002; /* ( n + 1 ) -&amp;gt; 2 clock cycles */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; os_dly_wait(10);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* wait 100ms */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicControl&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000183; /* Issue NOP command */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; os_dly_wait(20);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* wait 200ms */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicControl&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000103; /* Issue PALL command */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicRefresh&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000002; /* ( n * 16 ) -&amp;gt; 32 clock cycles */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; for(i = 0; i &amp;lt; 0x80; i++);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* wait 128 AHB clock cycles */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //Timing for 60MHz Bus&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicRefresh&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x0000003A; /* ( n * 16 ) -&amp;gt; 928 clock cycles -&amp;gt; 15.466uS at 60MHz &amp;lt;= 15.625uS ( 64ms / 4096 row ) */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicControl&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000083; /* Issue MODE command */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //Timing for 48/60/72MHZ Bus&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; dwtemp = *((volatile uint32_t *)(SDRAM_BASE | (0x33&amp;lt;&amp;lt;9))); /* 8 burst, 3 CAS latency */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicControl&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00000000; /* Issue NORMAL command */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//[re]enable buffers&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicConfig0&amp;nbsp;&amp;nbsp;&amp;nbsp; |= 0x00080000; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; os_dly_wait(20);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* wait 200ms */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return TRUE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:55:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1778-IS42S16400F-SRAM-problems/m-p/522616#M5252</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:55:10Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1778, IS42S16400F SRAM problems...</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1778-IS42S16400F-SRAM-problems/m-p/522617#M5253</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Karl on Wed Sep 12 12:08:40 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I could probably make a good living from SDRAM consultations :-)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Try changing this line:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;dwtemp = *((volatile uint32_t *)(SDRAM_BASE | (0x23&amp;lt;&amp;lt;11))); /* 8 burst, 2 CAS latency */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;That sets the mode register to two CAS cycles, in line with the setting in ...RASCAS0 above.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;And the famous shift value has to be 11: 8 columns + 2 bank bits + 1 (16-bit bus)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Karl&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:55:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1778-IS42S16400F-SRAM-problems/m-p/522617#M5253</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:55:11Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1778, IS42S16400F SRAM problems...</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1778-IS42S16400F-SRAM-problems/m-p/522618#M5254</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by cgroen on Wed Sep 12 14:09:27 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Oh my...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks a LOT Karl, I have been studying the mode register stuff, the address bits etc, and I was 99.9% sure I had it right, you just proved that it was the 0.1% that was right :D&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for the help, you just saved my day!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Now I "only" have to port around 150.000 lines of code to the new platform :)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:55:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1778-IS42S16400F-SRAM-problems/m-p/522618#M5254</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:55:12Z</dc:date>
    </item>
  </channel>
</rss>

