<?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: emWin demo is too slow!</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/emWin-demo-is-too-slow/m-p/515262#M1090</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 Fri Jan 16 18:39:00 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi giusloq,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;To achieve best speed setting for SDRAM you used, I recommend you to read EMC chapter in LPC43xx UM (&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%2FUM10503.pdf" rel="nofollow" target="_blank"&gt;http://www.nxp.com/documents/user_manual/UM10503.pdf&lt;/A&gt;&lt;SPAN&gt;).&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;You can tune SDRAM parameters in initDynMem(...) function ( See function in LPC18xx_43xx.c)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 17:15:57 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T17:15:57Z</dc:date>
    <item>
      <title>emWin demo is too slow!</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/emWin-demo-is-too-slow/m-p/515259#M1087</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by giusloq on Fri Jan 09 05:04:38 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I was able to run a minimal &lt;/SPAN&gt;&lt;A href="http://https://www.segger.com/cms/admin/uploads/userfiles/file/emWin/samples/GUIDemo.exe"&gt;GUIDEMO&lt;/A&gt;&lt;SPAN&gt; from emWin on my &lt;/SPAN&gt;&lt;A href="http://http://www.keil.com/mcb4300/"&gt;MBC4350&lt;/A&gt;&lt;SPAN&gt; development board from Keil.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I started from emwin_hello_world project in lpcopen_2_12_lpcxpresso_keil_mcb_4357.zip. It is very slow, even for drawing texts! Take a look at this &lt;/SPAN&gt;&lt;A href="http://https://drive.google.com/file/d/0B4HaZMq4exDidGZzZjdTVmNkS00/view?usp=sharing"&gt;video&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any suggestions?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:15:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/emWin-demo-is-too-slow/m-p/515259#M1087</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:15:54Z</dc:date>
    </item>
    <item>
      <title>Re: emWin demo is too slow!</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/emWin-demo-is-too-slow/m-p/515260#M1088</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 Sat Jan 10 07:31:14 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi giusloq,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Can you please check if EMC is running at highest clock frequency?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:15:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/emWin-demo-is-too-slow/m-p/515260#M1088</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:15:55Z</dc:date>
    </item>
    <item>
      <title>Re: emWin demo is too slow!</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/emWin-demo-is-too-slow/m-p/515261#M1089</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by giusloq on Mon Jan 12 02:35:58 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm sorry, but I'm a newbie with external memories and SDRAM and LPC43xx microprocessor family.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I understood the microprocessor mounted on Keil MCB4350 dev board is running at the maximum frequency of 204MHz.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The EMC can run at the same frequency of main processor (in my case, 204MHz) or at a half speed (in my case, 102MHz). I can't use 204MHz because it's too high for my SDRAM (it's a Micron MT48LC4M32B2-6 part, 167MHz speed grade). So I need to configure the clock of EMC for 102MHz. The following is the code I'm using:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;/* Setup external memories */
void Board_SetupExtMemory(void)
{
/* Setup EMC Delays */
/* Move all clock delays together */
LPC_SCU-&amp;gt;EMCDELAYCLK = ((CLK0_DELAY) | (CLK0_DELAY &amp;lt;&amp;lt; 4) | (CLK0_DELAY &amp;lt;&amp;lt; 8) | (CLK0_DELAY &amp;lt;&amp;lt; 12));

/* Setup EMC Clock Divider for divide by 2 - this is done in both the CCU (clocking)
&amp;nbsp;&amp;nbsp; and CREG. For frequencies over 120MHz, a divider of 2 must be used. For frequencies
&amp;nbsp;&amp;nbsp; less than 120MHz, a divider of 1 or 2 is ok. */
Chip_Clock_EnableOpts(CLK_MX_EMC_DIV, true, true, 2);
LPC_CREG-&amp;gt;CREG6 |= (1 &amp;lt;&amp;lt; 16);

/* Enable EMC clock */
Chip_Clock_Enable(CLK_MX_EMC);

/* Init EMC Controller -Enable-LE mode */
Chip_EMC_Init(1, 0, 0);
/* Init EMC Dynamic Controller */
Chip_EMC_Dynamic_Init((IP_EMC_DYN_CONFIG_T *) &amp;amp;MT48LC4M32_config);
/* Init EMC Static Controller CS0 */
Chip_EMC_Static_Init((IP_EMC_STATIC_CONFIG_T *) &amp;amp;S29GL64N90_config);

/* Enable Buffer for External Flash */
LPC_EMC-&amp;gt;STATICCONFIG0 |= 1 &amp;lt;&amp;lt; 19;
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So I think it is correctly configured. Anyway I tried with a scope on clock pin of SDRAM and I see "bursts" of about 100MHz.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:15:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/emWin-demo-is-too-slow/m-p/515261#M1089</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:15:56Z</dc:date>
    </item>
    <item>
      <title>Re: emWin demo is too slow!</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/emWin-demo-is-too-slow/m-p/515262#M1090</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 Fri Jan 16 18:39:00 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi giusloq,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;To achieve best speed setting for SDRAM you used, I recommend you to read EMC chapter in LPC43xx UM (&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%2FUM10503.pdf" rel="nofollow" target="_blank"&gt;http://www.nxp.com/documents/user_manual/UM10503.pdf&lt;/A&gt;&lt;SPAN&gt;).&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;You can tune SDRAM parameters in initDynMem(...) function ( See function in LPC18xx_43xx.c)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:15:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/emWin-demo-is-too-slow/m-p/515262#M1090</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:15:57Z</dc:date>
    </item>
    <item>
      <title>Re: emWin demo is too slow!</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/emWin-demo-is-too-slow/m-p/515263#M1091</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by giusloq on Wed Jan 28 06:19:24 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: mc&lt;/STRONG&gt;&lt;BR /&gt;Hi giusloq,&lt;BR /&gt;&lt;SPAN&gt;To achieve best speed setting for SDRAM you used, I recommend you to read EMC chapter in LPC43xx UM (&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%2FUM10503.pdf" rel="nofollow noopener noreferrer" target="_blank"&gt;http://www.nxp.com/documents/user_manual/UM10503.pdf&lt;/A&gt;&lt;SPAN&gt;).&lt;/SPAN&gt;&lt;BR /&gt;You can tune SDRAM parameters in initDynMem(...) function ( See function in LPC18xx_43xx.c)&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The BSP I'm using already has a correct SDRAM configuration (at least, I think):&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;/* Keil SDRAM timing and chip Config */
STATIC const IP_EMC_DYN_CONFIG_T MT48LC4M32_config = {
EMC_NANOSECOND(64000000 / 4096),/* Row refresh time */
0x01,/* Command Delayed */
EMC_NANOSECOND(18),
EMC_NANOSECOND(42),
EMC_NANOSECOND(70),
EMC_CLOCK(0x01),
EMC_CLOCK(0x05),
EMC_NANOSECOND(12),
EMC_NANOSECOND(60),
EMC_NANOSECOND(60),
EMC_NANOSECOND(70),
EMC_NANOSECOND(12),
EMC_CLOCK(0x02),
{
{
EMC_ADDRESS_DYCS0,/* Keil Board uses DYCS0 for SDRAM */
3,/* RAS */

EMC_DYN_MODE_WBMODE_PROGRAMMED |
EMC_DYN_MODE_OPMODE_STANDARD |
EMC_DYN_MODE_CAS_3 |
EMC_DYN_MODE_BURST_TYPE_SEQUENTIAL |
EMC_DYN_MODE_BURST_LEN_4,

EMC_DYN_CONFIG_DATA_BUS_32 |
EMC_DYN_CONFIG_LPSDRAM |
EMC_DYN_CONFIG_4Mx32_4BANKS_12ROWS_8COLS |
EMC_DYN_CONFIG_MD_SDRAM
},
{0, 0, 0, 0},
{0, 0, 0, 0},
{0, 0, 0, 0}
}
};
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In board_sysinit.c I have:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;Chip_EMC_Dynamic_Init((IP_EMC_DYN_CONFIG_T *) &amp;amp;MT48LC4M32_config);&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What should I change to boost performance?&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:15:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/emWin-demo-is-too-slow/m-p/515263#M1091</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:15:57Z</dc:date>
    </item>
    <item>
      <title>Re: emWin demo is too slow!</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/emWin-demo-is-too-slow/m-p/515264#M1092</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by giusloq on Thu Feb 05 09:07:40 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Another &lt;/SPAN&gt;&lt;A href="http://https://drive.google.com/file/d/0B4HaZMq4exDiZ1NqT2xnVjU5STQ/view"&gt;video&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;How is it possible that drawing process is so slow? It seems the performance of a low-end microcontroller that drives the TFT through SPI interface!&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:15:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/emWin-demo-is-too-slow/m-p/515264#M1092</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:15:58Z</dc:date>
    </item>
    <item>
      <title>Re: emWin demo is too slow!</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/emWin-demo-is-too-slow/m-p/515265#M1093</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by giusloq on Mon Feb 09 01:50:24 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I have a doubt. Now I'm running code (and booting) from external Quad-SPI on LPC4350. Could be the SPIFI the bottleneck, so the cause of poor performance?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:15:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/emWin-demo-is-too-slow/m-p/515265#M1093</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:15:58Z</dc:date>
    </item>
    <item>
      <title>Re: emWin demo is too slow!</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/emWin-demo-is-too-slow/m-p/515266#M1094</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 Mon Feb 09 09:22:40 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi giusloq,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;What is the speed of SPIFI interface? Are you using S25FL032 QSPI flash?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Are you using SPIFI library?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Can you also try to relocate the functions which are called most of the time? &lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:15:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/emWin-demo-is-too-slow/m-p/515266#M1094</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:15:59Z</dc:date>
    </item>
    <item>
      <title>Re: emWin demo is too slow!</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/emWin-demo-is-too-slow/m-p/515267#M1095</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by giusloq on Mon Feb 09 10:13:44 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;What is the speed of SPIFI interface??&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I checked with oscilloscope and the clock is 40.8MHz (204 / 5). I increase the SPIFI clock frequency to 68MHz (204 / 3), but the perfomance is similar.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt; Are you using S25FL032 QSPI flash&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using MCB4350 from Keil. It's mounted a S25FL032P1...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;Are you using SPIFI library?&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;No, I'm booting directly from Quad-SPI and I don't touch SPIFI peripheral. I started from the project emwin_hello_world in lpcopen_2_12_lpcxpresso_keil_mcb_4357.zip.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Only the SPIFI clock is changed in Board_SetupClocking() in board_sysinit.c.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;Can you also try to relocate the functions which are called most of the time?&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What do you mean with relocate? Are you meaning move in internal SRAM and execute from there? I think I have to copy the code from external QSPI in internal SRAM, but I don't know how to do this. Have you any document or application note?&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:16:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/emWin-demo-is-too-slow/m-p/515267#M1095</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:16:00Z</dc:date>
    </item>
  </channel>
</rss>

