Цитата(Renik @ Jan 29 2008, 10:33)

C i2c работаю через i2c-dev драйвер linux (i2c-at91.c). Плата на базе at91rm9200.
Подключал к выводам TWI eeprom(AT24C02) и самодельный девайс.
Я пытаюсь записывать в eeprom. Через некоторое время(может несколько секунд проработать а может и полчаса) драйвер возвращает ошибку connection timeout.
При этом линия данных падает в 0.
Если после этого twi в процессоре перезагрузть(записать в SWRST 1) и перенастроить, то линия данных восстанавливается и обмен можно продолжать до следующего глюка.
Без linux twi работает стабильно.
Никто не встречался с подобным?
Не знаю как на 9200, а вот на 9260 встречался. Стандартный драйвер вообще отказался что-либо говорить по I2C... написал свой. Нужен был RTC, ETC, Термодатчики... ввсего было 4 устройства... проблем хватило если честно...
Причем были проблемы такого рода что даже приходилось процедуру получения времени писать полностью в друг за другом идущих пачках причем без вызова промежуточных функций... Т.е. не было send_byte/read_byte, а пришлось прямо запихать в такойто регистр то-то, тут же отправить, прочитать ответ и т.д... иначе не получилось...