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.

TMDSIDK437X: EtherCAT EEPROM and FLASH usage

Part Number: TMDSIDK437X

Dear e2e Community,

We are currently working with the TMDSIDK437X Industrial Development Kit for the development of an EtherCAT Slave application and have the following questions:

- On the board there is an I2C EEPROM (CAT24C256) where the board version, the serial number and some board configuration codes are stored.  Moreover, the EEPROM is also used by the EtherCAT application to store Slave configuration data.

If we develop a custom board with the AM437x chip is this EEPROM required to store the above mentioned board (e.g Ethernet MAC addresses) and EtherCAT slave configuration data (using the AM437x chip)?

- The board has also a SPI NOR flash memory (MX66L51235FMI) where the program, to be loaded at boot, can be stored. We would like to use the part of the memory not containing the program as non-volatile data storage:

- Is it possible to do this without altering the already stored program?

- If so, how can we find out the start and size of this "free-memory" part?

Thank you and best Regards,

Samuele

  • Samuele,

    The I2C EEPROM (CAT24C256) contains the board version, the serial number and some board configuration codes as you described, but the EtherCAT doesn't really use this EEPROM to store slave configuration data, instead, the SPI NOR flash (MX66L51235FMI) you listed is used.

    Yes, you can use the remained NOR flash for your application as non-volatile data storage.
    EtherCAT uses the following NOR memory:
    1. MLO (bootloader), start from 0x0
    2. app, start from 0x20000
    These files are in binary format. Their sizes are printed by flash write tool as well

    EEPROM for slave configuration flashed by EtherCAT application app, starts from 0x100000 and has fixed size 2KB, see tiesc_soc.h

    /* EEPROM data offset in SPI/QSPI Flash */
    #define SPI_EEPROM_DATA_OFFSET 0x100000

    Regards,
    Garrett

  • Hi Garret,

    First thanks for the quick response.

    The answer you posted regarding the EtherCAT usage of the EEPROM is a little bit confusing to me. At the beginning you state that the configuration data is stored in the SPI flash while, later on, you write "EEPROM for slave configuration ...". Moreover the comment in the code snipped you cite states "/* EEPROM data ... ". So I have a follow up question:

    Can a custom board with an AM437x chip, with design based on the TMDSIDK437X (removing components that are not useful for our application), be used for an EtherCAT application without the I2C EEPROM or is it a necessary component?

    Best Regards,

    Samuele
  • Hi Samuele,

    The EEPROM I meant and commented in the code is not the physical EEPROM attached to I2C. You can just read it as a EtherCAT slave information memory. We use the 'EEPROM' term to align with general EtherCAT slave design.

    Yes, a custom board with an AM437x can be used for an EtherCAT application without I2C EEPROM which is not a necessary component.

    Regards,
    Garrett