µTasker Forum

µTasker Forum => NXPTM M522XX, KINETIS and i.MX RT => Topic started by: tdrobnak on March 03, 2020, 02:54:19 PM

Title: uTasker FlexNVM Simulator support
Post by: tdrobnak on March 03, 2020, 02:54:19 PM
Does anyone know if uTasker supports FlexNVM for EEPROM emulation?  NXP has two application notes on the subject:

I have looked through uTasker 1.4.12 and found no driver for FlexNVM so I added the necessary driver code from the NXP SDK 2.7.0 flexnvm_eeprom.c example.  I now have access to EEPROM emulation using FlexNVM when run on the hardware.  When I run on the uTasker simulator, I receive exceptions on access to the registers that control FlexNVM partitioning and status.  Has anyone else run into this situation?  Is there a way to work around it?

Thank you.
Title: Re: uTasker FlexNVM Simulator support
Post by: mark on March 03, 2020, 08:23:04 PM
Hi

By adding
    #define KINETIS_FLEX                                                 // part with flex memory
    #define SIZE_OF_FLEXFLASH   (32 * 1024)                              // 32k Flex

there is support for D-Flash but only for use as linear storage (eg. for parameter system or file system)

I was never very motivated by the EEPROM emulation features that can be configured since it is usually quite easy to do the same thing in P-flash (which all chips have and is therefore compatible) or D-flash (which is in essentially P-flash in a different memory area).
EEPROM emulation spreads smaller amounts of data across larger amounts of memory in order to be able to increase the overall write/erase limits to the range of traditional EEPROMs.

For this reason I never added EEPROM emulation based on FlexNVM, but if you send me the file that you use I will take a look into supporting emulation of it. It will essentially require catching the writes made and interpreting them in order to maintain a block of memory of the configured size and update its content accordingly. The full details about how the sectors are swapped aroud is probably not that relevant for a simulation that just needs to update the 'visible' content (as if it were EEPROM, or RAM).

Regards

Mark

P.S. i didn't realsise the KE1XF has FlexNVM before...
Title: Re: uTasker FlexNVM Simulator support
Post by: tdrobnak on March 05, 2020, 03:12:45 PM
Thank you, Mark for the explanation and offer to add emulation support for EEPROM emulation of FlexNVM.  When I get to a stopping point on my present task with this application, I will send you a file that provides FlexNVM EEPROM emulation support to uTasker in the hardware.

Tom