<?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 FLASH COMPONENT CAN NOT MAKE UPDATES in CodeWarrior for MCU</title>
    <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/FLASH-COMPONENT-CAN-NOT-MAKE-UPDATES/m-p/700352#M14119</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am using CW10.7 and trying selected flash memory update in with the new parameters, however it is not allowing me second and another time after first downloading the code. I am using MKL25Z64VHL4 chip.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to erase or write into user sector FC00 to able erase 1024 bytes but the unit stil staying in ERR_BUSY instead of Flash Idle because DeviceDataPrv-&amp;gt;CurrentOperationStatus = 24.&lt;/P&gt;&lt;P&gt;Is this problem to access to memory address?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;#define SETTINGS_FLASH_ADDR&amp;nbsp;0xFC00&amp;nbsp; /* Reserve memory for settings flash memory location the data will be written to */&lt;BR /&gt;#define ERASE_FLASH_SIZE&amp;nbsp;&amp;nbsp;&amp;nbsp; 0X0400&amp;nbsp;// minimum size section to ERASE&lt;BR /&gt;// Save Data&lt;BR /&gt;void SaveData(void)&lt;BR /&gt;{&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;Error = FLASH1_Erase(DeviceDataPtr, SETTINGS_FLASH_ADDR, ERASE_FLASH_SIZE);&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;do&amp;nbsp;// CHECK OPERATION STATUS&lt;BR /&gt;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FLASH1_Main(MyFLASH_Ptr);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OpStatus = FLASH1_GetOperationStatus(MyFLASH_Ptr);&lt;BR /&gt;&amp;nbsp;} while (!((OpStatus == LDD_FLASH_IDLE) | (OpStatus == LDD_FLASH_FAILED)));&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;DataWrittenFlg = FALSE;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&amp;nbsp;if (OpStatus == LDD_FLASH_FAILED)&lt;BR /&gt;&amp;nbsp;{ /* Check if the operation has successfully ended */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;/* Error state solution */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UError = ERR_ERASE_FLASH_FAILED;&lt;BR /&gt;&amp;nbsp;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;DisplayError();&lt;/DIV&gt;&lt;DIV&gt;......&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;Thank you for assistance.&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Marceli&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 09 Oct 2017 00:00:17 GMT</pubDate>
    <dc:creator>marceli1</dc:creator>
    <dc:date>2017-10-09T00:00:17Z</dc:date>
    <item>
      <title>FLASH COMPONENT CAN NOT MAKE UPDATES</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/FLASH-COMPONENT-CAN-NOT-MAKE-UPDATES/m-p/700352#M14119</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am using CW10.7 and trying selected flash memory update in with the new parameters, however it is not allowing me second and another time after first downloading the code. I am using MKL25Z64VHL4 chip.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to erase or write into user sector FC00 to able erase 1024 bytes but the unit stil staying in ERR_BUSY instead of Flash Idle because DeviceDataPrv-&amp;gt;CurrentOperationStatus = 24.&lt;/P&gt;&lt;P&gt;Is this problem to access to memory address?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;#define SETTINGS_FLASH_ADDR&amp;nbsp;0xFC00&amp;nbsp; /* Reserve memory for settings flash memory location the data will be written to */&lt;BR /&gt;#define ERASE_FLASH_SIZE&amp;nbsp;&amp;nbsp;&amp;nbsp; 0X0400&amp;nbsp;// minimum size section to ERASE&lt;BR /&gt;// Save Data&lt;BR /&gt;void SaveData(void)&lt;BR /&gt;{&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;Error = FLASH1_Erase(DeviceDataPtr, SETTINGS_FLASH_ADDR, ERASE_FLASH_SIZE);&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;do&amp;nbsp;// CHECK OPERATION STATUS&lt;BR /&gt;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FLASH1_Main(MyFLASH_Ptr);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OpStatus = FLASH1_GetOperationStatus(MyFLASH_Ptr);&lt;BR /&gt;&amp;nbsp;} while (!((OpStatus == LDD_FLASH_IDLE) | (OpStatus == LDD_FLASH_FAILED)));&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;DataWrittenFlg = FALSE;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&amp;nbsp;if (OpStatus == LDD_FLASH_FAILED)&lt;BR /&gt;&amp;nbsp;{ /* Check if the operation has successfully ended */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;/* Error state solution */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UError = ERR_ERASE_FLASH_FAILED;&lt;BR /&gt;&amp;nbsp;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;DisplayError();&lt;/DIV&gt;&lt;DIV&gt;......&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;Thank you for assistance.&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Marceli&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Oct 2017 00:00:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/FLASH-COMPONENT-CAN-NOT-MAKE-UPDATES/m-p/700352#M14119</guid>
      <dc:creator>marceli1</dc:creator>
      <dc:date>2017-10-09T00:00:17Z</dc:date>
    </item>
    <item>
      <title>Re: FLASH COMPONENT CAN NOT MAKE UPDATES</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/FLASH-COMPONENT-CAN-NOT-MAKE-UPDATES/m-p/700353#M14120</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have solved myself the problem using Demo FLASH example program. With small necessary changes to routines for checking OpStatus on the end:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV&gt;bool WriteFlash(LDD_TDeviceData *DeviceData, LDD_TData* DataPtr, LDD_FLASH_TAddress FromAddress, LDD_FLASH_TDataSize Size, uint8_t* OpStatus)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; *OpStatus = FALSE;&lt;BR /&gt;&amp;nbsp; Error = FLASH1_Write(DeviceData, DataPtr, FromAddress, Size);&lt;BR /&gt;&amp;nbsp; if (Error) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return FALSE;&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; *OpStatus = FLASH1_GetOperationStatus(DeviceData);&lt;BR /&gt;&amp;nbsp; while(*OpStatus != LDD_FLASH_IDLE); /* Wait while operation done */&lt;BR /&gt;&amp;nbsp; return TRUE;&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;bool EraseFlash(LDD_TDeviceData *DeviceData, LDD_FLASH_TAddress FromAddress, LDD_FLASH_TDataSize Size, uint8_t* OpStatus)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; *OpStatus = FALSE;&lt;BR /&gt;&amp;nbsp; Error = FLASH1_Erase(DeviceData, FromAddress, Size);&lt;BR /&gt;&amp;nbsp; if (Error) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return FALSE;&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; *OpStatus = FLASH1_GetOperationStatus(DeviceData);&lt;BR /&gt;&amp;nbsp; while(*OpStatus != LDD_FLASH_IDLE); /* Wait while operation done */&lt;BR /&gt;&amp;nbsp; return TRUE;&lt;BR /&gt;}&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Oct 2017 01:15:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/FLASH-COMPONENT-CAN-NOT-MAKE-UPDATES/m-p/700353#M14120</guid>
      <dc:creator>marceli1</dc:creator>
      <dc:date>2017-10-11T01:15:01Z</dc:date>
    </item>
    <item>
      <title>Re: FLASH COMPONENT CAN NOT MAKE UPDATES</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/FLASH-COMPONENT-CAN-NOT-MAKE-UPDATES/m-p/700354#M14121</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Marceli,&lt;/P&gt;&lt;P&gt;Thanks for your sharing .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a nice day,&lt;/P&gt;&lt;P&gt;Alice&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Oct 2017 02:35:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/FLASH-COMPONENT-CAN-NOT-MAKE-UPDATES/m-p/700354#M14121</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2017-10-11T02:35:37Z</dc:date>
    </item>
  </channel>
</rss>

