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.

TMS570LS1227 FEE read data from virtual sector with TI_Fee_ReadSync

Other Parts Discussed in Thread: TMS570LS1227

Hi, during test FEE,I set two virtual sectors and only one block on virtural 1.And I can write data to the Flash,and verify by debug tool Memory View ,all the data is ok.

like below,the write API is :

TI_Fee_WriteAsync(1,*wrbuf)

I set block size as 24 bytes ,data select bits as 0,and number of 8 bytes write as 3

After I succeed write the data, I want to read the data back,so I use 

TI_Fee_ReadSync (1,0,*rdbuf,24)

But I read  data always is the data I write last,which mean I can not read the data I write at the first or the second,only the last one

So I want to know how to read all the other data back?

 write

  • The purpose of the FEE is to allow non-volatile storage of data without having to do an erase of the entire sector each time some data changes. Each block only has a current value. When you write a new value to a block, the old value is marked invalid and the read functions always return the last value written. If you have different data that you want stored, you need to have additional blocks.
  • Thanks for you help
    As I use tms570ls1227 blank 7 for error information storage,thus I can know what happen during system fault.
    As you say,in order to storage 1000 time fualt,I have to set 1000 block, is this right?
  • If you want to be able to read all 1000 fault conditions, yes. If you only store fault conditions, and never erase them you may be better off not using the FEE. How many bytes in each fault condition? The FEE has a block overhead (default 24 bytes) which would not allow 1,000 blocks in a single sector.
  • I will take your advice into consideration,thanks!