<?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 Core lockup reset when erase a flash sector in KE02 in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Core-lockup-reset-when-erase-a-flash-sector-in-KE02/m-p/349661#M17164</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When I try to erase a flash sector in MKE02Z64VLD4,the core lockup reset is occured(the LOCKUP bit in SIM-&amp;gt;SRSID is set).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the FTMRH registers config as:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;FTMRH-&amp;gt;FCLKDIV = 0x0f;&lt;/TD&gt;&lt;TD&gt;//15.6~16.6MHz&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;FTMRH-&amp;gt;FCNFG = 0x00;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;FTMRH-&amp;gt;FERCNFG = 0x00;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and the following functions for erasing a flash sector:&lt;/P&gt;&lt;P&gt;bool FlashPreCheck(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; if((FTMRH-&amp;gt;FCLKDIV &amp;amp; FTMRH_FCLKDIV_FDIV_MASK) != 0x0f){&lt;/P&gt;&lt;P&gt;&amp;nbsp; if((FTMRH-&amp;gt;FCLKDIV &amp;amp; FTMRH_FCLKDIV_FDIVLCK_MASK) != 0){&lt;/P&gt;&lt;P&gt;&amp;nbsp; NVIC_SystemReset();&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; else{&lt;/P&gt;&lt;P&gt;&amp;nbsp; if((FTMRH-&amp;gt;FSTAT &amp;amp; FTMRH_FSTAT_CCIF_MASK) != 0){&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FCLKDIV = 0x0f;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; return FALSE;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; if((FTMRH-&amp;gt;FSTAT &amp;amp; FTMRH_FSTAT_CCIF_MASK) == 0){&lt;/P&gt;&lt;P&gt;&amp;nbsp; return FALSE;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; if((FTMRH-&amp;gt;FSTAT &amp;amp; FTMRH_FSTAT_ACCERR_MASK) != 0){&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FSTAT |= FTMRH_FSTAT_ACCERR_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; if((FTMRH-&amp;gt;FSTAT &amp;amp; FTMRH_FSTAT_FPVIOL_MASK) != 0){&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FSTAT |= FTMRH_FSTAT_FPVIOL_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; __disable_irq();&lt;/P&gt;&lt;P&gt;&amp;nbsp; WDOG-&amp;gt;CNT = 0x02A6;&lt;/P&gt;&lt;P&gt;&amp;nbsp; WDOG-&amp;gt;CNT = 0x80B4;&lt;/P&gt;&lt;P&gt;&amp;nbsp; __enable_irq();&lt;/P&gt;&lt;P&gt;&amp;nbsp; return TRUE;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bool FlashEraseSector(u32 addr)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; u32 saddr;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(!FlashPreCheck())return FALSE;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; saddr = addr;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; __disable_irq();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FCCOBIX = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FCCOBHI = 0x0a;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FCCOBLO = (u8)(saddr &amp;gt;&amp;gt; 16);&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FCCOBIX = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FCCOBHI = (u8)(saddr &amp;gt;&amp;gt; 8);&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FCCOBLO = (u8)(saddr &amp;gt;&amp;gt; 0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FSTAT |= FTMRH_FSTAT_CCIF_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; while((FTMRH-&amp;gt;FSTAT &amp;amp; FTMRH_FSTAT_CCIF_MASK) == 0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; __enable_irq();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if((FTMRH-&amp;gt;FSTAT &amp;amp; FTMRH_FSTAT_MGSTAT_MASK) != 0)return FALSE;&lt;/P&gt;&lt;P&gt;&amp;nbsp; return TRUE;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;Is anyone can help me?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 09 Sep 2014 08:49:47 GMT</pubDate>
    <dc:creator>raysss</dc:creator>
    <dc:date>2014-09-09T08:49:47Z</dc:date>
    <item>
      <title>Core lockup reset when erase a flash sector in KE02</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Core-lockup-reset-when-erase-a-flash-sector-in-KE02/m-p/349661#M17164</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When I try to erase a flash sector in MKE02Z64VLD4,the core lockup reset is occured(the LOCKUP bit in SIM-&amp;gt;SRSID is set).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the FTMRH registers config as:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;FTMRH-&amp;gt;FCLKDIV = 0x0f;&lt;/TD&gt;&lt;TD&gt;//15.6~16.6MHz&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;FTMRH-&amp;gt;FCNFG = 0x00;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;FTMRH-&amp;gt;FERCNFG = 0x00;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and the following functions for erasing a flash sector:&lt;/P&gt;&lt;P&gt;bool FlashPreCheck(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; if((FTMRH-&amp;gt;FCLKDIV &amp;amp; FTMRH_FCLKDIV_FDIV_MASK) != 0x0f){&lt;/P&gt;&lt;P&gt;&amp;nbsp; if((FTMRH-&amp;gt;FCLKDIV &amp;amp; FTMRH_FCLKDIV_FDIVLCK_MASK) != 0){&lt;/P&gt;&lt;P&gt;&amp;nbsp; NVIC_SystemReset();&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; else{&lt;/P&gt;&lt;P&gt;&amp;nbsp; if((FTMRH-&amp;gt;FSTAT &amp;amp; FTMRH_FSTAT_CCIF_MASK) != 0){&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FCLKDIV = 0x0f;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; return FALSE;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; if((FTMRH-&amp;gt;FSTAT &amp;amp; FTMRH_FSTAT_CCIF_MASK) == 0){&lt;/P&gt;&lt;P&gt;&amp;nbsp; return FALSE;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; if((FTMRH-&amp;gt;FSTAT &amp;amp; FTMRH_FSTAT_ACCERR_MASK) != 0){&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FSTAT |= FTMRH_FSTAT_ACCERR_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; if((FTMRH-&amp;gt;FSTAT &amp;amp; FTMRH_FSTAT_FPVIOL_MASK) != 0){&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FSTAT |= FTMRH_FSTAT_FPVIOL_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; __disable_irq();&lt;/P&gt;&lt;P&gt;&amp;nbsp; WDOG-&amp;gt;CNT = 0x02A6;&lt;/P&gt;&lt;P&gt;&amp;nbsp; WDOG-&amp;gt;CNT = 0x80B4;&lt;/P&gt;&lt;P&gt;&amp;nbsp; __enable_irq();&lt;/P&gt;&lt;P&gt;&amp;nbsp; return TRUE;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bool FlashEraseSector(u32 addr)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; u32 saddr;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if(!FlashPreCheck())return FALSE;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; saddr = addr;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; __disable_irq();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FCCOBIX = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FCCOBHI = 0x0a;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FCCOBLO = (u8)(saddr &amp;gt;&amp;gt; 16);&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FCCOBIX = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FCCOBHI = (u8)(saddr &amp;gt;&amp;gt; 8);&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FCCOBLO = (u8)(saddr &amp;gt;&amp;gt; 0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; FTMRH-&amp;gt;FSTAT |= FTMRH_FSTAT_CCIF_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; while((FTMRH-&amp;gt;FSTAT &amp;amp; FTMRH_FSTAT_CCIF_MASK) == 0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; __enable_irq();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if((FTMRH-&amp;gt;FSTAT &amp;amp; FTMRH_FSTAT_MGSTAT_MASK) != 0)return FALSE;&lt;/P&gt;&lt;P&gt;&amp;nbsp; return TRUE;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;Is anyone can help me?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Sep 2014 08:49:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Core-lockup-reset-when-erase-a-flash-sector-in-KE02/m-p/349661#M17164</guid>
      <dc:creator>raysss</dc:creator>
      <dc:date>2014-09-09T08:49:47Z</dc:date>
    </item>
    <item>
      <title>Re: Core lockup reset when erase a flash sector in KE02</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Core-lockup-reset-when-erase-a-flash-sector-in-KE02/m-p/349662#M17165</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Lei yue,&lt;/P&gt;&lt;P&gt;I'd like to suggest that you could refer to the Flash demo from the sample code of the FRDMKE02Z board at first.&lt;/P&gt;&lt;P&gt;In the Flash demo, there're a lot of flash operation functions, so please refer to it for details and download the sample code through the link as below.&lt;/P&gt;&lt;P&gt;If you have any other questions, please feel free to contact with me.&lt;/P&gt;&lt;P&gt;The link of the sample code:&lt;/P&gt;&lt;P&gt;cache.freescale.com/files/32bit/software/KE02-SC.zip&lt;BR /&gt;Have a great day,&lt;BR /&gt;Ping&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, 11 Sep 2014 08:28:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Core-lockup-reset-when-erase-a-flash-sector-in-KE02/m-p/349662#M17165</guid>
      <dc:creator>jeremyzhou</dc:creator>
      <dc:date>2014-09-11T08:28:30Z</dc:date>
    </item>
  </channel>
</rss>

