<?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 i.MX RT1050 with external 16-bit SDRAM and 16-bit SRAM in i.MX RT Crossover MCUs</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/i-MX-RT1050-with-external-16-bit-SDRAM-and-16-bit-SRAM/m-p/773780#M558</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am trying to configure the RT1050 to use the SEMC to interface to&amp;nbsp;external 16-bit SDRAM and 16-bit SRAM(for fpga communication). I can get them to work independently, but when I combine them I get hardfault_handler.I am confused on CS and CE pin mux, as it seems that which ever one is declared first, will work. I have tried initializing the SRAM CE with&amp;nbsp;&lt;SPAN&gt;kSEMC_MUXCSX2 and address of 0x8800001c and address 0x98000018 but always&amp;nbsp;ends with hardfault. Am I correct in thinking that these can be used at the same time? Thanks in advance!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using the following:&lt;/P&gt;&lt;P&gt;-IAR&lt;/P&gt;&lt;P&gt;-SDK_2.3.0_EVK-MIMXRT1050&lt;/P&gt;&lt;P&gt;-SDRAM init attached&lt;/P&gt;&lt;P&gt;-SEMC config&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt;&amp;nbsp;/* Configure SDRAM. */&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.csxPinMux = kSEMC_MUXCSX0; //CS0&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.address = 0x80000000;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.memsize_kbytes = 32 * 1024;//32 * 1024; /* 32MB = 32*1024*1KBytes*/&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.portSize = kSEMC_PortSize16Bit;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.burstLen = kSEMC_Sdram_BurstLen4;//kSEMC_Sdram_BurstLen8;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.columnAddrBitNum = kSEMC_SdramColunm_9bit;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.casLatency = kSEMC_LatencyTwo;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tPrecharge2Act_Ns = 21;//18; /* Trp 18ns */&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tAct2ReadWrite_Ns = 21;//18; /* Trcd 18ns */&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tRefreshRecovery_Ns = 67; /* Use the maximum of the (Trfc , Txsr). */&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tWriteRecovery_Ns = 14; /* 12ns */&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tCkeOff_Ns = (1000000000 / clockFrq);&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tAct2Prechage_Ns = 42; /* Tras 42ns */&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tSelfRefRecovery_Ns = 67;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tRefresh2Refresh_Ns = 60;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tAct2Act_Ns = 60;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tPrescalePeriod_Ns = 160 * (1000000000 / clockFrq);&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.refreshPeriod_nsPerRow = 64 * 1000000 / 8192; /* 64ms/8192 */&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.refreshUrgThreshold = sdramconfig.refreshPeriod_nsPerRow;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.refreshBurstLen = 1;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;return SEMC_ConfigureSDRAM(SEMC, kSEMC_SDRAM_CS0, &amp;amp;sdramconfig, clockFrq);&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;/* Configure ALTERA.*/&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;altera_config.cePinMux = kSEMC_MUXCSX0;//CS2 PIN C7 SEMC_CSX0 added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;altera_config.address = 0x8401001c;//added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;altera_config.memsize_kbytes = 32 * 1024;//added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;altera_config.portSize = kSEMC_PortSize16Bit;//added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;altera_config.burstLen = kSEMC_Sdram_BurstLen2;//added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;altera_config.addr27 = kSEMC_MORA27_NONE;//added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;altera_config.tReLow_Ns = 18;//added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;altera_config.readCycle = 10;//added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp; altera_config.addrMode = altera_config.addrMode | (0x03 &amp;lt;&amp;lt; 8);//added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;return SEMC_ConfigureSRAM(SEMC, &amp;amp;altera_config, clockFrq);//added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-SDRAM initialization&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;EM&gt;void BOARD_SDRAM_Init() &lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;// Config IOMUX for SDRAM&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8014,0x00000000); // EMC_00&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8018,0x00000000); // EMC_01&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F801C,0x00000000); // EMC_02&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8020,0x00000000); // EMC_03&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8024,0x00000000); // EMC_04&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8028,0x00000000); // EMC_05&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F802C,0x00000000); // EMC_06&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8030,0x00000000); // EMC_07&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8034,0x00000000); // EMC_08&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8038,0x00000000); // EMC_09&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F803C,0x00000000); // EMC_10&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8040,0x00000000); // EMC_11&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8044,0x00000000); // EMC_12&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8048,0x00000000); // EMC_13&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F804C,0x00000000); // EMC_14&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8050,0x00000000); // EMC_15&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8054,0x00000000); // EMC_16&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8058,0x00000000); // EMC_17&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F805C,0x00000000); // EMC_18&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8060,0x00000000); // EMC_19&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8064,0x00000000); // EMC_20&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8068,0x00000000); // EMC_21&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F806C,0x00000000); // EMC_22&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8070,0x00000000); // EMC_23&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8074,0x00000000); // EMC_24&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8078,0x00000000); // EMC_25&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F807C,0x00000000); // EMC_26&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8080,0x00000000); // EMC_27&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8084,0x00000000); // EMC_28&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8088,0x00000000); // EMC_29&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F808C,0x00000000); // EMC_30&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8090,0x00000000); // EMC_31&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8094,0x00000000); // EMC_32&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8098,0x00000000); // EMC_33&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F809C,0x00000000); // EMC_34&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F80A0,0x00000000); // EMC_35&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F80A4,0x00000000); // EMC_36&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F80A8,0x00000000); // EMC_37&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F80AC,0x00000000); // EMC_38&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F80B0,0x00000010); // EMC_39, DQS PIN, enable SION&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F80B4,0x00000000); // EMC_40&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F80B8,0x00000000); // EMC_41&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;// PAD ctrl&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;&amp;nbsp;&amp;nbsp;drive strength = 0x7 to increase drive strength&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;// otherwise the data7 bit may fail.&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8204,0x000110F9); // EMC_00&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8208,0x000110F9); // EMC_01&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F820C,0x000110F9); // EMC_02&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8210,0x000110F9); // EMC_03&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8214,0x000110F9); // EMC_04&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8218,0x000110F9); // EMC_05&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F821C,0x000110F9); // EMC_06&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8220,0x000110F9); // EMC_07&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8224,0x000110F9); // EMC_08&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8228,0x000110F9); // EMC_09&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F822C,0x000110F9); // EMC_10&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8230,0x000110F9); // EMC_11&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8234,0x000110F9); // EMC_12&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8238,0x000110F9); // EMC_13&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F823C,0x000110F9); // EMC_14&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8240,0x000110F9); // EMC_15&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8244,0x000110F9); // EMC_16&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8248,0x000110F9); // EMC_17&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F824C,0x000110F9); // EMC_18&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8250,0x000110F9); // EMC_19&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8254,0x000110F9); // EMC_20&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8258,0x000110F9); // EMC_21&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F825C,0x000110F9); // EMC_22&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8260,0x000110F9); // EMC_23&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8264,0x000110F9); // EMC_24&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8268,0x000110F9); // EMC_25&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F826C,0x000110F9); // EMC_26&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8270,0x000110F9); // EMC_27&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8274,0x000110F9); // EMC_28&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8278,0x000110F9); // EMC_29&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F827C,0x000110F9); // EMC_30&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8280,0x000110F9); // EMC_31&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8284,0x000110F9); // EMC_32&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8288,0x000110F9); // EMC_33&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F828C,0x000110F9); // EMC_34&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8290,0x000110F9); // EMC_35&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8294,0x000110F9); // EMC_36&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8298,0x000110F9); // EMC_37&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F829C,0x000110F9); // EMC_38&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F82A0,0x000110F9); // EMC_39&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F82A4,0x000110F9); // EMC_40&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F82A8,0x000110F9); // EMC_41&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;&amp;nbsp;&amp;nbsp;Config SDR Controller Registers/&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0000,0x10000004); // MCR&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0008,0x00030524); // BMCR0&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F000C,0x06030524); // BMCR1&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0010,0x80000017); //RLK1B); // BR0, 32MB&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0014,0x8200001B); // BR1, 32MB&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0018,0x8400001B); // BR2, 32MB&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F001C,0x8600001B); // BR3, 32MB&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0020,0x90000021); // BR4,&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0024,0xA0000019); // BR5,&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0028,0xA8000017); // BR6,&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F002C,0xA900001B); // BR7,&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0030,0x00000021); // BR8,&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0004,0x000079A8); //IOCR,SEMC_CCSX0 as NOR CE, SEMC_CSX1 as PSRAM CE, &amp;nbsp;&amp;nbsp;&amp;nbsp;SEMC_CSX2 as NAND CE, SEMC_CSX3 as DBI CE.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;//writeRam(0x402F0004,0x00000008); // IOCR, SEMC_CCSX0 as SDRAM_CS1&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0040,0x00000F31); // SDRAMCR0&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0044,0x00652922); // SDRAMCR1&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0048,0x00010920); // SDRAMCR2&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F004C,0x50210A08); // SDRAMCR3&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0080,0x00000021); // DBICR0&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0084,0x00888888); // DBICR1&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0094,0x00000002); // IPCR1&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0098,0x00000000); // IPCR2&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0090,0x80000000); // IPCR0&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F009C,0xA55A000F); // IPCMD, SD_CC_IPREA&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;SDRAM_WaitIpCmdDone();&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0090,0x80000000); // IPCR0&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F009C,0xA55A000C); // SD_CC_IAF&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;SDRAM_WaitIpCmdDone();&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0090,0x80000000); // IPCR0&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F009C,0xA55A000C); // SD_CC_IAF&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;SDRAM_WaitIpCmdDone();&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F00A0,0x00000033); // IPTXDAT&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0090,0x80000000); // IPCR0&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F009C,0xA55A000A); // SD_CC_IMS&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;SDRAM_WaitIpCmdDone();&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F004C,0x50210A09 ); // enable sdram self refresh again after initialization done.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 11 Jun 2018 20:37:03 GMT</pubDate>
    <dc:creator>vonp</dc:creator>
    <dc:date>2018-06-11T20:37:03Z</dc:date>
    <item>
      <title>i.MX RT1050 with external 16-bit SDRAM and 16-bit SRAM</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/i-MX-RT1050-with-external-16-bit-SDRAM-and-16-bit-SRAM/m-p/773780#M558</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am trying to configure the RT1050 to use the SEMC to interface to&amp;nbsp;external 16-bit SDRAM and 16-bit SRAM(for fpga communication). I can get them to work independently, but when I combine them I get hardfault_handler.I am confused on CS and CE pin mux, as it seems that which ever one is declared first, will work. I have tried initializing the SRAM CE with&amp;nbsp;&lt;SPAN&gt;kSEMC_MUXCSX2 and address of 0x8800001c and address 0x98000018 but always&amp;nbsp;ends with hardfault. Am I correct in thinking that these can be used at the same time? Thanks in advance!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using the following:&lt;/P&gt;&lt;P&gt;-IAR&lt;/P&gt;&lt;P&gt;-SDK_2.3.0_EVK-MIMXRT1050&lt;/P&gt;&lt;P&gt;-SDRAM init attached&lt;/P&gt;&lt;P&gt;-SEMC config&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt;&amp;nbsp;/* Configure SDRAM. */&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.csxPinMux = kSEMC_MUXCSX0; //CS0&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.address = 0x80000000;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.memsize_kbytes = 32 * 1024;//32 * 1024; /* 32MB = 32*1024*1KBytes*/&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.portSize = kSEMC_PortSize16Bit;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.burstLen = kSEMC_Sdram_BurstLen4;//kSEMC_Sdram_BurstLen8;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.columnAddrBitNum = kSEMC_SdramColunm_9bit;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.casLatency = kSEMC_LatencyTwo;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tPrecharge2Act_Ns = 21;//18; /* Trp 18ns */&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tAct2ReadWrite_Ns = 21;//18; /* Trcd 18ns */&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tRefreshRecovery_Ns = 67; /* Use the maximum of the (Trfc , Txsr). */&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tWriteRecovery_Ns = 14; /* 12ns */&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tCkeOff_Ns = (1000000000 / clockFrq);&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tAct2Prechage_Ns = 42; /* Tras 42ns */&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tSelfRefRecovery_Ns = 67;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tRefresh2Refresh_Ns = 60;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tAct2Act_Ns = 60;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.tPrescalePeriod_Ns = 160 * (1000000000 / clockFrq);&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.refreshPeriod_nsPerRow = 64 * 1000000 / 8192; /* 64ms/8192 */&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.refreshUrgThreshold = sdramconfig.refreshPeriod_nsPerRow;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;sdramconfig.refreshBurstLen = 1;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;return SEMC_ConfigureSDRAM(SEMC, kSEMC_SDRAM_CS0, &amp;amp;sdramconfig, clockFrq);&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;/* Configure ALTERA.*/&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;altera_config.cePinMux = kSEMC_MUXCSX0;//CS2 PIN C7 SEMC_CSX0 added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;altera_config.address = 0x8401001c;//added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;altera_config.memsize_kbytes = 32 * 1024;//added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;altera_config.portSize = kSEMC_PortSize16Bit;//added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;altera_config.burstLen = kSEMC_Sdram_BurstLen2;//added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;altera_config.addr27 = kSEMC_MORA27_NONE;//added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;altera_config.tReLow_Ns = 18;//added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;altera_config.readCycle = 10;//added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp; altera_config.addrMode = altera_config.addrMode | (0x03 &amp;lt;&amp;lt; 8);//added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;return SEMC_ConfigureSRAM(SEMC, &amp;amp;altera_config, clockFrq);//added for altera&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-SDRAM initialization&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;EM&gt;void BOARD_SDRAM_Init() &lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;// Config IOMUX for SDRAM&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8014,0x00000000); // EMC_00&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8018,0x00000000); // EMC_01&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F801C,0x00000000); // EMC_02&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8020,0x00000000); // EMC_03&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8024,0x00000000); // EMC_04&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8028,0x00000000); // EMC_05&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F802C,0x00000000); // EMC_06&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8030,0x00000000); // EMC_07&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8034,0x00000000); // EMC_08&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8038,0x00000000); // EMC_09&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F803C,0x00000000); // EMC_10&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8040,0x00000000); // EMC_11&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8044,0x00000000); // EMC_12&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8048,0x00000000); // EMC_13&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F804C,0x00000000); // EMC_14&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8050,0x00000000); // EMC_15&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8054,0x00000000); // EMC_16&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8058,0x00000000); // EMC_17&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F805C,0x00000000); // EMC_18&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8060,0x00000000); // EMC_19&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8064,0x00000000); // EMC_20&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8068,0x00000000); // EMC_21&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F806C,0x00000000); // EMC_22&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8070,0x00000000); // EMC_23&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8074,0x00000000); // EMC_24&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8078,0x00000000); // EMC_25&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F807C,0x00000000); // EMC_26&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8080,0x00000000); // EMC_27&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8084,0x00000000); // EMC_28&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8088,0x00000000); // EMC_29&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F808C,0x00000000); // EMC_30&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8090,0x00000000); // EMC_31&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8094,0x00000000); // EMC_32&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8098,0x00000000); // EMC_33&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F809C,0x00000000); // EMC_34&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F80A0,0x00000000); // EMC_35&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F80A4,0x00000000); // EMC_36&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F80A8,0x00000000); // EMC_37&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F80AC,0x00000000); // EMC_38&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F80B0,0x00000010); // EMC_39, DQS PIN, enable SION&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F80B4,0x00000000); // EMC_40&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F80B8,0x00000000); // EMC_41&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;// PAD ctrl&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;&amp;nbsp;&amp;nbsp;drive strength = 0x7 to increase drive strength&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;// otherwise the data7 bit may fail.&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8204,0x000110F9); // EMC_00&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8208,0x000110F9); // EMC_01&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F820C,0x000110F9); // EMC_02&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8210,0x000110F9); // EMC_03&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8214,0x000110F9); // EMC_04&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8218,0x000110F9); // EMC_05&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F821C,0x000110F9); // EMC_06&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8220,0x000110F9); // EMC_07&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8224,0x000110F9); // EMC_08&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8228,0x000110F9); // EMC_09&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F822C,0x000110F9); // EMC_10&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8230,0x000110F9); // EMC_11&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8234,0x000110F9); // EMC_12&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8238,0x000110F9); // EMC_13&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F823C,0x000110F9); // EMC_14&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8240,0x000110F9); // EMC_15&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8244,0x000110F9); // EMC_16&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8248,0x000110F9); // EMC_17&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F824C,0x000110F9); // EMC_18&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8250,0x000110F9); // EMC_19&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8254,0x000110F9); // EMC_20&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8258,0x000110F9); // EMC_21&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F825C,0x000110F9); // EMC_22&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8260,0x000110F9); // EMC_23&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8264,0x000110F9); // EMC_24&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8268,0x000110F9); // EMC_25&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F826C,0x000110F9); // EMC_26&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8270,0x000110F9); // EMC_27&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8274,0x000110F9); // EMC_28&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8278,0x000110F9); // EMC_29&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F827C,0x000110F9); // EMC_30&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8280,0x000110F9); // EMC_31&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8284,0x000110F9); // EMC_32&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8288,0x000110F9); // EMC_33&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F828C,0x000110F9); // EMC_34&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8290,0x000110F9); // EMC_35&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8294,0x000110F9); // EMC_36&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F8298,0x000110F9); // EMC_37&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F829C,0x000110F9); // EMC_38&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F82A0,0x000110F9); // EMC_39&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F82A4,0x000110F9); // EMC_40&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x401F82A8,0x000110F9); // EMC_41&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;&amp;nbsp;&amp;nbsp;Config SDR Controller Registers/&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0000,0x10000004); // MCR&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0008,0x00030524); // BMCR0&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F000C,0x06030524); // BMCR1&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0010,0x80000017); //RLK1B); // BR0, 32MB&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0014,0x8200001B); // BR1, 32MB&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0018,0x8400001B); // BR2, 32MB&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F001C,0x8600001B); // BR3, 32MB&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0020,0x90000021); // BR4,&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0024,0xA0000019); // BR5,&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0028,0xA8000017); // BR6,&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F002C,0xA900001B); // BR7,&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0030,0x00000021); // BR8,&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0004,0x000079A8); //IOCR,SEMC_CCSX0 as NOR CE, SEMC_CSX1 as PSRAM CE, &amp;nbsp;&amp;nbsp;&amp;nbsp;SEMC_CSX2 as NAND CE, SEMC_CSX3 as DBI CE.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;//writeRam(0x402F0004,0x00000008); // IOCR, SEMC_CCSX0 as SDRAM_CS1&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0040,0x00000F31); // SDRAMCR0&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0044,0x00652922); // SDRAMCR1&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0048,0x00010920); // SDRAMCR2&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F004C,0x50210A08); // SDRAMCR3&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0080,0x00000021); // DBICR0&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0084,0x00888888); // DBICR1&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0094,0x00000002); // IPCR1&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0098,0x00000000); // IPCR2&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0090,0x80000000); // IPCR0&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F009C,0xA55A000F); // IPCMD, SD_CC_IPREA&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;SDRAM_WaitIpCmdDone();&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0090,0x80000000); // IPCR0&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F009C,0xA55A000C); // SD_CC_IAF&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;SDRAM_WaitIpCmdDone();&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0090,0x80000000); // IPCR0&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F009C,0xA55A000C); // SD_CC_IAF&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;SDRAM_WaitIpCmdDone();&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F00A0,0x00000033); // IPTXDAT&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F0090,0x80000000); // IPCR0&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F009C,0xA55A000A); // SD_CC_IMS&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;SDRAM_WaitIpCmdDone();&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;writeRam(0x402F004C,0x50210A09 ); // enable sdram self refresh again after initialization done.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Jun 2018 20:37:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/i-MX-RT1050-with-external-16-bit-SDRAM-and-16-bit-SRAM/m-p/773780#M558</guid>
      <dc:creator>vonp</dc:creator>
      <dc:date>2018-06-11T20:37:03Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX RT1050 with external 16-bit SDRAM and 16-bit SRAM</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/i-MX-RT1050-with-external-16-bit-SDRAM-and-16-bit-SRAM/m-p/773781#M559</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; Check&amp;nbsp; i.MX RT1050 SDRAM and SRAM connection, using&amp;nbsp;pin multiplexing,&lt;/P&gt;&lt;P&gt;shown in section 49.4.3 (Pin Mux in SEMC) of the&amp;nbsp;i.MX RT1050 Reference&lt;/P&gt;&lt;P&gt;Manual, Rev. 1, 03/2018.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Have a great day,&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Yuri&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Note: If this post answers your question, please click the Correct Answer &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;button. Thank you!&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Jun 2018 10:13:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/i-MX-RT1050-with-external-16-bit-SDRAM-and-16-bit-SRAM/m-p/773781#M559</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2018-06-14T10:13:41Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX RT1050 with external 16-bit SDRAM and 16-bit SRAM</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/i-MX-RT1050-with-external-16-bit-SDRAM-and-16-bit-SRAM/m-p/773782#M560</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yuri,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the response, I think I was able to get it working. When stepping through the code I found that the compiler was executing the init for the SDRAM and would skip over the SRAM init. I put the SRAM init in its own separate function and it seems to be working from what I have tested so far. Thanks again!&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Jun 2018 22:03:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/i-MX-RT1050-with-external-16-bit-SDRAM-and-16-bit-SRAM/m-p/773782#M560</guid>
      <dc:creator>vonp</dc:creator>
      <dc:date>2018-06-14T22:03:30Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX RT1050 with external 16-bit SDRAM and 16-bit SRAM</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/i-MX-RT1050-with-external-16-bit-SDRAM-and-16-bit-SRAM/m-p/773783#M561</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;in the pinmux ,are you setting two separate Sdram parts ? Can you share your pinmux file ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Oct 2019 17:51:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/i-MX-RT1050-with-external-16-bit-SDRAM-and-16-bit-SRAM/m-p/773783#M561</guid>
      <dc:creator>hanan_hayot</dc:creator>
      <dc:date>2019-10-22T17:51:42Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX RT1050 with external 16-bit SDRAM and 16-bit SRAM</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/i-MX-RT1050-with-external-16-bit-SDRAM-and-16-bit-SRAM/m-p/773784#M562</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hanan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry for the late reply. I init one as sram and the other as sdram.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the pinmux:&lt;/P&gt;&lt;P&gt;//****************************************************************************&lt;BR /&gt;// BOARD_InitPinsSemc(void)&lt;BR /&gt;//****************************************************************************&lt;BR /&gt;void BOARD_InitPinsSemc(void) {&lt;/P&gt;&lt;P&gt;IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_00_SEMC_DATA00, /* GPIO_EMC_00 is configured as SEMC_DATA00 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_01_SEMC_DATA01, /* GPIO_EMC_01 is configured as SEMC_DATA01 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_02_SEMC_DATA02, /* GPIO_EMC_02 is configured as SEMC_DATA02 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_03_SEMC_DATA03, /* GPIO_EMC_03 is configured as SEMC_DATA03 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_04_SEMC_DATA04, /* GPIO_EMC_04 is configured as SEMC_DATA04 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_05_SEMC_DATA05, /* GPIO_EMC_05 is configured as SEMC_DATA05 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_06_SEMC_DATA06, /* GPIO_EMC_06 is configured as SEMC_DATA06 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_07_SEMC_DATA07, /* GPIO_EMC_07 is configured as SEMC_DATA07 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_08_SEMC_DM00, /* GPIO_EMC_08 is configured as SEMC_DM00 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_09_SEMC_ADDR00, /* GPIO_EMC_09 is configured as SEMC_ADDR00 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_10_SEMC_ADDR01, /* GPIO_EMC_10 is configured as SEMC_ADDR01 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_11_SEMC_ADDR02, /* GPIO_EMC_11 is configured as SEMC_ADDR02 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_12_SEMC_ADDR03, /* GPIO_EMC_12 is configured as SEMC_ADDR03 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_13_SEMC_ADDR04, /* GPIO_EMC_13 is configured as SEMC_ADDR04 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_14_SEMC_ADDR05, /* GPIO_EMC_14 is configured as SEMC_ADDR05 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_15_SEMC_ADDR06, /* GPIO_EMC_15 is configured as SEMC_ADDR06 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_16_SEMC_ADDR07, /* GPIO_EMC_16 is configured as SEMC_ADDR07 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_17_SEMC_ADDR08, /* GPIO_EMC_17 is configured as SEMC_ADDR08 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_18_SEMC_ADDR09, /* GPIO_EMC_18 is configured as SEMC_ADDR09 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_19_SEMC_ADDR11, /* GPIO_EMC_19 is configured as SEMC_ADDR11 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_20_SEMC_ADDR12, /* GPIO_EMC_20 is configured as SEMC_ADDR12 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_21_SEMC_BA0, /* GPIO_EMC_21 is configured as SEMC_BA0 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_22_SEMC_BA1, /* GPIO_EMC_22 is configured as SEMC_BA1 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_23_SEMC_ADDR10, /* GPIO_EMC_23 is configured as SEMC_ADDR10 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_24_SEMC_CAS, /* GPIO_EMC_24 is configured as SEMC_CAS */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_25_SEMC_RAS, /* GPIO_EMC_25 is configured as SEMC_RAS */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_26_SEMC_CLK, /* GPIO_EMC_26 is configured as SEMC_CLK */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_27_SEMC_CKE, /* GPIO_EMC_27 is configured as SEMC_CKE */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_28_SEMC_WE, /* GPIO_EMC_28 is configured as SEMC_WE */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_29_SEMC_CS0, /* GPIO_EMC_29 is configured as SEMC_CS0 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */ &lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_30_SEMC_DATA08, /* GPIO_EMC_30 is configured as SEMC_DATA08 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_31_SEMC_DATA09, /* GPIO_EMC_31 is configured as SEMC_DATA09 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_32_SEMC_DATA10, /* GPIO_EMC_32 is configured as SEMC_DATA10 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_33_SEMC_DATA11, /* GPIO_EMC_33 is configured as SEMC_DATA11 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_34_SEMC_DATA12, /* GPIO_EMC_34 is configured as SEMC_DATA12 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_35_SEMC_DATA13, /* GPIO_EMC_35 is configured as SEMC_DATA13 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_36_SEMC_DATA14, /* GPIO_EMC_36 is configured as SEMC_DATA14 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_37_SEMC_DATA15, /* GPIO_EMC_37 is configured as SEMC_DATA15 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_38_SEMC_DM01, /* GPIO_EMC_38 is configured as SEMC_DM01 */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_39_SEMC_DQS, /* GPIO_EMC_39 is configured as SEMC_DQS */&lt;BR /&gt; 1U); /* Software Input On Field: Force input path of pad GPIO_EMC_39 */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_40_SEMC_RDY, /* GPIO_EMC_40 is configured as SEMC_RDY */&lt;BR /&gt; 0U); /* Software Input On Field: Input Path is determined by functionality */&lt;BR /&gt; IOMUXC_SetPinMux(&lt;BR /&gt; IOMUXC_GPIO_EMC_41_SEMC_CSX00, /* GPIO_EMC_41 is configured as SEMC_CSX00 */&lt;BR /&gt; 0U); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_00_SEMC_DATA00, /* GPIO_EMC_00 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_01_SEMC_DATA01, /* GPIO_EMC_01 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_02_SEMC_DATA02, /* GPIO_EMC_02 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_03_SEMC_DATA03, /* GPIO_EMC_03 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_04_SEMC_DATA04, /* GPIO_EMC_04 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_05_SEMC_DATA05, /* GPIO_EMC_05 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_06_SEMC_DATA06, /* GPIO_EMC_06 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_07_SEMC_DATA07, /* GPIO_EMC_07 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_08_SEMC_DM00, /* GPIO_EMC_08 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_09_SEMC_ADDR00, /* GPIO_EMC_09 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_10_SEMC_ADDR01, /* GPIO_EMC_10 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_11_SEMC_ADDR02, /* GPIO_EMC_11 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_12_SEMC_ADDR03, /* GPIO_EMC_12 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_13_SEMC_ADDR04, /* GPIO_EMC_13 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_14_SEMC_ADDR05, /* GPIO_EMC_14 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_15_SEMC_ADDR06, /* GPIO_EMC_15 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_16_SEMC_ADDR07, /* GPIO_EMC_16 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_17_SEMC_ADDR08, /* GPIO_EMC_17 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_18_SEMC_ADDR09, /* GPIO_EMC_18 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_19_SEMC_ADDR11, /* GPIO_EMC_19 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_20_SEMC_ADDR12, /* GPIO_EMC_20 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_21_SEMC_BA0, /* GPIO_EMC_21 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_22_SEMC_BA1, /* GPIO_EMC_22 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_23_SEMC_ADDR10, /* GPIO_EMC_23 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_24_SEMC_CAS, /* GPIO_EMC_24 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_25_SEMC_RAS, /* GPIO_EMC_25 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_26_SEMC_CLK, /* GPIO_EMC_26 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_27_SEMC_CKE, /* GPIO_EMC_27 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_28_SEMC_WE, /* GPIO_EMC_28 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_29_SEMC_CS0, /* GPIO_EMC_29 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_30_SEMC_DATA08, /* GPIO_EMC_30 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_31_SEMC_DATA09, /* GPIO_EMC_31 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_32_SEMC_DATA10, /* GPIO_EMC_32 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_33_SEMC_DATA11, /* GPIO_EMC_33 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_34_SEMC_DATA12, /* GPIO_EMC_34 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_35_SEMC_DATA13, /* GPIO_EMC_35 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_36_SEMC_DATA14, /* GPIO_EMC_36 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_37_SEMC_DATA15, /* GPIO_EMC_37 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_38_SEMC_DM01, /* GPIO_EMC_38 PAD functional properties : */&lt;BR /&gt; 0x10B0u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_39_SEMC_DQS, /* GPIO_EMC_39 PAD functional properties : */&lt;BR /&gt; 0x0110F9u); &lt;BR /&gt; IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_40_SEMC_RDY, /* GPIO_EMC_40 PAD functional properties : */&lt;BR /&gt; 0x0110F9u);&lt;/P&gt;&lt;P&gt;IOMUXC_SetPinConfig(&lt;BR /&gt; IOMUXC_GPIO_EMC_41_SEMC_CSX00, /* GPIO_EMC_41 PAD functional properties : */&lt;BR /&gt; 0x0110F9u); &lt;BR /&gt; &lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jan 2020 21:35:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/i-MX-RT1050-with-external-16-bit-SDRAM-and-16-bit-SRAM/m-p/773784#M562</guid>
      <dc:creator>vonp</dc:creator>
      <dc:date>2020-01-21T21:35:40Z</dc:date>
    </item>
  </channel>
</rss>

