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/AM5728: How can i program the EEPROM ID MEMORY

Part Number: AM5728

Tool/software: Code Composer Studio

I had make a custom board reffered the design of evmAM5728, and i want use the example which designed for evmAM5728. So, how can i program the EEPROM ID MEMORY

  • We provide API for programming the board ID in the board library that is part of the Processor SDK RTOS package.  Please refer to the API(Board_writeIDInfo) in the  file  pdk_am57xx_1_0_xx\packages\ti\board\src\evmAM572x\evmAM572x_info.c

    There is also a A15 based bare-metal test code in the diagnostics to read back BoardID  in the EEPROM using  Board_readIDInfo API and then to confirm that the information was programmed correctly. The diagnostics test case for EEPROM is found here:

    pdk_am57xx_1_0_xx\packages\ti\board\diag\eeprom

    Note: If this is a custom board on which you have not brought up DDR yet, then you may need to modify the .cmd files under common folder so code can execute from onchip OCRAM memory.

    If you are ARM Linux OS user and want instructions to do the same using uboot, please refer to the E2E post discussion here:

    https://e2e.ti.com/support/processors/f/791/t/723129

    Hope this helps.

    Regards,

    Rahul

  • Thanks for your reply.
    I have add the code fillowing to write the EEPROM, but it didn't work. Could you help me?

    Board_IDInfo boardInfoo;
    strcpy(boardInfoo.header,"0xEE3355AA");
    strcpy(boardInfoo.boardName,"AM572PM_");
    strcpy(boardInfoo.version,"A.3A");
    strcpy(boardInfoo.serialNum,"04194P550001");
    Board_writeIDInfo(&boardInfoo);
  • Your working on a custom board and not on the TI EVM so before you try to use the API, please check the EEPROM is connected to the address. On the EVM, the EEPROM is setup on I2C instance 0 and Address 0x50. This is set using the configuration in board_cfg.h file in the board library located at pdk_am57xx_1_0_xx\packages\ti\board\src\evmAM572x\include

    If that matches with your board design, please indicate how are you determine that the EEPROM was not programmed? Did you try to read back the EEPROM. The information that you are writing to the EEPROM appears to be correct so it would have to be some issue with your I2C configuration that causes this issue.
  • I had tested it on the EVM, but the data didn't change. Are there other set that need me to do.
  • I can read the content of the EEPROM, and the retunrn value of Board_writeIDInfo is 0 which represent the write succesed.And following lines is the uart print when i use the SBL project to write the EEPROM

    *** PDK SBL ****
    SBL Revision: 01.00.09.02 (Jan 23 2019 - 10:22:06)
    Begin parsing user application
    boardInfo.header=猆3?
    boardInfo.boardName=AM572PM_
    boardInfo.version=A.3A
    boardInfo.serialNum=02174P551595
    fuzhijieshu
    shuaxiejieshu
    boardInfo.header=猆3?
    boardInfo.boardName=AM572PM_
    boardInfo.version=A.3A
    boardInfo.serialNum=02174P551595

    SD Boot - File open fails
    Jumping to user application...
  • there are some problems in the function and i have corrected it. thank you.