NOTICE: The Processors Wiki will End-of-Life in December of 2020. It is recommended to download any files or other content you may need that are hosted on The site is now set to read only.


From Texas Instruments Wiki
Jump to: navigation, search


TI FEE(Flash EEPROM Emulation) is a software driver used to read/write/erase data in embedded Flash memory based on TI's 65nm Flash process (F021). This driver emulates serial EEPROM on existing Flash memory. TI FEE uses F021 Flash API Library to perform required actions on Flash. For TI FEE to work correctly, projects should use F021 Flash API, version 2.0.0 or greater (


API's to Write, Read, Erase, Format on EEPROM bank of F021 Flash.



  • Requires F021 v2.0.0 or later version
  • HALCoGen 3.05.00 Release or later version


  • TMS570x/RMx

Configuration using HALCoGen

HALCoGen GUI can be used to generate configuration for TI FEE. Following are details steps to create & configure a new configuration using HALCoGen.

Step 1: Enable FEE Driver

FEE New App 1.png

Step 2: Configuring General FEE items

FEE General Config.png

Step 3: Configuring FEE Blocks

In HALCOGen, it is possible to only configure 16 blocks. If project needs more blocks, add manually. Do not forget to change the macro TI_FEE_NUMBER_OF_BLOCKS in ti_fee_cfg.h.

FEE Block Config.png

Step 4: Configuring FEE Virtual Sectors

FEE Virtual Sector Config.png

Step 5: Generate the code

Step 6: Create CCS project

Step 7: Include Corresponding F021 library and necessary include files from F021.

Step 8: Build the project and flash the software

Recommended Application Usage of FEE Driver

  2. Call TI_Fee_Mainfunction() once in 2 to 10 millisecond periodically.
  3. Classify FEE data Blocks based on Data criticality and the Rate of update and use TWO EEPROM approach.
  4. Have a Backup of FEE Data in Main Flash memory incase of missed block recovery

Release History

Version Release   Date Additions/Modifications/Deletions
1.0.1 11-Dec-2012 First version
1.0.9 17-May-2013 Changes after internal testing
1.13.00 15-Feb-2014 Support for RM devices. Production Release.
1.17.02 16-Feb-2015 FLEE errata fix for SPNZ215A.Applicable for TMS570LS04xx, RM42x, TMS570LC43xx, RM57x, TMS570LS07xx, TMS570LS09xx, TMS570LS05xx, RM44Lx devices.
1.18.02 03-Mar-2016 Bugfix for "If sector copy operation is interrupted, during next initialization, FEE does not read the block offset address correctly". This problem is reported on TMS570LS07xx device but is also applicable for other devices.It is recommended to update FEE driver software to this version, if projects are using older versions.
1.19.01 14-Oct-2016 CRC wording changed Checksum since driver uses checksum algorithm.

Bug fix for "If FEE used a partially erased sector, FEE can read from unimplemented memory location. Code changes done to not to use a partially erased sector. Option “Check EEPROM Address Range” is removed from HALCoGen GUI. Address range will always be checked during read/write." Synchronous Write API updated to not to copy the block which is already copied. Format API modified to erase all configured sectors, if multiple sectors are combined to form a larger virtual sector. TI_FeeInternal_FeeManager modified to update block copy status of unconfigured blocks correctly. TI_FeeInternal_UpdateBlockOffsetArray modified to update write addresses correctly, if FEE did not find a valid write address. TI_FeeInternal_WriteDataF021 API updated for LE MCU’s for updating correct ECC.