<?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: LPC1225 and PLL problem in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1225-and-PLL-problem/m-p/589727#M28757</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by krzysztofciesluk on Fri Sep 21 00:54:03 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;The firs order was in a system_LPC122x.c file in example project. Is it&amp;nbsp; recommended order or is it only example way of doing it? Is my order safety? Or maybe it is not know how the UC will act with this order of setting the PLL?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 21:27:06 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T21:27:06Z</dc:date>
    <item>
      <title>LPC1225 and PLL problem</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1225-and-PLL-problem/m-p/589726#M28756</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by krzysztofciesluk on Thu Sep 20 01:57:51 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have lpc1225 and System Oscillator 14,7456 MHz.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I enable 2 cycle reads for high frequency operation&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_FLASHCTRL-&amp;gt;FLASHCFG = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_SYSCON-&amp;gt;PRESETCTRL &amp;amp;= ~(1&amp;lt;&amp;lt;15);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Wait 200us for OSC to be stablized, no status indication, dummy wait. */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for (i = 0; i &amp;lt; 200; i++) __NOP();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;next I set System oscillator as PLL input&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_SYSPLLCLKSEL = PLL_CLK_SEL_SYS_OSC;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_SYSPLLCLKUEN |= PLL_CLK_ENA_UPDATE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_SYSPLLCLKUEN &amp;amp;= ~PLL_CLK_ENA_UPDATE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_SYSPLLCLKUEN |= PLL_CLK_ENA_UPDATE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while (!(REG_SYSCON_SYSPLLCLKUEN &amp;amp; PLL_CLK_ENA_UPDATE));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for (i = 0; i &amp;lt; 200; i++) __NOP();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;next I set M = 3 and P = 2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;F(CLKOUT) = 44,2368 MHz = (3 * 14,7456&amp;nbsp; MHz) = (176.9472 MHz / (2 * 2))&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_SYSPLLCTRL = (1&amp;lt;&amp;lt;5) |(2&amp;lt;&amp;lt;0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_PDRUNCFG &amp;amp;= ~PDRUNCFG_SYSPLL_PD;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while (!(REG_SYSCON_SYSPLLSTAT &amp;amp; PLL_LOCK));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for (i = 0; i &amp;lt; 200; i++) __NOP();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;now I select main clock = pll output&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_MAINCLKSEL = MAIN_CLK_SEL_PLL_OUT;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_MAINCLKUEN |= MAIN_CLK_UPDATE_ENA;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_MAINCLKUEN &amp;amp;= ~MAIN_CLK_UPDATE_ENA;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_MAINCLKUEN |= MAIN_CLK_UPDATE_ENA;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while (!(REG_SYSCON_MAINCLKUEN &amp;amp; MAIN_CLK_UPDATE_ENA));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for (i = 0; i &amp;lt; 200; i++) __NOP();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And it don't work. I get HardFault or MEM error.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But when i Power-up SYSPLL at the begining of code (after set 2 cycle read) it work&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_FLASHCTRL-&amp;gt;FLASHCFG = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_SYSCON-&amp;gt;PRESETCTRL &amp;amp;= ~(1&amp;lt;&amp;lt;15);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for (i = 0; i &amp;lt; 200; i++) __NOP();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_PDRUNCFG &amp;amp;= ~PDRUNCFG_SYSPLL_PD;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while (!(REG_SYSCON_SYSPLLSTAT &amp;amp; PLL_LOCK));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_SYSPLLCLKSEL = PLL_CLK_SEL_SYS_OSC;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_SYSPLLCLKUEN |= PLL_CLK_ENA_UPDATE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_SYSPLLCLKUEN &amp;amp;= ~PLL_CLK_ENA_UPDATE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_SYSPLLCLKUEN |= PLL_CLK_ENA_UPDATE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while (!(REG_SYSCON_SYSPLLCLKUEN &amp;amp; PLL_CLK_ENA_UPDATE));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for (i = 0; i &amp;lt; 200; i++) __NOP();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_SYSPLLCTRL = (1&amp;lt;&amp;lt;5) |(2&amp;lt;&amp;lt;0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while (!(REG_SYSCON_SYSPLLSTAT &amp;amp; PLL_LOCK));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for (i = 0; i &amp;lt; 200; i++) __NOP();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_MAINCLKSEL = MAIN_CLK_SEL_PLL_OUT;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_MAINCLKUEN |= MAIN_CLK_UPDATE_ENA;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_MAINCLKUEN &amp;amp;= ~MAIN_CLK_UPDATE_ENA;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;REG_SYSCON_MAINCLKUEN |= MAIN_CLK_UPDATE_ENA;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while (!(REG_SYSCON_MAINCLKUEN &amp;amp; MAIN_CLK_UPDATE_ENA));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for (i = 0; i &amp;lt; 200; i++) __NOP();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is it ok to use that order? Or is it possible that on some board on my desk it will work but on another 100 devices it will not work correct?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 21:27:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1225-and-PLL-problem/m-p/589726#M28756</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T21:27:05Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1225 and PLL problem</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1225-and-PLL-problem/m-p/589727#M28757</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by krzysztofciesluk on Fri Sep 21 00:54:03 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;The firs order was in a system_LPC122x.c file in example project. Is it&amp;nbsp; recommended order or is it only example way of doing it? Is my order safety? Or maybe it is not know how the UC will act with this order of setting the PLL?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 21:27:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1225-and-PLL-problem/m-p/589727#M28757</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T21:27:06Z</dc:date>
    </item>
  </channel>
</rss>

