<?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: Issue of execution speed in EMC memory in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Issue-of-execution-speed-in-EMC-memory/m-p/532339#M10394</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Dave,&lt;/P&gt;&lt;P&gt;I am facing same problem on custom board with LPC4088 which run program from EMC Nor flash. Unfortunately we cannot change from flash to sram. Although I have tried using optimization &amp;amp; it works too but the problem is we are using LCD with emWin library &amp;amp; it does not run when optimization applied. So I have ordered a pin compatible flash with page read mode.&lt;/P&gt;&lt;P&gt;I have a question though. In many discussion I have read that as clock speed increases the external memory slows down &amp;amp; I have experienced it but did not understand. Do you have any idea about it?&lt;/P&gt;&lt;P&gt;As I decrease clock frequency EMC Nor flash execution actually speeds up.(24 MHz gives best speed)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;Priyank.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 12 Oct 2018 11:39:57 GMT</pubDate>
    <dc:creator>priyankb</dc:creator>
    <dc:date>2018-10-12T11:39:57Z</dc:date>
    <item>
      <title>Issue of execution speed in EMC memory</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Issue-of-execution-speed-in-EMC-memory/m-p/532335#M10390</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by hostlin on Wed Feb 06 06:04:05 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Please kindly help to check this issue.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I wrote a simple code to test the execution speed in internal RAM, external Flash, and external SRAM of LPC1850.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Just toggle the GPIO output to generate the square wave and measure the period. The result is listed below:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Platform : LPC1850&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EMC Bus : CS0 16-bit NOR Flash (S29GL06490N, access time=90ns)&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; CS1 16-bit SRAM (CY62187EV30LL, access time=60ns)&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; (Due to limitation of customized design, it's unable to implement 32-bit data bus.)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Compiler : IAR EWARM&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;BASE_M3_CLK = 72 MHz (XOSC=12MHz, PLL1=6)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EMC_M3_CLK = 72 MHz&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EMC_CLK_DIV = 0 (not divided. CREG6 is not configured, keeps default value after reset)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EMCControl = 0x00000001&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EMCStaticConfig0 = 0x00080001&amp;nbsp;&amp;nbsp;&amp;nbsp; //16-bit, buffer=enable. Page mode=disable (not supported by S29GL06490N). Extended wait=disable&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EMCStaticWaitWen0 = 0x00000000&amp;nbsp;&amp;nbsp; //CS0 to write enable delay = 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EMCStaticWaitOen0 = 0x00000000&amp;nbsp;&amp;nbsp; //CS0 to output enable delay = 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EMCStaticWaitRd0 = 0x00000007&amp;nbsp;&amp;nbsp;&amp;nbsp; //CS0 to read access delay = 7 clock cycles&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EMCStaticWaitWr0 = 0x0000001F&amp;nbsp;&amp;nbsp;&amp;nbsp; //CS0 to write access delay = 31 clock cycle (default after reset. The test is only related to read access.)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;EMCStaticWaitTurn0 = 0x00000001&amp;nbsp; //Bus turn around cycles = 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Compiler optimization = Disable.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;measured pulse period = (1) 2.45 us&amp;nbsp;&amp;nbsp;&amp;nbsp; executed in internal RAM&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; (2) 21.2 us&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SRAM via EMC.........8.6 times of (1)&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; (3) 28.5 us&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOR Flash via EMC.....11 times of (1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The code execution speed in EMC memory is incredibly slow.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;A simple GPIO action takes almost 30 us is definitly unacceptable. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is the result reasonable? Any problems of the settings?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Willie Lin&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:19:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Issue-of-execution-speed-in-EMC-memory/m-p/532335#M10390</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:19:40Z</dc:date>
    </item>
    <item>
      <title>Re: Issue of execution speed in EMC memory</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Issue-of-execution-speed-in-EMC-memory/m-p/532336#M10391</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 Feb 06 08:27:49 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;What have you expected?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You have used two slow memories. Your compiler has generated slow code (2.45us are 176 cycles).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you have used SDRAM or serial Flash, it would be faster because of reading the data in burst mode.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And check the output of your compiler!&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:19:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Issue-of-execution-speed-in-EMC-memory/m-p/532336#M10391</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:19:41Z</dc:date>
    </item>
    <item>
      <title>Re: Issue of execution speed in EMC memory</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Issue-of-execution-speed-in-EMC-memory/m-p/532337#M10392</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by nxp21346 on Thu Feb 07 12:29:00 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Execution is much faster on internal SRAM because it operates at the full CPU speed (up to 180 MHz) and is 32-bits wide you are only using 16-bit wide external memory that can only operate at 16.6 MHz (1 / 60 ns). For faster performance, since you cannot use 32-bit memory, look for faster external memories (particularly for the SRAM) and also see if you can find a flash memory that supports page mode.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also check your optimizer settings, using -O3 and enabling optimization for speed should help.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-Dave @ NXP&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:19:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Issue-of-execution-speed-in-EMC-memory/m-p/532337#M10392</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:19:42Z</dc:date>
    </item>
    <item>
      <title>Re: Issue of execution speed in EMC memory</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Issue-of-execution-speed-in-EMC-memory/m-p/532338#M10393</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by homgin on Wed Feb 20 10:03:51 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I got the same question.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;After surfing the related topics about EMC of LPC18xx,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I know that to run code on SPI quad flash get better performance than external NOR flash.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But considering the power consumption and data backup problem, I have to use asynchronous SRAM instead of SDRAM.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;And I did the following test:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC1850,system clock = 72MHz,16-bit SRAM(Cypress CY62187, 60ns, page mode supported) in EMC CS1.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Call memcpy() to copy 1MB data in the EMC SRAM.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The code ran on internal SRAM.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;uint32 Memptr1=0x1D000000;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;uint32 Memptr2=0x1D100000;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for(i=0; i&amp;lt;32; i++)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; memcpy((void*)Memptr1, (void*)Memptr2, 0x8000); //copy 32k Byte data&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memptr1+=0x8000;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memptr2+=0x8000;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It took almost 350ms to finish the operation and not fit my demand.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The same test I did in STM32F103 which ran at 56MHz with the same SRAM only took 120ms.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I want to know if 2 16-bit SRAMs are connected to CS1 to form the 32-bit bus can double the accessing speed in this case?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you very much.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Homgin&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:19:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Issue-of-execution-speed-in-EMC-memory/m-p/532338#M10393</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:19:42Z</dc:date>
    </item>
    <item>
      <title>Re: Issue of execution speed in EMC memory</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Issue-of-execution-speed-in-EMC-memory/m-p/532339#M10394</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Dave,&lt;/P&gt;&lt;P&gt;I am facing same problem on custom board with LPC4088 which run program from EMC Nor flash. Unfortunately we cannot change from flash to sram. Although I have tried using optimization &amp;amp; it works too but the problem is we are using LCD with emWin library &amp;amp; it does not run when optimization applied. So I have ordered a pin compatible flash with page read mode.&lt;/P&gt;&lt;P&gt;I have a question though. In many discussion I have read that as clock speed increases the external memory slows down &amp;amp; I have experienced it but did not understand. Do you have any idea about it?&lt;/P&gt;&lt;P&gt;As I decrease clock frequency EMC Nor flash execution actually speeds up.(24 MHz gives best speed)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;Priyank.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Oct 2018 11:39:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Issue-of-execution-speed-in-EMC-memory/m-p/532339#M10394</guid>
      <dc:creator>priyankb</dc:creator>
      <dc:date>2018-10-12T11:39:57Z</dc:date>
    </item>
  </channel>
</rss>

