<?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: Writing flash memory with KL27Z256 in Kinetis Software Development Kit</title>
    <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Writing-flash-memory-with-KL27Z256/m-p/409602#M1815</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Paolo Colombo:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In your configuration the Program Flash size is incorrect, it should be &lt;STRONG&gt;0x00040000&lt;/STRONG&gt; instead of 0xFFFFFFFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To resolve the reset problem, try enabling the ESFC bit as instructed by colleague Jennie Zhang in her document:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/docs/DOC-103951"&gt;Using ESFC bit - Flash programming routines in Cotex M0+ kinetis MCU&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just add this line of code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MCM_PLACR |= MCM_PLACR_ESFC_MASK;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Refer to the attached code for an example, which erases and writes data to the last sector in block 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know if the problem persists.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Regards!,&lt;BR /&gt;Jorge Gonzalez&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>Fri, 19 Jun 2015 02:23:42 GMT</pubDate>
    <dc:creator>Jorge_Gonzalez</dc:creator>
    <dc:date>2015-06-19T02:23:42Z</dc:date>
    <item>
      <title>Writing flash memory with KL27Z256</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Writing-flash-memory-with-KL27Z256/m-p/409601#M1814</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, to all!&lt;/P&gt;&lt;P&gt;&lt;SPAN class="hps"&gt;I have a problem&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;with&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;my card&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;realized&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;with &lt;SPAN class="hps"&gt;KL27Z256&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;SPAN class="hps"&gt;using&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;flash memory&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;for storing&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;parameters&lt;/SPAN&gt;. &lt;SPAN class="hps atn"&gt;(&lt;/SPAN&gt;KDS &lt;SPAN class="hps"&gt;Mainline&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;SDK&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;3.0.0&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;+&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;1.2.0&lt;/SPAN&gt;)&lt;/P&gt;&lt;P&gt;&lt;SPAN class="hps"&gt;I followed&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;the&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;demo&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;attached&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;to the package&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;SDK&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;1.2.0&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;Mainline&lt;/SPAN&gt;, &lt;SPAN class="hps"&gt;made&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;for&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;KL24Z64&lt;/SPAN&gt;.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="hps"&gt;For several&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;days&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;I'm working&lt;/SPAN&gt;, &lt;SPAN class="hps"&gt;but I managed to&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;write&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;and delete&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;only&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;addresses&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;equal&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;to or greater than&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;0x20000&lt;/SPAN&gt;, &lt;SPAN class="hps"&gt;in the second block&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;of&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;flash&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;then&lt;/SPAN&gt;.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="hps"&gt;I&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;need to&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;be able to use&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;an address&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;in the first&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;128K&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;and&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;here&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;the problems begin&lt;/SPAN&gt;, &lt;SPAN class="hps"&gt;because&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;in&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;this case&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;the processor&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;reset&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;continuously&lt;/SPAN&gt;, &lt;SPAN class="hps"&gt;and&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;the&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;write / erase&lt;/SPAN&gt; are &lt;SPAN class="hps"&gt;unsuccessful&lt;/SPAN&gt;.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="hps"&gt;I note that&lt;/SPAN&gt;, &lt;SPAN class="hps"&gt;as indicated by the&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;demo&lt;/SPAN&gt;, &lt;SPAN class="hps"&gt;I copied&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;in&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;the&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;ram&lt;/SPAN&gt; &lt;SPAN class="hps atn"&gt;"&lt;/SPAN&gt;CommandSequence" &lt;SPAN class="hps"&gt;and&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;the&lt;/SPAN&gt; &lt;SPAN class="hps atn"&gt;"&lt;/SPAN&gt;CallBack" &lt;SPAN class="hps"&gt;(which is&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;empty&lt;/SPAN&gt;).&lt;/P&gt;&lt;P&gt;&lt;SPAN class="hps"&gt;I enclose&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;lines of code&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;involved&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;and&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;screen&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;component&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;inspector&lt;/SPAN&gt;.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void&lt;BR /&gt;Store_Param(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&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; &lt;BR /&gt;StartFlashAddr = K_StartFlashAddr;&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;&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; // 0x20000&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; &lt;BR /&gt;Size = K_SectorSize;&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;&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;&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; // 0x0400&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&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; &lt;BR /&gt;flash1_InitConfig0.CallBack = (PCALLBACK)RelocateFunction((uint32_t)__ram_for_callback , CALLBACK_SIZE , (uint32_t)flash1_Callback);&lt;/P&gt;&lt;P&gt;MyCommandSequence&amp;nbsp; = (pFLASHCOMMANDSEQUENCE)RelocateFunction((uint32_t)__ram_func , LAUNCH_CMD_SIZE, (uint32_t)FlashCommandSequence);&lt;/P&gt;&lt;P&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; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret = FlashEraseSector(&amp;amp;flash1_InitConfig0, StartFlashAddr, Size, MyCommandSequence);&lt;/P&gt;&lt;P&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; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ParamSet.Cks = Calc_CKS((byte *)&amp;amp;ParamSet, sizeof(ParamSet) - 1);&lt;/P&gt;&lt;P&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; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Size = sizeof(ParamSet);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret = FlashProgram(&amp;amp;flash1_InitConfig0, StartFlashAddr, Size, (byte*)&amp;amp;ParamSet, MyCommandSequence);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; f_To_Save = FALSE;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&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; // Store_Param&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-ansi-language: IT; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: IT; mso-bidi-language: AR-SA;"&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-ansi-language: IT; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: IT; mso-bidi-language: AR-SA;"&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'Calibri','sans-serif'; font-size: 11pt; mso-ansi-language: IT; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: IT; mso-bidi-language: AR-SA;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="39411_39411.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/120401i420393BD619E615E/image-size/large?v=v2&amp;amp;px=999" role="button" title="39411_39411.png" alt="39411_39411.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_0.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/37595iB9DD8CD734128411/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_0.png" alt="pastedImage_0.png" /&gt;&lt;/span&gt;&lt;BR /&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Jun 2015 07:27:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Writing-flash-memory-with-KL27Z256/m-p/409601#M1814</guid>
      <dc:creator>paolocolombo</dc:creator>
      <dc:date>2015-06-18T07:27:30Z</dc:date>
    </item>
    <item>
      <title>Re: Writing flash memory with KL27Z256</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Writing-flash-memory-with-KL27Z256/m-p/409602#M1815</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Paolo Colombo:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In your configuration the Program Flash size is incorrect, it should be &lt;STRONG&gt;0x00040000&lt;/STRONG&gt; instead of 0xFFFFFFFF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To resolve the reset problem, try enabling the ESFC bit as instructed by colleague Jennie Zhang in her document:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/docs/DOC-103951"&gt;Using ESFC bit - Flash programming routines in Cotex M0+ kinetis MCU&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just add this line of code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MCM_PLACR |= MCM_PLACR_ESFC_MASK;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Refer to the attached code for an example, which erases and writes data to the last sector in block 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know if the problem persists.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Regards!,&lt;BR /&gt;Jorge Gonzalez&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>Fri, 19 Jun 2015 02:23:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Writing-flash-memory-with-KL27Z256/m-p/409602#M1815</guid>
      <dc:creator>Jorge_Gonzalez</dc:creator>
      <dc:date>2015-06-19T02:23:42Z</dc:date>
    </item>
    <item>
      <title>Re: Writing flash memory with KL27Z256</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Writing-flash-memory-with-KL27Z256/m-p/409603#M1816</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN class="hps"&gt;Congratulations&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;!!!&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;I solved&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;this problem immediately&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;!!!&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN class="hps"&gt;The problem&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;was right&lt;/SPAN&gt;:&lt;/P&gt;&lt;P&gt;MCM_PLACR |= MCM_PLACR_ESFC_MASK;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="hps"&gt;Thank you very much&lt;/SPAN&gt;, &lt;SPAN class="hps"&gt;you are a&lt;/SPAN&gt; &lt;SPAN class="hps"&gt;magician&lt;/SPAN&gt;!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Jun 2015 07:27:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/Writing-flash-memory-with-KL27Z256/m-p/409603#M1816</guid>
      <dc:creator>paolocolombo</dc:creator>
      <dc:date>2015-06-19T07:27:29Z</dc:date>
    </item>
  </channel>
</rss>

