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.

RTOS/TMDXIDK5728: Board ID programming

Part Number: TMDXIDK5728

Tool/software: TI-RTOS

Hi,

We would like to use same board ID mechanism for as IDK5728.

I'd appreciate any example for onboard programming of i2c, Software or /and via JTAG.

Thanks

Rasty

  • The RTOS team have been notified. They will respond here.
  • Rasty,

    There are two ways to do this on the TI IDK platform, either using uboot or using board library API from EEPROM diagnostics both of which are described below:

    Uboot mechanism:

    Refer to document attached for commands to read and write board ID to EEPROM:

    Changing ID in Uboot.docx

    Using Diagnositcs:

    We provide EEPROM diagnostics in the board package at location:

    pdk_am57xx_1_0_xx\packages\ti\board\diag\eeprom\src

    the test application currently, Reads the EEPROM using API Board_getIDInfo and prints out the board's ID information. Passes on successful I2C reads. This assumes that the EEPROM is programmed prior in order for a correct read.

    To program the Board ID prior to the read, you can use the Board_writeIDInfo and pass the info structure, that you want to program in the EEPROM.  The Board library APIs for this functionality are defined in the file:

    pdk_am57xx_1_0_xx\packages\ti\board\src\idkAM572x\idkAM572x_info.c

    the details of the Board ID structure are defined in the file board_cfg.h. I am copying them here for your reference:

    /* EEPROM board ID information */
    #define BOARD_EEPROM_HEADER_LENGTH 4
    #define BOARD_EEPROM_BOARD_NAME_LENGTH 8
    #define BOARD_EEPROM_VERSION_LENGTH 4
    #define BOARD_EEPROM_SERIAL_NO_LENGTH 12
    #define BOARD_EEPROM_MACADDR_LENGTH (6U)
    #define BOARD_EEPROM_HEADER_ADDR 0
    #define BOARD_EEPROM_BOARD_NAME_ADDR (BOARD_EEPROM_HEADER_ADDR + BOARD_EEPROM_HEADER_LENGTH)
    #define BOARD_EEPROM_VERSION_ADDR (BOARD_EEPROM_BOARD_NAME_ADDR + BOARD_EEPROM_BOARD_NAME_LENGTH)
    #define BOARD_EEPROM_SERIAL_NO_ADDR (BOARD_EEPROM_VERSION_ADDR + BOARD_EEPROM_VERSION_LENGTH)
    #define BOARD_EEPROM_MACADDR_ADDR (60U)

    Hope this helps.

    Regards,

    Rahul