2009-07-28 2 views
7

여기에 대답이 없어서 this이 궁금합니다.Linux에서 I2C 쓰기 확인 폴링

I는 (페이지 (16), 데이터 시트) 장치 (Analog Devices 525x) 매여 봤는데 :

사이클 물품 내부 [EEPROM] 중 I2C 인터페이스를 사용할 수 없습니다. 같이 공정하지 않는 것

"나는 좌석 쿠션 한 리핑을 할 수 있기 때문에 내가 지금 소파를 얻고있다 , 그래서 잠시 동안 사용하지 마십시오." 솔직히 왜 그게 내 문제일까요?

어쨌든, 데이터 시트는 응답 폴링이 대답이라고 제안합니다 - 리눅스 커널을 입력하십시오 ... Linux GPIO 비트 기반 I2C 드라이버가이를위한 메커니즘을 제공합니까? 기본적으로 쓰기 비트가 설정된 주소를 보내고 ACK가 나타날 때까지 계속 수행하십시오.

저는 GPIO 비트 배쉬 드라이버 (2.6.19에서 생각한 것)와 함께 ARM에서 2.6.14를 사용하고 있습니다.

답변

1

하지만

. 적어도 할 수있는 방법은 있습니다. (분명히 어수선한 방법)

나는 당신이 같은 버스에 일반 i2c 장치를 넣지 않아도되기를 바랍니다.

솔직히 하드웨어 공급 업체는 항상 이와 같은 작업을 수행합니다. 그들은 문제가 "당신의 것이되는 한"해결했다고 생각합니다.

나는 깨진 I2C가 많이 보이고 다른 사람들에게는 더 좋게 만들 수 있습니다.

0

이렇게하려면 I2C 시스템의 커널 드라이버를 다시 작성해야 할 것 같은데요?

또한 커널을 업그레이드하고 커널 버전 2.6.14 이후로 어떤 일이 있었는지 확인하십시오. 당신은 아마 당신의 패치에, 만 다른 깃발 I2C_M_NOSTART 같은 프로토콜 수정 플래그를 가지고 볼 필요가있을 것이다

그것은 너무 선반 떨어져 보이지 않는다
+0

플랫폼과 함께 제공되는 독점적 인 것입니다. 모든 불연속적인 변화를 포워딩하는 것은 상당한 노력 일 것입니다. 2.6.14. ++는 합리적으로 행동하므로 여기에 올린 것 이상의 많은 인센티브가 없습니다. – Jamie

관련 문제