⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 i2c_edge_conditions

📁 F:worksip2440a board可启动u-boot-like.tar.gz F:worksip2440a board可启动u-boot-like.tar.gz
💻
字号:
I2C Edge Conditions:====================    I2C devices may be left in a write state if a read was occuring    and the CPU was reset. This may result in EEPROM data corruption.    The edge condition is as follows:	1) A read operation begins.	2) I2C controller issues a start command.	3) The I2C writes the device address.	4) The CPU is reset at this point.    Once the CPU reinitializes and the read is tried again:	1) The I2C controller issues a start command.	2) The I2C controller writes the device address.	3) The I2C controller writes the offset.    The EEPROM sees:	1) START	2) device address	3) START "this start is ignored by most EEPROMs"	4) device address "EEPROM interprets this as offset"	5) Offset in device, "EEPROM interprets this as data to write"    The device will interpret this sequence as a WRITE command and    write rubbish into itself, i.e. the "offset" will be interpreted    as data to be written in location "device address".Notes-----!!!THIS IS AN UNDOCUMENTED I2C BUS BUG, NOT A IBM 4xx BUG!!!This reset edge condition could possibly be present in every I2Ccontroller and device available. For boards where a I2C bus resetfunction can be implemented a i2c_init_board() function should beprovided and enabled by #define'ing CFG_I2C_INIT_BOARD in yourboard's config file. Note that this is NOT necessary when using thebit-banging I2C driver (common/soft_i2c.c) as this already includesthe I2C bus reset sequence.Many thanks to Bill Hunter for finding this serious BUG.email to: <williamhunter@attbi.com>Erik Theisen <etheisen@mindspring.com>Tue, 5 Mar 2002 23:02:19 -0500 (Wed 05:02 MET)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -