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.

IND-COMMS-SDK: Writing to Vendor Info space in EtherCAT EEPROM.

Part Number: IND-COMMS-SDK
Other Parts Discussed in Thread: AM2432

Tool/software:

Hello,

I am using:

  • AM2432 on custom HW
  • ind_comms_sdk_am243x_09_02_00_24
    • with FW Version 6.5.54 for the EtherCAT conroller on the ICSSG1
    • custom project based on ethercat_slave_beckhoff_ssc_demo

I am trying to write via EtherCAT (TwinCAT) to the vendor info spcae in EEPROM (word offset 0x0020). See  ETG2010. Following picture is from ETG2010:

Unfortunately this does not work. It is possible to write to other spaces of the eeprom, e.g. writing serial number (word offset 0x000E).

From debugging it seems to have the following behavior:

  • EEPROM content from TwinCAT written to the slave over EtherCAT is initially stored in the ICSSG1 memory at ESC_EEPROM_DATA_OFFSET (0x0508).
  • Beckhoff SSC reads it from there to the internal eeprom buffer.
  • This happens in file ecatappl.c
  • At the word offset for e.g. HW Version (0x0021) always 0x0000 is returned, even if this value was changed by TwinCAT.

So, does the ESC Firmware in ICSSG1 maybe intentionally block access to the vendor info space starting at word offset 0x0020?

Because one way to make it work is:

  • Program the EEPROM directly over I2C with the desired data.
  • Now after booting the AM243x with EtherCAT application, the modified vendor space is read to the EEPROM buffer in R5 as intended and the e.g. modified hardware version is displayed in TwinCAT as intended.

Thank you for your support.

Kind regards,

Martin