Tool/software:
Hi,
Reference : mcu_plus_sdk_am64x_10_01_00_32 and using I2C example for read write verification and in particular
using the file i2c_memory_read.c to modify the BYTE_COUNT to be 513 (from original of 10 count)
Also to modify the txBuffer[count] = (unit8_t)(count % 256); // wrap around to 0 when count = 256
Add debug log for txBuffer :
DebugP_log("Write [I2C] Data at address 0x%x : 0x%x \r\n", (i2cEepromMemAddr + count), txBuffer[count]);
In the Read section the debug log is kept the same :
DebugP_log("Read [I2C] Data at address 0x%x : 0x%x \r\n", (i2cEepromMemAddr + count), rxBuffer[count]);
Here is the output of WRITE:
Write [I2C] Data at address 0x400 : 0x0
Write [I2C] Data at address 0x401 : 0x1
Write [I2C] Data at address 0x402 : 0x2
......
Write [I2C] Data at address 0x4fe : 0xfe
Write [I2C] Data at address 0x4ff : 0xff
Write [I2C] Data at address 0x500 : 0x0
Write [I2C] Data at address 0x501 : 0x1
Write [I2C] Data at address 0x502 : 0x2
......
Write [I2C] Data at address 0x5fe : 0xfe
Write [I2C] Data at address 0x5ff : 0xff
Write [I2C] Data at address 0x600 : 0x0
And the output of READ:
Read [I2C] Data at address 0x400 : 0x0
Read [I2C] Data at address 0x401 : 0x1
Read [I2C] Data at address 0x402 : 0x2
Read [I2C] Data at address 0x403 : 0x3
Read [I2C] Data at address 0x404 : 0x4
......
Read [I2C] Data at address 0x4fd : 0xfd
Read [I2C] Data at address 0x4fe : 0xfe
Read [I2C] Data at address 0x4ff : 0xff
Read [I2C] Data at address 0x500 : 0xff
Read [I2C] Data at address 0x501 : 0xff
Read [I2C] Data at address 0x502 : 0xff
......
Read [I2C] Data at address 0x5fd : 0xff
Read [I2C] Data at address 0x5fe : 0xff
Read [I2C] Data at address 0x5ff : 0xff
Read [I2C] Data at address 0x600 : 0xff
The question is why the read of more than 256 bytes it became all 0xFF ???