Having some issues when trying to read the Data flash 0 IFR on Kinetis MK22FX512AVLL12, hope someone here can give me a few pointers.
First, the datasheet says that the address for EEPROM Data Set Size is 0x3FD. This have to be put in FTFA_FCCOB1-3, but a footnote says that this needs to be 64 bit aligned, thereby making the [2:0] bits 0. Can someone please try to explain this to me ?
Can't figure out how to enter this address correctly, tried many different ways, but would be better to understand it, rather than just guessing until I get it right.
I've tried to execute the command and the ACCERR flag is set, so it seems like it is attempting to execute, but returning error.
Solved! Go to Solution.
Hi,
The data flash 0 IFR is a 1 Kbyte nonvolatile information memory that can be read and erased, but the user has limited program capabilities in the data flash 0 IFR (see the Program Partition command in Program Partition command, the Erase All Blocks command in Erase All Blocks Command, and the Read Resource command in Read Resource Command). The contents of the data flash 0 IFR are summarized in the following table and further described in the subsequent paragraphs.
The data flash 0 IFR is located within the data flash 0 memory block.
If customer want to read data flash 0 IFR value, please use Read Resource Command.
Flash address [23] is used to select between program flash 0 (=0) and FlexNVM 0 (=1) IFR resources.
For you want to read FlexNVM, the Flash address [23] need be 0b1.
And for EEPROM data set size located at 0x3FD, it need flash address be 64-bit aligned(Flash address [2:0] = 000).
So, the Flash address need to be 0x3F8 with Flash address bit [23] is 0b1.
Wish it helps.
Have a great day,
Ma Hui
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi,
The data flash 0 IFR is a 1 Kbyte nonvolatile information memory that can be read and erased, but the user has limited program capabilities in the data flash 0 IFR (see the Program Partition command in Program Partition command, the Erase All Blocks command in Erase All Blocks Command, and the Read Resource command in Read Resource Command). The contents of the data flash 0 IFR are summarized in the following table and further described in the subsequent paragraphs.
The data flash 0 IFR is located within the data flash 0 memory block.
If customer want to read data flash 0 IFR value, please use Read Resource Command.
Flash address [23] is used to select between program flash 0 (=0) and FlexNVM 0 (=1) IFR resources.
For you want to read FlexNVM, the Flash address [23] need be 0b1.
And for EEPROM data set size located at 0x3FD, it need flash address be 64-bit aligned(Flash address [2:0] = 000).
So, the Flash address need to be 0x3F8 with Flash address bit [23] is 0b1.
Wish it helps.
Have a great day,
Ma Hui
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
There we go! Once you provided the correct aligned address I managed to figure it out, thanks a lot!