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
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.
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
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:
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