<?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: LPC812: Flash access cycles</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC812-Flash-access-cycles/m-p/678453#M27273</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Karthik venkatesh,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; I think our lpc812 code can answer your questions clearly:&lt;/P&gt;&lt;P&gt;typedef enum {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;FLASHTIM_20MHZ_CPU = 0,&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;&amp;nbsp;/*!&amp;lt; Flash accesses use 1 CPU clocks. Use for up to 20 MHz CPU clock*/&lt;/STRONG&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;FLASHTIM_30MHZ_CPU = 1, &amp;nbsp;&lt;STRONG&gt;&amp;nbsp; &amp;nbsp;/*!&amp;lt; Flash accesses use 2 CPU clocks. Use for up to 30 MHz CPU clock*/&lt;/STRONG&gt;&lt;BR /&gt;} FMC_FLASHTIM_T;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/**&lt;BR /&gt;&amp;nbsp;* @brief&amp;nbsp;&amp;nbsp; &amp;nbsp;Set FLASH memory access time in clocks&lt;BR /&gt;&amp;nbsp;* @param&amp;nbsp;&amp;nbsp; &amp;nbsp;clks&amp;nbsp;&amp;nbsp; &amp;nbsp;: Clock cycles for FLASH access&lt;BR /&gt;&amp;nbsp;* @return&amp;nbsp;&amp;nbsp; &amp;nbsp;Nothing&lt;BR /&gt;&amp;nbsp;* @note&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;STRONG&gt;For CPU speed up to 20MHz, use a value of 0. For up to 30MHz, use&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;a value of 1&lt;/STRONG&gt;&lt;BR /&gt;&amp;nbsp;*/&lt;BR /&gt;STATIC INLINE void Chip_FMC_SetFLASHAccess(FMC_FLASHTIM_T clks)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;uint32_t tmp = LPC_FMC-&amp;gt;FLASHCFG &amp;amp; (~((0x3)|FMC_FLASHCFG_RESERVED));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Don't alter upper bits */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LPC_FMC-&amp;gt;FLASHCFG = tmp | clks;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You just need to know, when the cpu clock is below20Mhz, you can use FLASHTIM =0, when the clock is up 20Mhz, and below 30Mhz, you need to use the FLASHTIM=1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wish it helps you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 18 May 2017 08:59:24 GMT</pubDate>
    <dc:creator>kerryzhou</dc:creator>
    <dc:date>2017-05-18T08:59:24Z</dc:date>
    <item>
      <title>LPC812: Flash access cycles</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC812-Flash-access-cycles/m-p/678452#M27272</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is an option in LPC812 to select the number of System clock cycles taken for accessing Flash memory. We can select 1 cycle or 2 cycles.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/17865i64C3E6C8CFFF7340/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;My question is, why we are given this option ? Is it just a simple feature that lets us work on two different speeds or is there any specific reason for this option ? Why not 3 cycles or 4 cycles ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 13 May 2017 00:24:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC812-Flash-access-cycles/m-p/678452#M27272</guid>
      <dc:creator>karthikvenkates</dc:creator>
      <dc:date>2017-05-13T00:24:52Z</dc:date>
    </item>
    <item>
      <title>Re: LPC812: Flash access cycles</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC812-Flash-access-cycles/m-p/678453#M27273</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Karthik venkatesh,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; I think our lpc812 code can answer your questions clearly:&lt;/P&gt;&lt;P&gt;typedef enum {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;FLASHTIM_20MHZ_CPU = 0,&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;&amp;nbsp;/*!&amp;lt; Flash accesses use 1 CPU clocks. Use for up to 20 MHz CPU clock*/&lt;/STRONG&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;FLASHTIM_30MHZ_CPU = 1, &amp;nbsp;&lt;STRONG&gt;&amp;nbsp; &amp;nbsp;/*!&amp;lt; Flash accesses use 2 CPU clocks. Use for up to 30 MHz CPU clock*/&lt;/STRONG&gt;&lt;BR /&gt;} FMC_FLASHTIM_T;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/**&lt;BR /&gt;&amp;nbsp;* @brief&amp;nbsp;&amp;nbsp; &amp;nbsp;Set FLASH memory access time in clocks&lt;BR /&gt;&amp;nbsp;* @param&amp;nbsp;&amp;nbsp; &amp;nbsp;clks&amp;nbsp;&amp;nbsp; &amp;nbsp;: Clock cycles for FLASH access&lt;BR /&gt;&amp;nbsp;* @return&amp;nbsp;&amp;nbsp; &amp;nbsp;Nothing&lt;BR /&gt;&amp;nbsp;* @note&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;STRONG&gt;For CPU speed up to 20MHz, use a value of 0. For up to 30MHz, use&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;a value of 1&lt;/STRONG&gt;&lt;BR /&gt;&amp;nbsp;*/&lt;BR /&gt;STATIC INLINE void Chip_FMC_SetFLASHAccess(FMC_FLASHTIM_T clks)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;uint32_t tmp = LPC_FMC-&amp;gt;FLASHCFG &amp;amp; (~((0x3)|FMC_FLASHCFG_RESERVED));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Don't alter upper bits */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LPC_FMC-&amp;gt;FLASHCFG = tmp | clks;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You just need to know, when the cpu clock is below20Mhz, you can use FLASHTIM =0, when the clock is up 20Mhz, and below 30Mhz, you need to use the FLASHTIM=1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wish it helps you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 May 2017 08:59:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC812-Flash-access-cycles/m-p/678453#M27273</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2017-05-18T08:59:24Z</dc:date>
    </item>
  </channel>
</rss>

