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.

CCS/TMS570LS3137: TMS570LS3137 - can not read value of EEPROM

Part Number: TMS570LS3137
Other Parts Discussed in Thread: HALCOGEN

Tool/software: Code Composer Studio

Dear sir,

i referred to the solution for Reading data into EEPROM. Link is here.

https://e2e.ti.com/support/microcontrollers/hercules/f/312/p/561564/2057055#pi320098filter=all&pi320098scroll=false In this link i am not able to understand the how to change the 32 bit register address. because in this example, 0xF0200002 address is coming for the Bank 7 only.  during debugging if i go memory browser than 0xF0200002 location read pointer value by default it have to store. can you just help me out on this...

  • Hello Krunal,

    Many applications require storing small quantities of system related data (e.g., calibration values, device configuration) in a non-volatile memory, so that it can be used, modified or reused even after power cycling the system. EEPROMs are primarily used for this purpose. EEPROMs have the ability to erase and write individual bytes of memory many times over and the programmed locations retain the data over a long period even when the system is powered down.

    We provide the FEE (EEPROM) driver in HALCoGen. The FEE driver provides the following functions (API) services:

    Initialization:

    • TI_Fee_Init  

    Operations:

    • TI_Fee_WriteAsync
    • TI_Fee_WriteSync
    • TI_Fee_Read
    • TI_Fee_EraseImmediateBlock
    • TI_Fee_InvalidateBlock
    • TI_Fee_Shutdown  
    • TI_Fee_Cancel
    • TI_Fee_Format

    etc

    The address in flash API is 32-word aligned (0x00, 0x04, 0x08, ...), otherwise you will get an error.

     

  • I have enable FEE driver in CCS In Reference to the above code shared in link, Which address location has been erased. Which API is used for writing data into particular location?
  • 7331.example_TI_Fee_Write_Read.c

    I have question regarding example code you have given in Halcogen. In TI_Fee_WriteAsync() API, There is no writing Adrress location specified. Than How can we read from address location. So can you just Help me out from problem? or If you have any code snippet, than Share with us.

    Thank you and Regards

    Krunal Desai

  • Hi Krunal,

    FEE has different operating algorithm from the flash. It write data and read the data back using the block number. The block structure is defined before FEE read/write. It doesn't not use the address.

    6825.TI FEE User Guide.pdf

  • Dear sir,
    you are right. but in previous link code I can read and write at particular address. But in example code from block number wise we have to check read and writing process. for my application , I want Write data at EEPROM location and than Read that from the location. which is working in previous code. I am asking you that Previous document code is not for EEPRPOM? Thank you
    Regards,
    Krunal Desai
  • Hi Krunal,

    You want to use Bank7 as regular flash rather than EEPROM. If you use it as regular flash, the FEE drivers are not needed, you can use F021 flash API to erase and program the sectors in Bank7. You can write a value to a specific address, and read it back through the address.

    The address has to be 32-bit word address: 0x..0, 0x...4, 0x...8, 0x...C.

    Please refer to the bl_flash.c in TI bootloader.