<?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: Re: Support for FlexNVM on FTFE driver in MQX Software Solutions</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/Support-for-FlexNVM-on-FTFE-driver/m-p/384036#M12797</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi @&lt;A _jive_internal="true" data-content-finding="Community" data-userid="207558" data-username="RadekS" href="https://community.nxp.com/people/RadekS" style="color: #5e89c1; background-color: #ffffff; border: 0px; font-weight: 200; text-decoration: none; font-size: 1.286rem;"&gt;Radek Sestak&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;Thanks for the source files. Now I am able to access FlexNVM as well as EEEProm on my MK64FX512 board running on MQX-4.2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Expected actions&lt;/STRONG&gt;:&amp;nbsp;&lt;/P&gt;&lt;P&gt;Three blocks of data, assume 500 byte size, to be saved in FlexNVM(1 at the beginning block and the other at the end of the FlexNVM) and EEEPROM. To be able to read these after reboot and update them randomly if there is any change in data.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Current Scenario&lt;/STRONG&gt;:&lt;/P&gt;&lt;P&gt;I am able to access the FlexNVM and EEEPROM. Any data written here is retained during resets/power losses.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Problem&lt;/STRONG&gt;: &amp;nbsp;&lt;/P&gt;&lt;P&gt;Random reads on both sections is not possible. I am able to read both FlexNVM and EEEProm sequentially.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My settings are as follows:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt;" width="727"&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; BSP_INTERNAL_FLASH_BASE&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; BSP_INTERNAL_FLASH_SIZE&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00100000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; BSP_INTERNAL_FLASH_SECTOR_SIZE 0x1000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; &lt;SPAN style="background: silver;"&gt;BSP_INTERNAL_FLEXRAM_BASE&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x14000000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BSP_INTERNAL_FLEXRAM_SIZE 0x00001000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; BSP_INTERNAL_FLEXNVM_BASE&amp;nbsp; (0x10000000)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; BSP_FLEXNVM_SECTOR_SIZE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (0x400)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;//#define BSP_INTERNAL_FLEXNVM_SIZE&amp;nbsp; (0x00020000) //128KB&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;//#define BSP_INTERNAL_FLEXNVM_SIZE&amp;nbsp; (0x00010000) //64KB&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; BSP_INTERNAL_FLEXNVM_SIZE&amp;nbsp; (0x00008000) &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;//32KB&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; &lt;SPAN style="background: silver;"&gt;BSP_EE_DATA_SIZE_CODE&lt;/SPAN&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; (FLEXNVM_EE_SPLIT_1_1 | FLEXNVM_EE_SIZE_1024)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* EESIze = 1024, EESplit = 1/2 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; BSP_FLEXNVM_PART_CODE &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; (FLEXNVM_PART_CODE_DATA64_EE64)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* DEPART setting for 64K Dflash and 64K Eflash */&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Attaching the test code to verify this. Random reads are removed from this code.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is it possible to read random locations and write to random locations on FlexNVM and EEEProm?&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 08 Mar 2018 09:03:49 GMT</pubDate>
    <dc:creator>csmgsarma</dc:creator>
    <dc:date>2018-03-08T09:03:49Z</dc:date>
    <item>
      <title>Support for FlexNVM on FTFE driver</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Support-for-FlexNVM-on-FTFE-driver/m-p/384032#M12793</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;I'm using the MK64FX512 chip and want to use the FlexNVM as d-flash. I wish I could use the MQX flashx driver IO functions to access it, but just realized that the MQX FTFE driver is not ready to deal with FlexNVM memory (only the FTFL driver has support).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, even configuring the flashX parameters on my BSP (banks and addresses) I won't be able to read/write to FlexNVM through flashx driver, right? (I don't want the FlexRAM functionality).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there already some code for this? Any ideas on how can I get this working in a quick way? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;Luiz Fernando&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(before anyone asks, I didn't go for the MK64FN1M0 because it was out of stock on the main suppliers and because it is more expensive)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Feb 2015 17:32:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Support-for-FlexNVM-on-FTFE-driver/m-p/384032#M12793</guid>
      <dc:creator>lfschrickte</dc:creator>
      <dc:date>2015-02-18T17:32:23Z</dc:date>
    </item>
    <item>
      <title>Re: Support for FlexNVM on FTFE driver</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Support-for-FlexNVM-on-FTFE-driver/m-p/384033#M12794</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In attachment you can find modified files for K64 FlexNVM support (based on frdmk64f BSP).&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;Please use it as inspiration.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope it helps you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;RadekS&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, 19 Feb 2015 09:11:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Support-for-FlexNVM-on-FTFE-driver/m-p/384033#M12794</guid>
      <dc:creator>RadekS</dc:creator>
      <dc:date>2015-02-19T09:11:54Z</dc:date>
    </item>
    <item>
      <title>Re: Re: Support for FlexNVM on FTFE driver</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Support-for-FlexNVM-on-FTFE-driver/m-p/384034#M12795</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks RadekS! For sure it served me as nice inspiration!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Indeed there is something missing in your code that I found in this thread: &lt;A href="https://community.nxp.com/message/309546"&gt;Re: K20 FlexNVM with Flashx &lt;/A&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;which was preventing it from work. The FTFE write &lt;STRONG&gt;AND&lt;/STRONG&gt; erase functions require&lt;SPAN style="color: #1f497d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;"&gt; the FlexNVM 32-bit address to be translated to 24-bit address, so the following &lt;SPAN style="color: #1f497d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;"&gt;code is necessary on flash_ftfe.c erase and write sector functions.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New'; color: black;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;/P&gt;&lt;TABLE border="1" class="jiveBorder" style="border: 1px solid rgb(0, 0, 0); width: 100%;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;flash_ftfe.c (insert marked code on ftfe_flash_erase_sector and ftfe_flash_write_sector functions)&lt;/STRONG&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New'; color: black;"&gt;&lt;SPAN style="color: #c0c0c0; font-size: 10pt; font-family: 'Courier New';"&gt;write_addr = (&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #c0c0c0;"&gt;_mem_size&lt;/SPAN&gt;&lt;SPAN style="color: #c0c0c0; font-size: 10pt; font-family: 'Courier New';"&gt;) from_ptr;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New'; color: black;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;STRONG&gt;&lt;SPAN style="line-height: 1.5em;"&gt; &lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5em; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: #7f0055;"&gt;if &lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5em; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: black;"&gt;(write_addr &amp;amp; 0x10000000)&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 10pt; font-family: 'Courier New'; color: black;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; write_addr |= 0x00800000;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P style="font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 1.5em; color: #1f497d; font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 1.5em; color: #1f497d; font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;I've not tested the FlexRAM+EEPROM functionality (after a lot of tests I realized that most of the sample code you supplied is not needed for FlexNVM D-flash usage&amp;nbsp; only, but I kept it in my installation for the future).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 1.5em; color: #1f497d; font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 1.5em; color: #1f497d; font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;I've also seen something that I can't quite understand in your code, also in the flash_ftfe.c file:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 1.5em; color: #1f497d; font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="1" class="jiveBorder" style="border: 1px solid rgb(0, 0, 0); width: 100%;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;flash_ftfe.c FLASHX_BLOCK_INFO_STRUCT&lt;/STRONG&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;const FLASHX_BLOCK_INFO_STRUCT _flashx_kinetisX_block_map[] = {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { BSP_INTERNAL_FLASH_SIZE / BSP_INTERNAL_FLASH_SECTOR_SIZE / 2, (uint32_t) BSP_INTERNAL_FLASH_BASE, BSP_INTERNAL_FLASH_SECTOR_SIZE },&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { BSP_INTERNAL_FLASH_SIZE / BSP_INTERNAL_FLASH_SECTOR_SIZE / 2, (uint32_t) BSP_INTERNAL_FLASH_BASE, BSP_INTERNAL_FLASH_SECTOR_SIZE },&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { BSP_INTERNAL_FLASH_SIZE / BSP_INTERNAL_FLASH_SECTOR_SIZE, (uint32_t) __FLASHX_START_ADDR, BSP_INTERNAL_FLASH_SECTOR_SIZE }, // D-Flash blocks&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { 1, (uint32_t) BSP_INTERNAL_FLEXRAM_BASE, BSP_INTERNAL_FLEXRAM_SIZE },&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { 0, 0, 0 }&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;SPAN style="line-height: 1.5em; color: #1f497d; font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Why two blocks defined to begin in the same place and with the same size in the internal flash?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In my code I've kept MQX defaults and configured two blocks in the internal flash. (from beginning to half and from half to end). I don't also undestand why two blocks on MQX as theoretically there is only one flash block on internal flash. I found contraditory information about this issue along Freescale documents.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So my FLASHX_BLOCK_INFO_STRUCT was configured as this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="1" class="jiveBorder" style="border: 1px solid rgb(0, 0, 0); width: 100%;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;My FLASHX_BLOCK_INFO_STRUCT&lt;/STRONG&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;const FLASHX_BLOCK_INFO_STRUCT _flashx_kinetisX_block_map[] = {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { BSP_INTERNAL_FLASH_SIZE / BSP_INTERNAL_FLASH_SECTOR_SIZE / 2, (uint32_t) BSP_INTERNAL_FLASH_BASE,&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; BSP_INTERNAL_FLASH_SECTOR_SIZE },&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { BSP_INTERNAL_FLASH_SIZE / BSP_INTERNAL_FLASH_SECTOR_SIZE / 2, (uint32_t) BSP_INTERNAL_FLASH_BASE + 1 * BSP_INTERNAL_FLASH_SIZE / 2, BSP_INTERNAL_FLASH_SECTOR_SIZE },&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; { BSP_INTERNAL_FLEXNVM_SIZE / BSP_INTERNAL_FLASH_SECTOR_SIZE, (uint32_t) BSP_INTERNAL_FLEXNVM_BASE, BSP_INTERNAL_FLASH_SECTOR_SIZE },&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { 0, 0, 0 }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;SPAN style="line-height: 1.5em; color: #1f497d; font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 1.5em; color: #1f497d; font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;And it looks like it is working fine!&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 1.5em; color: #1f497d; font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 1.5em; color: #1f497d; font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;Thank you again!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 1.5em; color: #1f497d; font-size: 13px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;Luiz Fernando&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Feb 2015 17:13:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Support-for-FlexNVM-on-FTFE-driver/m-p/384034#M12795</guid>
      <dc:creator>lfschrickte</dc:creator>
      <dc:date>2015-02-19T17:13:40Z</dc:date>
    </item>
    <item>
      <title>Re: Re: Support for FlexNVM on FTFE driver</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Support-for-FlexNVM-on-FTFE-driver/m-p/384035#M12796</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As I said, attached document was indeed for your inspiration.&lt;/P&gt;&lt;P&gt;It was created on request from customer, but I don’t have any board with MK64FX chip. Therefore I was not able test it on real MCU.&lt;/P&gt;&lt;P&gt;You are right, code could contain some issues and I would like to thank you for sharing modifications with us.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am glad that it works now.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope it helps you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;RadekS&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, 20 Feb 2015 13:27:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Support-for-FlexNVM-on-FTFE-driver/m-p/384035#M12796</guid>
      <dc:creator>RadekS</dc:creator>
      <dc:date>2015-02-20T13:27:55Z</dc:date>
    </item>
    <item>
      <title>Re: Re: Support for FlexNVM on FTFE driver</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Support-for-FlexNVM-on-FTFE-driver/m-p/384036#M12797</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi @&lt;A _jive_internal="true" data-content-finding="Community" data-userid="207558" data-username="RadekS" href="https://community.nxp.com/people/RadekS" style="color: #5e89c1; background-color: #ffffff; border: 0px; font-weight: 200; text-decoration: none; font-size: 1.286rem;"&gt;Radek Sestak&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;Thanks for the source files. Now I am able to access FlexNVM as well as EEEProm on my MK64FX512 board running on MQX-4.2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Expected actions&lt;/STRONG&gt;:&amp;nbsp;&lt;/P&gt;&lt;P&gt;Three blocks of data, assume 500 byte size, to be saved in FlexNVM(1 at the beginning block and the other at the end of the FlexNVM) and EEEPROM. To be able to read these after reboot and update them randomly if there is any change in data.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Current Scenario&lt;/STRONG&gt;:&lt;/P&gt;&lt;P&gt;I am able to access the FlexNVM and EEEPROM. Any data written here is retained during resets/power losses.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Problem&lt;/STRONG&gt;: &amp;nbsp;&lt;/P&gt;&lt;P&gt;Random reads on both sections is not possible. I am able to read both FlexNVM and EEEProm sequentially.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My settings are as follows:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt;" width="727"&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; BSP_INTERNAL_FLASH_BASE&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; BSP_INTERNAL_FLASH_SIZE&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00100000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; BSP_INTERNAL_FLASH_SECTOR_SIZE 0x1000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; &lt;SPAN style="background: silver;"&gt;BSP_INTERNAL_FLEXRAM_BASE&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x14000000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BSP_INTERNAL_FLEXRAM_SIZE 0x00001000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; BSP_INTERNAL_FLEXNVM_BASE&amp;nbsp; (0x10000000)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; BSP_FLEXNVM_SECTOR_SIZE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (0x400)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;//#define BSP_INTERNAL_FLEXNVM_SIZE&amp;nbsp; (0x00020000) //128KB&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;//#define BSP_INTERNAL_FLEXNVM_SIZE&amp;nbsp; (0x00010000) //64KB&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; BSP_INTERNAL_FLEXNVM_SIZE&amp;nbsp; (0x00008000) &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;//32KB&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; &lt;SPAN style="background: silver;"&gt;BSP_EE_DATA_SIZE_CODE&lt;/SPAN&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; (FLEXNVM_EE_SPLIT_1_1 | FLEXNVM_EE_SIZE_1024)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* EESIze = 1024, EESplit = 1/2 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;#define&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; BSP_FLEXNVM_PART_CODE &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; (FLEXNVM_PART_CODE_DATA64_EE64)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* DEPART setting for 64K Dflash and 64K Eflash */&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Attaching the test code to verify this. Random reads are removed from this code.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is it possible to read random locations and write to random locations on FlexNVM and EEEProm?&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Mar 2018 09:03:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Support-for-FlexNVM-on-FTFE-driver/m-p/384036#M12797</guid>
      <dc:creator>csmgsarma</dc:creator>
      <dc:date>2018-03-08T09:03:49Z</dc:date>
    </item>
    <item>
      <title>Re: Support for FlexNVM on FTFE driver</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Support-for-FlexNVM-on-FTFE-driver/m-p/384037#M12798</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi CSMG Sarma,&lt;/P&gt;&lt;P&gt;Unfortunately, I do not support MQX for last three years. Therefore, I am not sure whether I am able to help you correctly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/danielchen@fsl"&gt;danielchen@fsl&lt;/A&gt; , could you please look at this update instead of me?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Radek&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Mar 2018 09:50:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Support-for-FlexNVM-on-FTFE-driver/m-p/384037#M12798</guid>
      <dc:creator>RadekS</dc:creator>
      <dc:date>2018-03-08T09:50:01Z</dc:date>
    </item>
    <item>
      <title>Re: Support for FlexNVM on FTFE driver</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Support-for-FlexNVM-on-FTFE-driver/m-p/384038#M12799</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&amp;nbsp; &lt;SPAN class=""&gt;&lt;A _jive_internal="true" class="" data-content-finding="Community" data-userid="290836" data-username="csmgsarma" href="https://community.nxp.com/people/csmgsarma"&gt;CSMG Sarma&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please be kindly noted that&lt;/P&gt;&lt;P&gt;Simultaneous data flash operations and FlexRAM writes, when FlexRAM is used for EEE, are not possible&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Mar 2018 08:23:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Support-for-FlexNVM-on-FTFE-driver/m-p/384038#M12799</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2018-03-09T08:23:13Z</dc:date>
    </item>
  </channel>
</rss>

