UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 23232

8.1i EDK Sp2 - The iic_v1_01_d IIC master driver produces an extra ack when reading 16 bytes

Description

When reading 16 bytes from an I2C device, the device driver (xiic_master.c in the function XIic_MasterRecv) acknowledges the last byte instead of ignoring the last byte (so the target can release the bus). Consequently, the slave device continues to hold down the SDA line because it is expecting to transmit more data; which causes the bus to be locked.

Solution

This problem has been fixed in the latest EDK 8.1i Service Pack, available at:

http://www.xilinx.com/xlnx/xil_sw_updates_home.jsp
The first service pack containing the fix is EDK 8.1i Service Pack 2.

AR# 23232
Date Created 09/04/2007
Last Updated 12/15/2012
Status Active
Type General Article