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.

66AK2G12: EEPROM device usability in 66AK2G12 Evaluation Board

Part Number: 66AK2G12

Hi,

I am using the evaluation board for 66AK2G12 from TI.

In one of the example projects for I2C EEPROM, I can see that data is actually not written into the EEPROM device.

In the code I can see the comment

/* EEPROM not programmed on K2 EVMs, copy rx data to eepromData so it can pass the test */

So could you please verify and confirm whether the EEPROM device on the 66AK2G12 evaluation board can be used to write and read data.

 

With Regards,

Krishna.

  • Hi,

    From EVM user guide:

    The Atmel AT24CM01 provides 1Mb of Serial Electrically-Erasable and Programmable Read-Only
    Memory (SEEPROM). This is interfaced to I2C0 port of the processor as shown in Figure 15. The device
    address is set by the two address pins A1 and A2 that are connected to ground to give a 7-bit address
    0x50. The Write protect pin of the EEPROM is connected to a GPIO of the BMC.

    I tested the I2C_BasicExample_evmK2G_armExampleProject, the address = 0x50 is correct. txBuf is 0x80FF, after the I2C transfer, the rxBuffer is 0xfffffffffff. So I don't think you can use the code to test EEPROM, as the code commented.

    Regards, Eric

  • Hi,

    I found another EEPROM test case from board diagnostics: C:\ti\pdk_k2g_1_0_15\packages\ti\board\diag\eeprom

    User guide:  

    To build it: 

    c:\ti\processor_sdk_rtos_k2g_6_01_00_08>setupenv.bat

    c:\ti\pdk_k2g_1_0_15\packages\ti\board\diag>gmake evmK2G_sd

    My test log: 

    So, at least the I2C can send command to EEPROM and read back board info. You can look at the code how this is done: 

    C:\ti\pdk_k2g_1_0_15\packages\ti\board\diag\eeprom\src\eeprom_test.c, this called 

    int eeprom_test()
    {
    int ret = 0;
    int i;
    Board_IDInfo eepromInfo;
    Board_STATUS stat;
    uint32_t *header;

    UART_printf("\n*********************************************\n");
    UART_printf ("* EEPROM Test *\n");
    UART_printf ("*********************************************\n");

    stat = Board_getIDInfo(&eepromInfo);

    Board_getIDInfo(&eepromInfo) is implemented inside C:\ti\pdk_k2g_1_0_15\packages\ti\board\src\evmK2G\evmK2G_info.c. This should enable you to do some EEPROM test via I2C.

    Regards, Eric

  • Hi Eric,

    Thanks for the reply. The example code is used to read data from the EEPROM which we tried and it worked good with no issues. 
    So we found that we can't read from EEPROM immediately after writing to it. 

    Finally we found that the issue was the write time(tWR) that is required by the EEPROM IC to write the data and be ready to accept the next I2C R/W command. 

    The Microchip IC AT24CM01, needs 5mS after a write command that we issue to write the data to its internal memory register and to be ready to accept the next I2C command.

    The issue was solved by introducing a delay after the write command. 

    Thanks for the help Eric and you can close this ticket as solved.

    With Regards,
    Krishna