<?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: LCD Frame Buffer in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519749#M3335</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by dustinkasel on Tue Aug 28 13:16:48 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Yeah so there were a couple of things that came out from meeting with the engineer from NXP. First off, BA0 and BA1 are connected to A13 and A14 regardless of how many address lines you actually use. I made the assumption that these lines were the most-significant-bits of the address lines.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I also had a solder ball across RAS-CAS that wasn't helping the cause.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Finally I had to re-calculate all of the timing parameters. The SDRAM example that comes with the peripheral library is more or less worthless for real-world testing. I will admit it does run and pass it's tests on the EA board, which has the same part on the SOM as I have.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Interestingly the CAS-RAS issue manifested itself as a refresh failure. I didn't catch this right away because I was constantly reading from/writing to RAM. Once I put long delays in-between accesses that issue popped up.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 17:40:07 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T17:40:07Z</dc:date>
    <item>
      <title>LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519726#M3312</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by dustinkasel on Tue Jul 31 15:24:19 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I have a custom designed board populated with the LPC1788 and a 32-bit wide SDRAM chip. I seem to be having bus contention issues between the LCD and my frame buffer update routine. I have found that if I allow them to access the memory space simultaneously the LCD gets out of sync and displays pseudo-random data. So if I load buffer #1 with half red data and the other half with blue, the LCD will display this beautifully. As soon as I begin accessing (asynchonrously) the SDRAM to write to buffer 2, the blue and red data start mixing randomly. Does anyone know how to synchronize my buffer updates with the LCD DMA requests so that I don't step on those requests? I thought changing the matrix arbitration register might help but that did not seem to make a difference which is also puzzling.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And on a related note, what was NXP thinking forcing users to under-clock the CPU if they want to use SDRAM?! Why is the EMC limited to 80MHz?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks in advance for any advice given!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:39:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519726#M3312</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:39:52Z</dc:date>
    </item>
    <item>
      <title>Re: LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519727#M3313</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by wmues on Wed Aug 01 01:39:07 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I am using a 480x272 LCD with 16bit RGB, a 16bit SDRAM with 78MHz Clock, and Code Execution from SDRAM. There is no visible display distortion.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So I assume you are doing something weird with the LCD controller. Post your code here.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:39:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519727#M3313</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:39:54Z</dc:date>
    </item>
    <item>
      <title>Re: LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519728#M3314</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by dustinkasel on Wed Aug 01 07:59:25 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Lcd::Lcd()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Initialize the frame buffer/external memory controller&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned int ConfigPointer;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Set bus matrix arbitration priorities (see datasheet)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;volatile unsigned int * AHB_Arbitration = (unsigned int *) 0x400FC188;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*AHB_Arbitration = 0x00000C09;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_SC-&amp;gt;EMCDLYCTL&amp;nbsp;&amp;nbsp; = 0x00001010;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;Control = 0x00000001;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;Config&amp;nbsp; = 0x00000000;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_14 = 1; //EMC_CS2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_15 = 1; //EMC_CS3&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_16 = 1; //EMC_CAS&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_17 = 1; //EMC_RAS&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_18 = 1; //EMC_CLK[0]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_19 = 1; //EMC_CLK[1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_20 = 1; //EMC_DYCS0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_21 = 1; //EMC_DYCS1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_22 = 1; //EMC_DYCS2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_23 = 1; //EMC_DYCS3&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_24 = 1; //EMC_CKE0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_25 = 1; //EMC_CKE1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_26 = 1; //EMC_CKE2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_27 = 1; //EMC_CKE3&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_28 = 1; //EMC_DQM0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_29 = 1; //EMC_DQM1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_30 = 1; //EMC_DQM2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_31 = 1; //EMC_DQM3&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_0 = 1; //EMC_D0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_1 = 1; //EMC_D1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_2 = 1; //EMC_D2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_3 = 1; //EMC_D3&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_4 = 1; //EMC_D4&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_5 = 1; //EMC_D5&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_6 = 1; //EMC_D6&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_7 = 1; //EMC_D7&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_8 = 1; //EMC_D8&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_9 = 1; //EMC_D9&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_10 = 1; //EMC_D10&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_11 = 1; //EMC_D11&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_12 = 1; //EMC_D12&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_13 = 1; //EMC_D13&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_14 = 1; //EMC_D14&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_15 = 1; //EMC_D15&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_16 = 1; //EMC_D16&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_17 = 1; //EMC_D17&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_18 = 1; //EMC_D18&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_19 = 1; //EMC_D19&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_20 = 1; //EMC_D20&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_21 = 1; //EMC_D21&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_22 = 1; //EMC_D22&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_23 = 1; //EMC_D23&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_24 = 1; //EMC_D24&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_25 = 1; //EMC_D25&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_26 = 1; //EMC_D26&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_27 = 1; //EMC_D27&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_28 = 1; //EMC_D28&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_29 = 1; //EMC_D29&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_30 = 1; //EMC_D30&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P3_31 = 1; //EMC_D31&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_0 = 1; //EMC_A0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_1 = 1; //EMC_A1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_2 = 1; //EMC_A2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_3 = 1; //EMC_A3&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_4 = 1; //EMC_A4&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_5 = 1; //EMC_A5&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_6 = 1; //EMC_A6&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_7 = 1; //EMC_A7&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_8 = 1; //EMC_A8&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_9 = 1; //EMC_A9&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_10 = 1; //EMC_A10&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_11 = 1; //EMC_A11&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_12 = 1; //EMC_A12&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_13 = 1; //EMC_A13&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_14 = 1; //EMC_A14&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_15 = 1; //EMC_A15&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_16 = 1; //EMC_A16&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_17 = 1; //EMC_A17&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_18 = 1; //EMC_A18&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_19 = 1; //EMC_A19&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_20 = 1; //EMC_A20&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_21 = 1; //EMC_A21&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_22 = 1; //EMC_A22&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_23 = 1; //EMC_A23&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_24 = 1; //EMC_OE&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_25 = 1; //EMC_WE&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_30 = 1; //EMC_CS0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_31 = 1; //EMC_CS1&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicConfig0&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0x00004300; //set bank size&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicRasCas0 = 0x00000201; //1 RAS, 2 CAS latency&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicReadConfig = 0x00000001; //command delayed strategy, using EMCCLKDELAY&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicRP = 0x00000000; //1 clock cycle&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicRAS = 0x00000002; //3 clock cycles&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicSREX = 0x00000003; //4 clock cycles&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicAPR = 0x00000001; //2 clock cycles&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicDAL = 0x00000002; //2 clock cycles&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicWR = 0x00000001; //2 clock cycles&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicRC = 0x00000003; //4 clock cycles&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicRFC = 0x00000003; //4 clock cycles&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicXSR = 0x00000003; //4 clock cycles&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicRRD = 0x00000000; //1 clock cycle&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicMRD = 0x00000000; //1 clock cycle&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Timer::Delay(100); //wait 100ms&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicControl = 0x00000183; //issue NOP command&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Timer::Delay(200); //wait 200ms&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicControl = 0x00000103; //issue PALL command&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicRefresh = 0x00000002;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Timer::Delay(10);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicRefresh = 0x0000001A; //set refresh timing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicControl = 0x00000083; //issue MODE command&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ConfigPointer = *((volatile uint32_t *)(RamBaseAddress | (0x22 &amp;lt;&amp;lt; (2 + 2 + 9)))); //load 4 burst, 2 CAS latency&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicControl = 0x00000000; //issue NORMAL command&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_EMC-&amp;gt;DynamicConfig0 = 0x00084300; //re-enable buffer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ConfigPointer++; //Only here to eliminate compiler warning&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if(!RunBufferTest())&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while(1); //Test failed, TODO&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Initialize the backlight control&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P1_2 = 3; //PWM0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_PWM0-&amp;gt;MR0 = MaxPwmScale;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_PWM0-&amp;gt;MCR |= 0x02;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_PWM0-&amp;gt;MR1 = MaxPwmScale / 2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_PWM0-&amp;gt;LER |= 0x03;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_PWM0-&amp;gt;PCR |= 0x200;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_PWM0-&amp;gt;TCR |= 0x01;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Timer::Delay(100); //Delay to guaranteee LCD has powered-up&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Lcd Setup&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Setup LCD Pins&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_4 = 0x207; //DE&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_2 = 0x207; //CLK&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P4_29 = 0x207; //R1 (LCD_VD[3])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_6 = 0x207; //R2(LCD_VD[4])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_7 = 0x207; //R3(LCD_VD[5])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_8 = 0x207; //R4(LCD_VD[6])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_9 = 0x207; //R5(LCD_VD[7])&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P1_20 = 0x207; //G0(LCD_VD[10])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P1_21 = 0x207; //G1(LCD_VD[11])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P1_22 = 0x207; //G2(LCD_VD[12])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P1_23 = 0x207; //G3(LCD_VD[13])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P1_24 = 0x207; //G4(LCD_VD[14])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P1_25 = 0x207; //G5(LCD_VD[15])&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P2_13 = 0x207; //B1(LCD_VD[19])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P1_26 = 0x207; //B2(LCD_VD[20])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P1_27 = 0x207; //B3(LCD_VD[21])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P1_28 = 0x207; //B4(LCD_VD[22])&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_IOCON-&amp;gt;P1_29 = 0x207; //B5(LCD_VD[23])&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_SC-&amp;gt;LCD_CFG = PeripheralClock / LcdDataClock + 1; //Set data clock rate&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Set horizontal timing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;TIMH = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;TIMH |= ((HorizontalPixelCount / 16) - 1) &amp;lt;&amp;lt; 2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;TIMH |= (HorizontalPulseLength - 1) &amp;lt;&amp;lt; 8;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;TIMH |= (unsigned long)(HorizontalFrontPorch - 1) &amp;lt;&amp;lt; 16;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;TIMH |= (unsigned long)(HorizontalBackPorch - 1) &amp;lt;&amp;lt; 24;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//Set vertical timing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;TIMV = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;TIMV |= VerticalLineCount - 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;TIMV |= (VerticalPulseLength - 1) &amp;lt;&amp;lt; 10;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;TIMV |= (VerticalFrontPorch - 1) &amp;lt;&amp;lt; 16;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;TIMV |= (VerticalBackPorch - 1) &amp;lt;&amp;lt; 24;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;POL |= ((HorizontalPixelCount - 1) &amp;lt;&amp;lt; 16);//Set clock pulses per line&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;POL |=(1 &amp;lt;&amp;lt; 26); //Bypass the pixel clock divider&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;UPBASE = Buffer1BaseAddress; //Set the frame buffer address&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;CTRL |= (0x02 &amp;lt;&amp;lt; 1); //Set the bits-per-pixel to 5:5:5 mode&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;CTRL |= (0x01 &amp;lt;&amp;lt; 5); //Set the panel type as TFT&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;CTRL |= (0x10 &amp;lt;&amp;lt; 12); //Set vertical compare interrupt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;CTRL |= (0x01 &amp;lt;&amp;lt; 16); //Set watermark level to 8&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;INTMSK = 0x08;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;NVIC_SetPriority(LCD_IRQn, 0x09); //Set preemption to 1, priority to 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;NVIC_EnableIRQ(LCD_IRQn); //Enable interrupt&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;CTRL |= 0x900;//Power the LCD Controller&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;SetBrightness(60);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_LCD-&amp;gt;CTRL |= 0x801; //Enable LCD Controller&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Here are the constants:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;static const unsigned short HorizontalPixelCount = 800;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;static const unsigned short HorizontalPulseLength = 55; //Clock cycles&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;static const unsigned short HorizontalFrontPorch = 250; //Clock cycles&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;static const unsigned short HorizontalBackPorch = 250; //Clock cycles&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;static const unsigned short VerticalLineCount = 480;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;static const unsigned short VerticalPulseLength = 30; //Clock cycles&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;static const unsigned short VerticalFrontPorch = 25; //Lines&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;static const unsigned short VerticalBackPorch = 25; //Lines&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;static const unsigned int MaxPwmScale = 100000;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;static const unsigned int LcdDataClock = 27500000;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I am using a 7" 800x480 TFT display (datasheet attacxhed) with a MT48LC2M32B2P-6:G TR for the frame buffer. Let me know if anything looks off to you.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:39:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519728#M3314</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:39:54Z</dc:date>
    </item>
    <item>
      <title>Re: LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519729#M3315</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Dave on Wed Aug 01 09:08:16 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;to begin with, double check your calculation on 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;ConfigPointer = *((volatile uint32_t *)(RamBaseAddress | (0x22 &amp;lt;&amp;lt; (2 + 2 + 9)))); //load 4 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;Since you're using the ROW-BANK-COLUMN format (LPC_EMC-&amp;gt;DynamicConfig0 = 0x00004300), I believe your shift should look like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;CAS_Latency = 2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; *&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; *&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; *&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ConfigPointer = *((volatile uint32_t *)(RamBaseAddress |((0x02+(CAS_Latency&amp;lt;&amp;lt;4))&amp;lt;&amp;lt;12)));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:39:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519729#M3315</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:39:55Z</dc:date>
    </item>
    <item>
      <title>Re: LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519730#M3316</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by dustinkasel on Wed Aug 01 10:21:45 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for the post Dave. I did try your suggestion, it didn't seem to have any effect. Can you explain to me why the value of ConfigPointer needs to be shifted left?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you see anything else I should look into?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:39:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519730#M3316</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:39:55Z</dc:date>
    </item>
    <item>
      <title>Re: LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519731#M3317</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Dave on Wed Aug 01 12:02:04 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Back when this forum first got started I posted a thread about setting up the EMC to talk to an LCD...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;There is a lot of good stuff in that thread.&amp;nbsp; There is also a discussion on the shift, and how far...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;You can find the thread here: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Flpcware.com%2Fcontent%2Fforum%2Fdk-57vts-lpc1788-configuring-emc-sdram" rel="nofollow" target="_blank"&gt;http://lpcware.com/content/forum/dk-57vts-lpc1788-configuring-emc-sdram&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Have a look and see what you think.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:39:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519731#M3317</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:39:56Z</dc:date>
    </item>
    <item>
      <title>Re: LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519732#M3318</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by dustinkasel on Wed Aug 01 14:17:26 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks Dave. One thing about your post, right before you send the MODE register, shouldn't you have to send the MODE command? I didn't see that line of code anywhere.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Unfortunately this didn't resolve my problem. I have checked the clock output, it running 84MHz as I thought it was.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;One new piece of information is that it currently takes about 13 ms to write 48,000 words. This means it's taking 270ns or ~23 clock cycles to complete one write. Does this imply a timing error somewhere?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:39:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519732#M3318</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:39:57Z</dc:date>
    </item>
    <item>
      <title>Re: LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519733#M3319</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Dave on Wed Aug 01 15:45:06 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Comments 14-19 address the missing MODE command...&amp;nbsp; lol&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Timing is certainly important - can you verify your values for these registers, as I have shown here:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // *** Taken from the MT48LC2M32B2 data sheet, page 47 ***&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // configure timing, from Table 18:&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // -6 (6ns part) timings (see marking on actual chip: MT48LC2M32B2-6)&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; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // NOTE: all timing values for LPC1788 are in units of CLK counts&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // ------------------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; LPC_EMC-&amp;gt;DynamicRP&amp;nbsp;&amp;nbsp; = NS_2_CLKS(18);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // tRP: precharge command period&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (18ns)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; LPC_EMC-&amp;gt;DynamicRAS&amp;nbsp; = NS_2_CLKS(42);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // tRAS: active to precharge command period&amp;nbsp; (42ns)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; LPC_EMC-&amp;gt;DynamicSREX = NS_2_CLKS(70);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // tXSR: self-refresh exit time&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; (70ns)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; LPC_EMC-&amp;gt;DynamicAPR&amp;nbsp; = NS_2_CLKS(18);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // tAPR: last-data-out to active command time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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;&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; // note: no tAPR value, using tRCD value&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (18ns)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; LPC_EMC-&amp;gt;DynamicDAL&amp;nbsp; = CAS_Latency+2;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // tDAL: data-in to active command time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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;&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;&amp;nbsp;&amp;nbsp; for CL=3, tDAL = 5 tCK&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; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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;&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;&amp;nbsp;&amp;nbsp; for CL=2, tDAL = 4 tCK&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; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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;&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;&amp;nbsp;&amp;nbsp; for CL=1, tDAL = 3 tCK&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; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; LPC_EMC-&amp;gt;DynamicWR&amp;nbsp;&amp;nbsp; = (1+NS_2_CLKS(6));&amp;nbsp; // tWR: write recovery time is (12ns) UNLESS we're &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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;&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;&amp;nbsp; using AUTO PRECHARGE, then it's&amp;nbsp;&amp;nbsp; (tCK+6ns)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; LPC_EMC-&amp;gt;DynamicRC&amp;nbsp;&amp;nbsp; = NS_2_CLKS(60);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // tRC: ACTIVE-to-ACTIVE command period&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (60ns)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; LPC_EMC-&amp;gt;DynamicRFC&amp;nbsp; = NS_2_CLKS(60);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // tRFC: AUTO REFRESH period&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; (60ns)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; LPC_EMC-&amp;gt;DynamicXSR&amp;nbsp; = NS_2_CLKS(70);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // tXSR: Exit self refresh to ACTIVE command (70ns)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; LPC_EMC-&amp;gt;DynamicRRD&amp;nbsp; = NS_2_CLKS(12);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // tRRD: active bank A to active bank B command&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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;&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;&amp;nbsp;&amp;nbsp; latency&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (12ns)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; LPC_EMC-&amp;gt;DynamicMRD&amp;nbsp; = 2-1;&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; // tMRD: LOAD MODE REGISTER command to ACTIVE or&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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;&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; // REFRESH command time&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; (2tCK)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:39:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519733#M3319</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:39:57Z</dc:date>
    </item>
    <item>
      <title>Re: LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519734#M3320</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by dustinkasel on Thu Aug 02 09:00:51 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Dave, I actually tried your initialization code line for line in a test application and saw little difference in performance. I am seeing a maximum throughput of ~35MB/s with the CPU at 120MHz and the EMC at 60MHz. This means it's taking an average of 7 clock cycles to transfer one word. Are these numbers reasonable? &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:39:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519734#M3320</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:39:58Z</dc:date>
    </item>
    <item>
      <title>Re: LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519735#M3321</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Dave on Thu Aug 02 10:07:06 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Sorry, I didn't mean that you should "copy" my code, I meant you should verify your values... each SDRAM device has a table with timing constants.&amp;nbsp; Your device is probably not the same as my device...&amp;nbsp; By the way, what is your device anyway???&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I use my device with multiple display pages, and never have any contention - I also run my devices at 120Mhz...&amp;nbsp; again, no problems...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This indicates to me that it is possible, and more than probably you haven't programmed the EMC, the SDRAM, or the LCD controller the way you think you have...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;There are several complete examples on how to program the EMC and SDRAM here - Wolfgang has even uploaded his entire driver set here I believe...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The trick is to make sure you have the timing values set properly, and that you are configuring the LCD controller properly...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Not sure how much more I can help without actually doing it for you...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Oh, one more thing - you indicated you are using a custom board - how confident are you in the design?&amp;nbsp; Trace spacing, signal grouping, matched trace lengths, trace widths, dah, dah, dah...&amp;nbsp;&amp;nbsp; All of this comes into play, and can really screw things up if you don't have them just right.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Oh, and another thing - what's the maximum frequency of the SDRAM part you are using?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Just thinking out loud...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope this helps,&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:39:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519735#M3321</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:39:58Z</dc:date>
    </item>
    <item>
      <title>Re: LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519736#M3322</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by dustinkasel on Thu Aug 02 10:33:46 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Yeah, I didn't mean your code is now sitting in project files, I just meant I dropped your code in a dummy project to try it out. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The exact part number of the chip I'm using is: MT48LC2M32B2P-6:G TR&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I think my next step will be to try this out on a development board to verify my trace routing isn't to blame. My board is not impedance matched (controlled dielectric) but the trace width and length was tuned during the layout. In my experience, controlled-dielectric doesn't really become a necessity until you hit several hundred megahertz.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:39:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519736#M3322</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:39:59Z</dc:date>
    </item>
    <item>
      <title>Re: LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519737#M3323</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Dave on Thu Aug 02 12:16:29 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Gotchya - you're using the exact same device I'm using...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I missed the part about the display earlier - you're using a FEMA display - funny, so am I... ( do you know George? )&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'cept mine is 640x480...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;One thing I did find during development of my own board was that I needed to adjust my delays a bit higher to remove some speckling on the display - my SDRAM memory test indicated no errors, but from time to time there were random pixels being set on the display...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Increasing the values for both the feedback clock and the command outputs eliminated the problem&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //DelayConstant = 0x00000B05;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // dev kit works at 0B05...&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;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DelayConstant = 0x00000F07;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // SBC R1 works at 0F07...&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; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; *&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; *&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; *&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // Setup delays&amp;nbsp; (Note:&amp;nbsp; UM has an error in Table #140 - should look like this:&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;&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; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // [Ref: LPC178x_7x_UM_1.4 page 183 ]&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // ----------------------------------------------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // Bit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Symbol&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Reset&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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;&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;&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;&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;&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; Value&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // ----------------------------------------------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // 4:0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CMDDLY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Programmable delay value for EMC outputs in command delayed mode. See&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; 0x10 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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;&amp;nbsp;&amp;nbsp; Section 10.12.6. The delay amount is roughly (CMDDLY+1) * 250 picoseconds.&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; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // 7:5&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; Reserved. Read value is undefined, only zero should be written.&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;&amp;nbsp; NA&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // 12:8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FBCLKDLY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Programmable delay value for the feedback clock that controls input data sampling. See&amp;nbsp;&amp;nbsp; 0x02 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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;&amp;nbsp;&amp;nbsp; Section 10.5.3. The delay amount is roughly (FBCLKDLY+1) * 250 picoseconds.&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; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // 15:13&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; Reserved. Read value is undefined, only zero should be written.&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;&amp;nbsp; NA&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // 20:16&amp;nbsp;&amp;nbsp;&amp;nbsp; CLKOUT0DLY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Programmable delay value for the CLKOUT0 output. This would typically be used in clock&amp;nbsp;&amp;nbsp; 0x00 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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;&amp;nbsp;&amp;nbsp; delayed mode. See Section 10.12.6 The delay amount is roughly (CLKOUT0DLY+1) *&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; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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;&amp;nbsp;&amp;nbsp; 250 picoseconds.&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // 23:21&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; Reserved. Read value is undefined, only zero should be written.&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;&amp;nbsp; NA&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // 28:24&amp;nbsp;&amp;nbsp;&amp;nbsp; CLKOUT1DLY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Programmable delay value for the CLKOUT1 output. This would typically be used in clock&amp;nbsp;&amp;nbsp; 0x00 &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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;&amp;nbsp;&amp;nbsp; delayed mode. See Section 10.12.6 The delay amount is roughly (CLKOUT1DLY+1) *&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; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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;&amp;nbsp;&amp;nbsp; 250 picoseconds.&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // 31:29&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; Reserved. Read value is undefined, only zero should be written.&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;&amp;nbsp; NA&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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;&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;&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;&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;&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; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp; ---X XXXX ---X XXXX ---X XXXX ---X XXXX =&amp;gt; DelayConstant = 0x00000C04&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;&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; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp; 0000 0000 0000 0000 0000 1100 0000 0100 =&amp;gt; CMDDLY=0x04=1250ps &amp;amp; FBCLKDLY=0x0C=3.25ns&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; LPC_SC-&amp;gt;EMCDLYCTL&amp;nbsp;&amp;nbsp; = DelayConstant;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:40:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519737#M3323</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:40:00Z</dc:date>
    </item>
    <item>
      <title>Re: LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519738#M3324</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by dustinkasel on Thu Aug 02 15:11:58 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;If I post a performance test project would you be able/willing to try it out on your board? For measurement I am just toggling a GPIO so you would need access to an unused one.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for all your help so far Dave!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:40:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519738#M3324</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:40:00Z</dc:date>
    </item>
    <item>
      <title>Re: LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519739#M3325</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Dave on Thu Aug 02 16:07:47 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Sure... I'll give it a shot.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:40:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519739#M3325</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:40:01Z</dc:date>
    </item>
    <item>
      <title>Re: LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519740#M3326</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by dustinkasel on Fri Aug 03 10:06:39 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;For anyone interested, I was able to bring an FAE in to look at this issue. Not surprisingly, it stumped him as well. I have attached a test application if anyone (Dave) would like to try it out. You'll probably need to select a different GPIO in the while loop based on what you have easy access to. The low pulse length will be the write time; high pulse length will be the read time.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Throughput in MB/s = (48000 words / pulse length) * 4&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for everyone's help!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:40:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519740#M3326</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:40:01Z</dc:date>
    </item>
    <item>
      <title>Re: LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519741#M3327</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Dave on Sat Aug 04 14:41:33 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Dustin,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Reviewing your calculation for throughput:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;(800*480)/8 = 48000 operations (both read and write).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Each operation is a 32-bit wide operation, or 4 bytes.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;48000*4 = 192000 = number of bytes per time frame.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The scope indicates the write operation takes 2.56ms and the read operation takes 4.66ms (on my board), so processor is writing 75MB/sec and reading 41.2MB/sec...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Does this sound right to you?&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:40:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519741#M3327</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:40:02Z</dc:date>
    </item>
    <item>
      <title>Re: LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519742#M3328</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by e135193 on Sun Aug 05 06:49:25 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is that enough to modify the settings below for costumising emWin for my LCD ? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;Link for my LCD's datasheet : &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Felinux.org%2Fimages%2F0%2F07%2FAT070TN83.pdf" rel="nofollow" target="_blank"&gt;http://elinux.org/images/0/07/AT070TN83.pdf&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define HBP_TRULY_3_2&amp;nbsp;&amp;nbsp; 28&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Horizontal back porch in clocks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define HFP_TRULY_3_2&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Horizontal front porch in clocks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define HSW_TRULY_3_2&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // HSYNC pulse width in clocks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PPL_TRULY_3_2&amp;nbsp;&amp;nbsp; 240&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Pixels per line&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define VBP_TRULY_3_2&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Vertical back porch in clocks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define VFP_TRULY_3_2&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Vertical front porch in clocks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define VSW_TRULY_3_2&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // VSYNC pulse width in clocks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define LPP_TRULY_3_2&amp;nbsp;&amp;nbsp; 320&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Lines per panel&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define IOE_TRULY_3_2&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Invert output enable, 1 = invert&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define IPC_TRULY_3_2&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Invert panel clock, 1 = invert&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define IHS_TRULY_3_2&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Invert HSYNC, 1 = invert&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define IVS_TRULY_3_2&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Invert VSYNC, 1 = invert&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define ACB_TRULY_3_2&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // AC bias frequency in clocks (not used)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define BPP_TRULY_3_2&amp;nbsp;&amp;nbsp; 16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Bits per pixel b110 = 16 bpp 5:6:5 mode&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define CLK_TRULY_3_2&amp;nbsp;&amp;nbsp; 8200000&amp;nbsp; // Optimal clock rate (Hz) between 1-8.22 MHz according to SSD1289 datasheet&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define LCD_TRULY_3_2&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Panel type; 0: LCD TFT panel&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define DUAL_TRULY_3_2&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // No dual panel&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As far as I can see from the datasheet of the FEMA LCD, there is no need for an SPI interface for LCD. Then, you do not need the code samples below for your LCD. Do you ? I guess that you need SPI interface just for touch panel interface. Am I rigth ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;static void _InitTrulyLCD(void) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // Power LCD&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_GPIO2-&amp;gt;DIR |= 1;&amp;nbsp; // Set to output&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_GPIO2-&amp;gt;SET&amp;nbsp; = 1;&amp;nbsp; // Output LCD power&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // Set display CMD/DATA register select pin to output high&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_GPIO0-&amp;gt;DIR |= (1 &amp;lt;&amp;lt; LCD_REG_BIT);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // Display init sequence&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x00,0x0001);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _DelayMs(15 * 2);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x03,0x6E3E);&amp;nbsp; // AAAC&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x0C,0x0007);&amp;nbsp; // 0002&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x0D,0x000E);&amp;nbsp; // 000A&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x0E,0x2C00);&amp;nbsp; // 2C00&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x1E,0x00AE);&amp;nbsp; // 00B8&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _DelayMs(15 * 2);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x07,0x0021);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _DelayMs(50 * 2);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x07,0x0023);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _DelayMs(50 * 2);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x07,0x0033);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _DelayMs(50 * 2);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x01,0x2B3F);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x02,0x0600);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x10,0x0000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _DelayMs(15 * 2);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x11,0xC5B0);&amp;nbsp; // 60B0: RGB I/R&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _DelayMs(20 * 2);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x15,0x00D0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x05,0x0000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x06,0x0000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x16,0xEF1C);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x17,0x0003);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x07,0x0233);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x0B,0x5310);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x0F,0x0000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x25,0xE000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _DelayMs(20 * 2);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x41,0x0000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x42,0x0000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x48,0x0000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x49,0x013F);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x44,0xEF00);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x45,0x0000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x46,0x013F);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x4A,0x0000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x4B,0x0000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _DelayMs(20 * 2);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x30,0x0707);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x31,0x0600);&amp;nbsp; // 0704&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x32,0x0005);&amp;nbsp; // 0204&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x33,0x0402);&amp;nbsp; // 0201&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x34,0x0203);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x35,0x0204);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x36,0x0204);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x37,0x0401);&amp;nbsp; // 0502&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x3A,0x0302);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x3B,0x0500);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _DelayMs(20 * 2);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _WriteLcdReg(0x22,0x0000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; _DelayMs(20 * 2);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks in advance&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;engin&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:40:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519742#M3328</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:40:03Z</dc:date>
    </item>
    <item>
      <title>Re: LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519743#M3329</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Dave on Sun Aug 05 14:09:25 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Ummm, your post is a little off topic, Engin.&amp;nbsp;&amp;nbsp; Perhaps you would do better with starting a new thread.&amp;nbsp; I recommend you formulate a question as the thread header, and post your question there...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Good luck,&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:40:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519743#M3329</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:40:03Z</dc:date>
    </item>
    <item>
      <title>Re: LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519744#M3330</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by e135193 on Sun Aug 05 21:10:17 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello Dave&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I clearly know my post is off topic. I have already started a new thread. However no one replys. I know that you are so proficient and you will reply at least an answer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The pace of this comunity is so slow. There are less senior people like you.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Could you reply one of my threads please ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.lpcware.com%2Fcontent%2Fforum%2Fcustomising-emwin-516-any-other-7-lcd" rel="nofollow" target="_blank"&gt;http://www.lpcware.com/content/forum/customising-emwin-516-any-other-7-lcd&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.lpcware.com%2Fcontent%2Fforum%2Feas-7-lcd-interface" rel="nofollow" target="_blank"&gt;http://www.lpcware.com/content/forum/eas-7-lcd-interface&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Engin&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:40:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519744#M3330</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:40:04Z</dc:date>
    </item>
    <item>
      <title>Re: LCD Frame Buffer</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519745#M3331</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Dave on Sun Aug 05 22:15:23 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I cannot reply.&amp;nbsp; I have not worked with the emWin library yet.&amp;nbsp; Sorry.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:40:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LCD-Frame-Buffer/m-p/519745#M3331</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:40:05Z</dc:date>
    </item>
  </channel>
</rss>

