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.

TMS570LS TI FEE data are not permanently stored in EEPROM

Other Parts Discussed in Thread: HALCOGEN, TMS570LS3137

Dear experts

I tried on my target TMS570LS3137 the 'example_TI_Fee_Write_Read.c' described in HalCoGen help. The code works correctly, using the 'Memory Browser' I see the data that is written at 0xf020_0000 address (bank 7). When I relaunch the debug, I expect to see at address 0xf020_0000 the same data that I had previously written because these data were written in EEPROM but I read all 0xff. 

In the Debug property 'Flash Setting' I selected 'Selected Sectors Only' and I checked only sectors of the bank 0 and 1. I can not understand, what or who accidentally delete my data?

In following figure you see the data properly written . 

When I relaunch the debug all data are 0xff value, see the following figure.

below the 'Flash Setting'

  

Best Regards,

Davide Battistoli

  • Hi Davide,

    After checking the flash options, please click the button of "Remembering My Setting" to memorize your setting for next launch.

    Regards,

    QJ

  • 'Flash Settings' are set properly, in fact the last Sector to be erased is 11 in Bank 1, see following figure. On the Bank 7 is not performed delete operation. 

  • I rebuilt a new project with the same features and now works correctly. I don't understand what had the old project.  I didn't understand why the old project not works.

    However, I have another problem with EEPROM, I implemented the configuration shown in the manual 'TI FEE Driver User Guide ver 1.8' at paragraph 4.14.3 'Two Virtual Sectors for each EEPROM on four physical sectors - Two EEPROM', as following:

    I have this problem:

      - When I check the errors on the EEP with function 'TI_FeeErrorCode(1)' with index=1, it returns the  'Error_NoActiveVS' error, why?

    I attached screenshot with my comments.

    So, I tried to change in HalCoGen configuration as follows:

    this works correctly, why?

  • Sorry, I have carried out some tests and even with my last proposed configuration it does not work. I tried to write 128-byte blocks on EEP2, starting from 0xf020_8000, when I reach the end of sector 2, the subsequent writings on sector 3 fail. 

    What solution do you propose, if I want to use two EEPROM?

  • I think, I have understood my mistake, after the function 'TI_Fee_WriteSync' my code did not call the 'TI_Fee_GetStatus' because I copied the 'example_TI_Fee_Write_Read.c' in HalCoGen.

    In 'example_TI_Fee_Write_Read.c' after the function 'TI_Fee_WriteSync', the 'TI_Fee_GetStatus' is called only after 'TI_Fee_Read'. So I thought that after the 'TI_Fee_WriteSync' it was not necessary to call the 'TI_Fee_GetStatus'.

    Could you confirm me that it works in this way?

  • Hi David,

    Currently I am using TMS570LS3137. I am trying to save some data in to EEPROM of TMS570LS3137.
    I have read the example from Halcogen about example_TI_Fee_Write_Read.c. Since I newly use TMS570LS3137, I don't really understand how to save my data to EEPROM. As I saw your post above, you already successfully trying the example_TI_Fee_Write_Read.c. Could you teach me How to make it? whether in Halcogen set up & the source code also.

    I will very appreciate your kindly help.

    Best Regards,

    Lukman
  • You need to configure the wait state manually. There is note in the Halcogen FEE setup window.

    Thanks and regards,

    Zhaohong