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.
Hi,
I just started learning to use the EEPROM on the TMS570LS1227 with the FEE, and here are some questions:
1. It seems that the single Virtual Sector size is the max space for user to restore the data, no matter how many sectors there are, right?
2. What's the advantage of using more sectors? extend the flash life and get a faster write/read speed?
3. Respectively for what scenario, the TI_Fee_WriteSync( ) / TI_Fee_WriteAsync( ) is suggested?
I am looking forward your reply, thanks so much!
Hi,
My answers below:
1)Yes, the virtual sector size is the max space for user to store data. TMS570LS1227 has 4 sectors, each with 16KB size. Application can use them as four virtual sectors, each of 16K, or two virtual sectors each of 32K.
2) Configuration of sectors will not extend flash life or change read/write speed. FEE bank has 1000K program/erase cycles. If application configures 4*16K sectors, assuming sector swap happens on every power cycle, it would be approximately 4000K power cycles before FEE bank exhausts it's life. If application configures 2*32K sectors, it would still be approximately 4000K power cycles before FEE bank exhausts it's life.(Assuming same configuration, in second case, sector swap happens every alternate power cycle since the sector size is bigger.)
3)TI_Fee_WriteAsync( ) is suggested to be used during normal application run. TI_Fee_WriteSync( ) is suggested to be used during shutdown phase of the controller, where every thing has to happen synchronously.
Hi,
Minimum number of VS needed for FEE operation are two. Maximum will depend on the device.
For 1227 device, there are 4 physical sectors. Assume, you have configured 4 physical sectors are 4 VS.
In this case, VS1 is first marked as Active. VS2, VS3 and VS4 are marked as Empty. Once VS1 is full, latest copies of data are moved to VS2. Now VS1 is marked as Ready for Erase, VS2 as Active, VS3 and VS4 states are not modified.
Once VS2 is full, latest copies of data are moved to VS3. Now VS2 is marked as Ready for Erase, VS3 as Active, VS1 and VS4 are not modified.
Once VS3 is full, latest copies of data are moved to VS4. Now VS3 is marked as Ready for Erase, VS4 as Active, VS1 and VS2 are not modified. Erasing of sectors VS1, VS2 and VS3 will now happen in background. Once Erase is completed, VS1, VS2 and VS3 are marked as Empty. Now if VS4 is full, data is moved to VS1 and VS4 is marked as Ready for Erase. Above cycle repeats.
I want to know more about the difference between TI_Fee_WriteAsync( ) & TI_Fee_WriteSync( ), I could not get detail information about it, could you deliver more? When should use TI_Fee_WriteAsync( ), and when should use TI_Fee_WriteSync( )?
----------------------------------------------------------------------------------------------------------------------------------------------------------------
This is the only information I got from the post:
3)TI_Fee_WriteAsync( ) is suggested to be used during normal application run. TI_Fee_WriteSync( ) is suggested to be used during shutdown phase of the controller, where every thing has to happen synchronously.
---------------------------------------------------------------------------------------------------------------------------------------------------------------
What operations count against the 1000K program/erase cycles? Is it only when the chip switches virtual sectors? If I have the four sectors configured into two virtual sectors, have 18K worth of data stored, and write four bytes to the FEE, does that count against the program/erase cycle life?
Is there documentation that gives more information on FEE life?