This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] TMS570LC4357: FEE Configuration Parameters in HALCOGen

Part Number: TMS570LC4357
Other Parts Discussed in Thread: HALCOGEN,

To generate FEE drivers from Halcogen software I had some questions about the highlighted parameters shown in images below. I read the Technical Reference Manual of TMS570LC4357 but didn't get much details about these parameters.

1. What is "EEPS"? How to decide the value of this parameter?

2. What are "Data Select Bits"? How to decide the value of this parameter?

3. Use of "No. of unconfigured blocks to copy" & How to decide the No. of unconfigured blocks to copy?

4. What is "Number of 8 bytes writes"? How to decide value of this parameter?

5. How to decide "Data Sets" value for particular FEE block index?

6. How to decide "EEP" value for particular FEE block index?

7. What is EEP1 & EEP2? How to decide value of "Virtual Sectors for EEP1"?

  • 1. What is "EEPS"? How to decide the value of this parameter?
    Number of EEPROMs. If all virtual sectors are used by one EEP, set this to 0x1. If virtual sectors are shared between two EEPs, it is set to 2.

    If projects have data blocks which are frequently updated and also have blocks which are not frequently updated, then projects can configure 2 EPPROM’s and use each EEPROM for different set of blocks. One EEPROM can have data blocks which are frequently updated and the other can have data blocks which are not frequently updated.

    2. What are "Data Select Bits"? How to decide the value of this parameter?

    It is number of Data Set which means number of copies of the data block. The Data Set concept is from AutoSAR. If your FEE config is not used in AutoSAR, this parameter can be ignored. 

    3. Use of "No. of unconfigured blocks to copy" & How to decide the No. of unconfigured blocks to copy?

    This parameter is used when a project starts with, let’s say 10 blocks and during development they reduce the blocks to 8. However, if they still want the remaining blocks to be present inside Flash(assume project has already written 10 blocks into Flash), they will have to configure this parameter to more than 2. This parameter can also be used to run two different instances of FEE driver, one owned by boot loader and the other owned by application.

    4. What is "Number of 8 bytes writes"? How to decide value of this parameter?

    This defines the number of 8 byte writes to be done in main function call. If configured to 2, main function writes 16 bytes per call. After the write/read/erase/invalidate asynchronous operation is initiated, the TI_Fee_MainFunction function should be called at regular intervals to finish the operation.

    5. How to decide "Data Sets" value for particular FEE block index?

    See my answer to #2

    6. How to decide "EEP" value for particular FEE block index?

    If you have only one EEPROM (No of EEPS=1), the EEP is always 0 here. If you have 2 EEPROM as mentioned in #1, you need to decide which block is placed in EEPROM 0 and which block is placed in EEPROM 1. Most of the applications use only one EEPROM.

    7. What is EEP1 & EEP2? How to decide value of "Virtual Sectors for EEP1"?

    EEP0 means EEPROM0, and EEP1 means EEPROM1. The Virtual Sectors for EEP1 should be set to 0 if only one EEPROM is used. 

    The Virtual Sector is the basic organizational unit used to partition the EEPROM Emulation Flash Bank. One virtual sector can contain one or more contiguous physical Flash Sectors. A minimum of 2 Virtual Sectors are required to support the TI FEE Driver. TMS570LC43x has 32 physical flash sectors.