<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>LPC Microcontrollers中的主题 Re: EMC generates double read cycles for static chip selects.</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526846#M9283</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by wilson.chen on Thu Nov 21 03:57:09 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am evaluating LPC43XX for a new project,and using EMC to access SRAM is a must function.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When will this issue be fixed in LPC43XX or LPC18XX?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 18:14:54 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T18:14:54Z</dc:date>
    <item>
      <title>EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526828#M9265</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Grant.Edwards on Mon Jun 10 09:58:11 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;P&gt;I'm having problems getting the LPC1857 EMC configured for use with static peripherals (e.g. external UARTs with 8 or 16-bit wide parallel bus interfaces).&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;The write cycle configuration appears to work exactly as described in the LPC18xx user manual. However, the read cycle is usually (but not always) twice as long as I've configured. In addition, one or more address lines will change stage half-way through the "double-length" read cycle. The EMC appears to be attempting to read two adjacent addresses every time I do a single read.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;The "double length" read doesn't occur all of the time. Perhaps 5% of the time, the read cycle will be the correct length and behave exactly as described in the user manual. AFAICT, whether I get a correct read cycle or a double-length read cycle is completely random. The exact same instruction reading the exact same address can generate a double-length read cycle one time through a loop and a correct read the next time.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;I have disabled both page mode and buffering.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Reads are doubled both with and without "extended wait", and regardless of BLS configuration.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;I've verified that the code is doing a single ldr.b instruction to read a peripheral register via an 8-bit wide chip select and an ldr.h instruction to read a peripheral register via a 16-bit wide chip select.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Since reading some peripheral registers has side effects (e.g. reading a data byte from a UART), it's not acceptable for the EMC to generate a spurious read from an address adjacent to the one I'm intending to read.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;I've been fighting with this issue for a couple weeks now, and have been corresponding with our FAE, but have gotten nowhere.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;If anybody has seen this issue (even if you don't know the solution) or has any ideas, please let me know.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526828#M9265</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:42Z</dc:date>
    </item>
    <item>
      <title>Re: EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526829#M9266</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 Mon Jun 10 14:17:26 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;P&gt;Hmmm... you may want to make a test and use the DMA controller to read a byte.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;And you may want to look at the (default) MPU programming for this address area. Is there some sort of buffering/caching enabled in the MPU?&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;And you can post your EMC configuration code for review.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;regards&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Wolfgang&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526829#M9266</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:43Z</dc:date>
    </item>
    <item>
      <title>Re: EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526830#M9267</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Grant.Edwards on Mon Jun 10 14:48:06 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;P&gt;&amp;lt;em&amp;gt;&amp;nbsp; Hmmm... you may want to make a test and use the DMA controller to read a byte.&amp;lt;/em&amp;gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;I'll put that on the list of things to try, but it's not an option for a real solution.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&amp;lt;em&amp;gt;&amp;nbsp; And you may want to look at the (default) MPU programming for this address area.&amp;lt;/em&amp;gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;I'm not sure what you mean by that.&amp;nbsp; The configuration I'm using is the default except for the actual lengths of the bus cycles. I'll try using those at their default values also.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&amp;lt;em&amp;gt;&amp;nbsp; Is there some sort of buffering/caching enabled in the MPU?&amp;lt;/em&amp;gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Based on my reading of the user manual, no.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&amp;lt;em&amp;gt;&amp;nbsp; And you can post your EMC configuration code for review.&amp;lt;/em&amp;gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Certainly:&lt;/P&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;pre&amp;gt;#define EMC_CONTROL&amp;nbsp; *((volatile uint32_t*)0x40005000)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# define EMC_CONTROL_ENABLE&amp;nbsp; 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# define EMC_CONTROL_MIRROR&amp;nbsp; 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define STATICCONFIG3 *((volatile uint32_t*)0x40005260)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# define CNF_MEM_WIDTH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; /* bus width 0==8, 1==16, 2==32 */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# define CNF_PAGE_MODE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; /* enable page mode (len=4) */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# define CNF_CS_HIGH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp; /* CS polarity 0=low, 1==high */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# define CNF_BLS_READ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp; /* byte lane active for 0=wr, 1=rd/wr */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# define CNF_EXT_WAIT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp; /* enable extended wait */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# define CNF_BUFF_EN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 19&amp;nbsp;&amp;nbsp;&amp;nbsp; /* buffer enable */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# define CNF_WR_PROT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&amp;nbsp;&amp;nbsp;&amp;nbsp; /* enable write protect */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define STATICWAITWEN3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((volatile uint32_t*)0x40005264)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define STATICWAITOEN3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((volatile uint32_t*)0x40005268)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define STATICWAITRD3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((volatile uint32_t*)0x4000526c)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define STATICWAITPAGE3&amp;nbsp;&amp;nbsp;&amp;nbsp; *((volatile uint32_t*)0x40005270)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define STATICWAITWR3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((volatile uint32_t*)0x40005274)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define STATICWAITTURN3&amp;nbsp;&amp;nbsp;&amp;nbsp; *((volatile uint32_t*)0x40005278)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; EMC_CONTROL&amp;nbsp; |=&amp;nbsp; Bit(EMC_CONTROL_ENABLE);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; EMC_CONTROL&amp;nbsp; &amp;amp;amp;= ~Bit(EMC_CONTROL_MIRROR);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // configure CS3&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; STATICCONFIG3 =&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (0 &amp;amp;lt;&amp;amp;lt; CNF_MEM_WIDTH) |&amp;nbsp; // bus width 0==8, 1==16, 2==32&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (0 &amp;amp;lt;&amp;amp;lt; CNF_PAGE_MODE) |&amp;nbsp; // enable page mode (len=4)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (0 &amp;amp;lt;&amp;amp;lt; CNF_CS_HIGH)&amp;nbsp;&amp;nbsp; |&amp;nbsp; // CS polarity 0=low, 1==high&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (0 &amp;amp;lt;&amp;amp;lt; CNF_BLS_READ)&amp;nbsp; |&amp;nbsp; // byte lane active for 0=wr, 1=rd/wr&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (0 &amp;amp;lt;&amp;amp;lt; CNF_EXT_WAIT)&amp;nbsp; |&amp;nbsp; // enable extended wait&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (0 &amp;amp;lt;&amp;amp;lt; CNF_BUFF_EN)&amp;nbsp;&amp;nbsp; |&amp;nbsp; // buffer enable&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (0 &amp;amp;lt;&amp;amp;lt; CNF_WR_PROT)&amp;nbsp;&amp;nbsp; |&amp;nbsp; // enable write protect&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; STATICWAITOEN3 = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 15 max&amp;nbsp;&amp;nbsp; CS-&amp;amp;gt;OE delay: N*8.333ns&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; STATICWAITRD3&amp;nbsp; = 4;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 31 max&amp;nbsp;&amp;nbsp; CS length:&amp;nbsp; 2*(N+1)*8.333ns &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; STATICWAITTURN3= 2;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 15 max&amp;nbsp;&amp;nbsp; bus turn around after read&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; STATICWAITWEN3 = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 15 max&amp;nbsp;&amp;nbsp; CS-&amp;amp;gt;WE delay: (N+1)*8.333ns&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; STATICWAITWR3&amp;nbsp; = 5;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 31 max&amp;nbsp;&amp;nbsp; WE length:&amp;nbsp;&amp;nbsp;&amp;nbsp; (N+1)*8.333ns&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526830#M9267</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:44Z</dc:date>
    </item>
    <item>
      <title>Re: EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526831#M9268</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Grant.Edwards on Mon Jun 10 15:03:31 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;p style="padding-left: 60px;"&amp;gt;&amp;lt;em&amp;gt;And you may want to look at the (default) MPU programming for this address area.&amp;lt;/em&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;p style="padding-left: 30px;"&amp;gt;I'm not sure what you mean by that.&amp;nbsp; The configuration I'm using is the default except for the actual lengths of the bus cycles. I'll try using those at their default values also.&lt;/SPAN&gt;&lt;BR /&gt;&lt;P&gt;I tried using the default configuration for everything, and I get the same result: reads are almost always 2X the configured length, with the address lines toggling to the next address half way through the bus cycle.&amp;lt;em&amp;gt;&lt;BR /&gt;&amp;lt;/em&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526831#M9268</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:44Z</dc:date>
    </item>
    <item>
      <title>Re: EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526832#M9269</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Grant.Edwards on Mon Jun 10 15:10:29 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;P&gt;I've attached a 'scope screenshot showing what I'm talking about.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;The trace shows two read cycles on external static CS3 and was generated by two "ldrb" instructions that are each reading address 0x1f000000.&amp;nbsp; Usually, you see both bus cycles the same as the first one in the trace: it's twice as long as it's supposed to be and address line A0 toggles from 0-&amp;amp;gt;1 half way through the access.&amp;nbsp; A few percent of the time, you see a correct cycle -- as seen in the bus cicle on the right half of the trace.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Again, the two cycles show in the trace were generated by identical ldrb instructions.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526832#M9269</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:45Z</dc:date>
    </item>
    <item>
      <title>Re: EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526833#M9270</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 Tue Jun 11 00:53:07 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;P&gt;What you see is perfectly legal...&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;If you look in the user manual, chapter 19.7.21, Register StaticConfig, Bit "B" (Buffer Enable): there is a hint [2] "EMC may perform burst read access even when the buffer enable bit is cleared".&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;In LPC178x, the same memory controller is used, see user manual, chapter 9.10 "Memory mapped I/O and burst disable".&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;For LPC178x, they have added a special bit "EMC burst control" in the SCS register to turn these EMC bursts off. For the LPC185x, they seem to have forgotten to fix this.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;(I am VERY happy that I have selected the LPC178x for my project. Everything works).&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;What can you do?&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;I would program the EMC memory width to 32bit, but only use 8 bit for the IO interface. So all your UART registers will have an address increment of 4. For every read access, the EMC will fetch 32bit, and you use only 8. If you have luck, the EMC will only burst 32 bits, and you are happy.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;If this will not work: switch to the LPC178x!&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;best regards&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Wolfgang&lt;/P&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526833#M9270</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:46Z</dc:date>
    </item>
    <item>
      <title>Re: EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526834#M9271</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Grant.Edwards on Tue Jun 11 07:54:09 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;p style="padding-left: 30px;"&amp;gt;&amp;lt;em&amp;gt;If you look in the user manual, chapter 19.7.21, Register StaticConfig, Bit "B" (Buffer Enable): there is a hint [2] "EMC may perform burst read access even when the buffer enable bit is cleared".&amp;lt;/em&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;P&gt;Thanks! I somehow missed that footnote. That's certainly a show-stopper if you're trying to use the EMC for memory-mapped IO. It seems rather dishonest of NXP to hide such a major flaw in a footnote.&amp;lt;em&amp;gt;&amp;lt;/em&amp;gt;&lt;/P&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;p style="padding-left: 30px;"&amp;gt;&amp;lt;em&amp;gt;I would program the EMC memory width to 32bit, but only use 8 bit for the IO interface. So all your UART registers will have an address increment of 4. For every read access, the EMC will fetch 32bit, and you use only 8. If you have luck, the EMC will only burst 32 bits, and you are happy.&amp;lt;/em&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;P&gt;No such luck.&amp;nbsp; Even with the memory width configured for 32-bits, the EMC still does two reads.&amp;nbsp; The only difference is that it increments the address by 4 instead of by 1 as it did with the memory width configured for 8 bits.&amp;nbsp; I think I'm sunk.&lt;/P&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;p style="padding-left: 30px;"&amp;gt;&amp;lt;em&amp;gt;If this will not work: switch to the LPC178x!&amp;lt;/em&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;P&gt;That's not an option: the 178x doesn't have an SDRAM controller. (does it?)&amp;lt;em&amp;gt;&lt;BR /&gt;&amp;lt;/em&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526834#M9271</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:46Z</dc:date>
    </item>
    <item>
      <title>Re: EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526835#M9272</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 Tue Jun 11 08:24:16 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;P&gt;I am running the LPC178x in QFP-208 package with:&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;one 16bit SDRAM at 78 MHz Clock&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;- a SD card&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;- 16bit LCD 480x272 Pixel&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;- one I2C, two SPI (one for a serial 128MB flash)&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;- Using the ADC for resistive Touch&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;- an external Port Chip (8bit) hooked onto D16-D23 and A15 (Pins which are not used for SDRAM!)&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;In the internal flash is a bootloader, code is in serial flash, and copied to SDRAM for execution.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Bootloader programming is done via ISP (V24). Serial Flash programming is done in bootloader from SD-Card.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;It's a 2-sided PCB, running most of the wires on layer 1.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;I can give you some code for sdram init and sdram calibration (these functions are not simple).&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;I have thrown the 185x in the trash as soon as I have seen the first errata.... lucky me.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;The 178x is a very fine machine..&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;regards&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Wolfgang&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526835#M9272</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:47Z</dc:date>
    </item>
    <item>
      <title>Re: EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526836#M9273</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 Thu Jun 13 12:38:14 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;P&gt;You may get a working solution with the 185x with the following aproach:&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;- add an external OR-Gate to the Output of /RD, A0, A1 (this will be enough, I think).&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;- Use the output of the OR gate as /RD to the peripheral.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;- Use A2.... as address bus for your peripheral.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;- Make all your accesses to the peripheral with A0,A1 == 0.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;- If the CPU is doing a 2nd read cycle, A0 and/or A1 will be != 0, and the /RD pulse will be filtered out.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;best regards&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Wolfgang&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526836#M9273</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:47Z</dc:date>
    </item>
    <item>
      <title>Re: EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526837#M9274</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Grant.Edwards on Thu Jun 13 13:03:52 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;P&gt;Interesting -- I was misled by NXP documentation.&amp;nbsp; If you go to the LPC1788 documentation page, there are two user manuals one is the generic 17xx manual and it never mentions sdram. That's the one I was looking at.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;I see from the lpc17[78]x manual that it also has an Ethernet controller (which we require).&amp;nbsp; There are two other features of the lpc1830 that we could possibly live without but would miss if they were gone: 1) boot from quad-spi flash 2) IEEE 1588 timestamping support in the Ethernet controller.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;I don't remember that the LPC17[78]x family was one of the ones presented to us by the FAE after we sent a list of requirements.&amp;nbsp; Since we required support for external flash (we need at least 4MB of flash), perhaps he only recommended parts that had flashless versions.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526837#M9274</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:48Z</dc:date>
    </item>
    <item>
      <title>Re: EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526838#M9275</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Grant.Edwards on Thu Jun 13 13:53:48 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;p style="padding-left: 30pa;"&amp;gt;&amp;lt;em&amp;gt;You may get a working solution with the 185x with the following aproach:&amp;lt;/em&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;p style="padding-left: 30px;"&amp;gt;&amp;lt;em&amp;gt;- add an external OR-Gate to the Output of /RD, A0, A1 (this will be enough, I think).&amp;lt;/em&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;p style="padding-left: 30px;"&amp;gt;&amp;lt;em&amp;gt;- Use the output of the OR gate as /RD to the peripheral.&amp;lt;/em&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;p style="padding-left: 30px;"&amp;gt;&amp;lt;em&amp;gt;- Use A2.... as address bus for your peripheral.&amp;lt;/em&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;p style="padding-left: 30px;"&amp;gt;&amp;lt;em&amp;gt;- Make all your accesses to the peripheral with A0,A1 == 0.&amp;lt;/em&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;p style="padding-left: 30px;"&amp;gt;&amp;lt;em&amp;gt;- If the CPU is doing a 2nd read cycle, A0 and/or A1 will be != 0, and the /RD pulse will be filtered out.&amp;lt;/em&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;P&gt;That's sort of what we're testing right now. For our 16-bit peripherals we connect A2,A3,A4,etc. Then we do 16-bit accesses with A0==A1==0. Even if the address does increment half-way though a double-length cycle, it doesn't matter since the peripheral only sees the "correct" address throughout the entire cycle. There's no need to try to filter CS/OE as long as the address seen by the peripheral is unchanged throughout the cycle. [When the EMC does a double read, it doesn't generate two CS pulses and two OE pulses, it generates a single, double-length cycle where the address increments in the middle of the cycle.]&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;However, further testing shows that when the bus width is greater than the access width, the address _doesn't_ increment and the cycle length isn't doubled. So for our 16-bit peripheral we configure the bus width to 32 (and still access it with A0==A1==0). Likewise, for an 8-bit peripheral we connect A1,A2,A3 and only access it with A0==0. With a bus width of 16 and 8-bit reads, we don't see double read cycles there either.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;The one place we still have a minor issue is when we do an 8-bit read from the 16-bit peripheral. The EMC always asserts both BLS0 and BLS1, even though the peripheral requires that for an 8-bit read only one of the BLS lines is asserted. For now, it looks like we can get by without having to do 8-bit reads from our 16-bit part.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;After several weeks of asking them, we finally did get NXP to admit that they've known about this problem for ages, and that they had fixed it in the ARM7 families (including the newer M3-based members of the ARM7 families). But, nobody at NXP can tell us whether or not this bug is fixed in the Rev C LPC1830 die that's coming out in a few weeks. The smart money is betting that it isn't fixed.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;So, for the moment, we've got a work-around that isn't too painful. It's still rather baffling that NXP thought that the EMC doing read-ahead like that would not cause problems for some peripherals.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526838#M9275</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:48Z</dc:date>
    </item>
    <item>
      <title>Re: EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526839#M9276</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mc on Thu Jun 13 22:01:00 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;P&gt;&amp;lt;em&amp;gt;&amp;lt;span style="font-family: Roboto, sans-serif; font-size: 14px; background-color: #ffffff;"&amp;gt;&amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;/em&amp;gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&amp;lt;em&amp;gt;&amp;lt;span style="font-family: Roboto, sans-serif; font-size: 14px; background-color: #ffffff;"&amp;gt;If you go to the LPC1788 documentation page, there are two user manuals one is the generic 17xx manual and it never mentions sdram. That's the one I was looking at&amp;lt;/span&amp;gt;&amp;lt;/em&amp;gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Hi Grant,&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;The user Manual named LPC17xx belongs to LPC175x/6x series of microcontrollers.user Manual&amp;nbsp;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN&gt;at&amp;nbsp;&amp;lt;a href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.nxp.com%2Fdocuments%2Fuser_manual%2FUM10470.pdf" rel="nofollow" target="_blank"&gt;http://www.nxp.com/documents/user_manual/UM10470.pdf&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.nxp.com%2Fdocuments%2Fuser_manual%2FUM10470.pdf" rel="nofollow" target="_blank"&gt;http://www.nxp.com/documents/user_manual/UM10470.pdf&lt;/A&gt;&lt;SPAN&gt;&amp;lt;/a&amp;gt;&amp;nbsp;belongs to &amp;nbsp;LPC177x/8x. Please look into this user manual.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526839#M9276</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:49Z</dc:date>
    </item>
    <item>
      <title>Re: EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526840#M9277</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by rgledhill on Tue Jun 18 00:55:39 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;There are different regions of memory space, some of which are accessed as normal RAM, including these extra burst accesses, but some of which are in the "External Device" region which shouldn't be subject to these accesses.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Try (if possible) relocating your memory-mapped peripheral into this space - it's address range 0xA0000000 to 0xE0000000 as shown by the picture below.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&amp;lt;img src="data:image/png;base64,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" border="0" alt="" /&amp;gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;SPAN&gt;This is all in our book ( &amp;lt;a href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fbit.ly%2FZm35Yx" rel="nofollow" target="_blank"&gt;http://bit.ly/Zm35Yx&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fbit.ly%2FZm35Yx" rel="nofollow" target="_blank"&gt;http://bit.ly/Zm35Yx&lt;/A&gt;&lt;SPAN&gt;&amp;lt;/a&amp;gt; ) :)&lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Let me know how you get on...&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Richard&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Hitex (UK) Ltd&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526840#M9277</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:50Z</dc:date>
    </item>
    <item>
      <title>Re: EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526841#M9278</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by bavarian on Tue Jun 18 02:19:34 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;P&gt;Without going into detail, I can only say that we have seen problems in previous MCU generations and we have done a patch on the memory interface IP block (coming from ARM). But unfortunately we did not take this patch over to the new Cortex generation.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;A software/hardware workaround could be the following: connect the peripheral device to address lines A8 and higher. This requires absolute addressing in software, but in hardware it's a solution which does not affect the BOM.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Regards, NXP Technical Support&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526841#M9278</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:51Z</dc:date>
    </item>
    <item>
      <title>Re: EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526842#M9279</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Grant.Edwards on Tue Jun 18 05:53:05 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;div class="author-pane clear-block"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;div class="author-pane-inner"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;div class="author-pane-section author-pane-section-1"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;lt;div class="author-pane-line author-name"&amp;gt;&amp;lt;a title="View user profile." href="&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%2Fusers%2Frgledhill" rel="nofollow" target="_blank"&gt;http://www.lpcware.com/users/rgledhill&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;rgledhill&amp;lt;/a&amp;gt; wrote:&amp;lt;/div&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/div&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/div&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/div&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;p style="padding-left: 30px;"&amp;gt;&amp;lt;em&amp;gt;There are different regions of memory space, some of which are accessed as normal RAM, including these extra burst accesses, but some of which are in the "External Device" region which shouldn't be subject to these accesses.&amp;lt;/em&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;p style="padding-left: 30px;"&amp;gt;&amp;lt;em&amp;gt;Try (if possible) relocating your memory-mapped peripheral into this space - it's address range 0xA0000000 to 0xE0000000 as shown by the picture below.&amp;lt;/em&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;P&gt;Sorry if I was unclear.&amp;nbsp; I'm not desiging a Cortex CPU core into something.&amp;nbsp; I'm using an NXP LPC1800 uController.&amp;nbsp; The external chip selects we are discussing are at addresses 0x1c000000, 0x1d000000, 0x1e000000, and 0x1f000000 -- I have no control over their location in the address map.&amp;nbsp; In the LPC1800, the region 0xa000000 to 0xe0000000 is reserved and generates a fualt when accessed.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;The problem appears to be the manner in which NXP has connected the EMC (external memory controller) IP block that they licensed from ARM.&amp;nbsp; They fixed this problem in the older LPC1700 product line (which includes both ARM7 and Cortex parts), but inexplicably did not fix it in the newer LPC1800 family.&lt;/P&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;lt;p style="padding-left: 30px;"&amp;gt;&amp;lt;em&amp;gt;This is all in our book ( &amp;lt;a href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fbit.ly%2FZm35Yx" rel="nofollow" target="_blank"&gt;http://bit.ly/Zm35Yx&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fbit.ly%2FZm35Yx" rel="nofollow" target="_blank"&gt;http://bit.ly/Zm35Yx&lt;/A&gt;&lt;SPAN&gt;&amp;lt;/a&amp;gt; ) :)&amp;lt;/em&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;P&gt;Does your book discuss features and problems specific to the NXP LPC1800 product line?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526842#M9279</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:51Z</dc:date>
    </item>
    <item>
      <title>Re: EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526843#M9280</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Grant.Edwards on Tue Jun 18 06:24:34 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;div class="author-pane clear-block"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;div class="author-pane-inner"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;div class="author-pane-section author-pane-section-1"&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;lt;div class="author-pane-line author-name"&amp;gt;&amp;lt;a title="View user profile." href="&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%2Fusers%2Fbavarian" rel="nofollow" target="_blank"&gt;http://www.lpcware.com/users/bavarian&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;bavarian&amp;lt;/a&amp;gt; wrote:&amp;lt;/div&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/div&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/div&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/div&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;p style="padding-left: 30px;"&amp;gt;&amp;lt;em&amp;gt;Without going into detail, I can only say that we have seen problems in previous MCU generations and we have done a patch on the memory interface IP block (coming from ARM). But unfortunately we did not take this patch over to the new Cortex generation.&amp;lt;/em&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;P&gt;Firstly, thank you for your response. I would be interested in more detail, though.&amp;nbsp; When it was decided not to carry that fix over into the LPC1800 product line, how was a user expected to connect an external periphal without the fix? Since it was fixed in the LPC1700 Cortex-M3 parts like the LPC1788, why not fix it in the LPC1800 Cortex-M3 parts?&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;This seems to be a problem that has been known about for a long time, is there an LPC1800 errata that describes it?&lt;/P&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;p style="padding-left: 30px;"&amp;gt;&amp;lt;em&amp;gt;A software/hardware workaround could be the following: connect the peripheral device to address lines A8 and higher. This requires absolute addressing in software, but in hardware it's a solution which does not affect the BOM.&amp;lt;/em&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;P&gt;While this will hide the incrementing address bus lines from the peripheral, it won't prevent the doubling of the read cycle length will it?&amp;nbsp; The long read cycle times may be a concern due to resource contention within the perpheral if the chip select is held too long.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;We're currently testing a work-around where we configure the bus width to 2X the actual peripheral width and then always use accesses of 1/2 the bus width or smaller.&amp;nbsp; For example, for a 16-bit peripheral we configure the bus width to 32, connect address lines starting with A2, and then use 16 and 8 bit accesses on 4-byte boundaries.&amp;nbsp;&amp;nbsp; This appears to prevent the double-length read cycles, but there is still a problem with the BLS lines: an 8-bit read still asserts multiple BLS lines when only one should be asserted.&amp;nbsp; We may be able to live with the BLS problem.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;For an 8-bit peripheral, we configure the bus width to 16 and then use only 8-bit accesses (on even addresses). Obviously the BLS problem doesn't affect 8-bit wide peripherals.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Can somebody from NXP confirm that this work-around should be reliable in preventing the doubling of the read cycle?&amp;nbsp; I've asked our FAE, but he's been unable to provide any information or help on this problem.&amp;nbsp; He wasn't able to even confirm there was a problem until I pointed out to him how it had been fixed in the LPC1700 family.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;The one problem with either work-around is that it will reduce performance in the cases where we would normally use a 32-bit access to read two adjacent 16-bit registers (such an access allows us to dequeue 4 data bytes at a time rather than just 2).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526843#M9280</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:52Z</dc:date>
    </item>
    <item>
      <title>Re: EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526844#M9281</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by rgledhill on Wed Jul 17 06:12:57 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Sorry, you're correct, I was looking at it from an internal perspective for the chip rather than for a fixed implementation in an existing micro - apologies.&amp;nbsp; The book talks about the ARM Cortex core and does give some examples but nothing specific to the LPC1800.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Kind regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Richard&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;(For some reason I never received a notification of your reply...)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526844#M9281</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:52Z</dc:date>
    </item>
    <item>
      <title>Re: EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526845#M9282</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mtesmer on Wed Nov 13 04:43:28 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: Grant.Edwards&lt;/STRONG&gt;&lt;BR /&gt;There are two other features of the lpc1830 that we could possibly live without but would miss if they were gone: 1) boot from quad-spi flash 2) IEEE 1588 timestamping support in the Ethernet controller.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Sorry to reply for such old topic but this might be useful for author or anybody else.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Quad-SPI was implemented in LPC4088 which (as far as my little LPC knowledge is) is in fact LPC1788 with DSP capabilities. I'm not sure about second requirement while I haven't chance to dig around Ethernet controller yet.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;BTW. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is this EMC issue fixed in silicon or we still waiting for an update?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526845#M9282</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:53Z</dc:date>
    </item>
    <item>
      <title>Re: EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526846#M9283</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by wilson.chen on Thu Nov 21 03:57:09 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am evaluating LPC43XX for a new project,and using EMC to access SRAM is a must function.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When will this issue be fixed in LPC43XX or LPC18XX?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526846#M9283</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:54Z</dc:date>
    </item>
    <item>
      <title>Re: EMC generates double read cycles for static chip selects.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526847#M9284</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mc on Thu Nov 21 06:59:23 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Wilson,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you care in case of SRAM whether LPC43xx performs more than once access? I believe there should be no problem.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;MC&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:14:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/EMC-generates-double-read-cycles-for-static-chip-selects/m-p/526847#M9284</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:14:54Z</dc:date>
    </item>
  </channel>
</rss>

