기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
Device Driver를 설계 할 때...(probe함수에 대해서)
제가 eeprom i2c 드라이버를 만들엇 초기 probe단계에서 과도하게 eeprom의 데이터를 i2c로 읽었더니..
잼있는 현상들이 일어다더군여...제가 만든 eepro드라이버가 부팅시에 불려지면서 probe단계에서 과도하게 읽게 되면
부팅이 아주 늦게 되던가 아니면 시스템이 먼가 모르게 엉망이 되는 것 같았습니다.
왜? 이런 문제들이 발생할까요? 혹시 부팅중에 probe함수에서는 과도하게 i2c등을 사용하면 안 되는 것인가여/
어디에도 이런 이야기는 없네여 ㅠㅠ; 혹시 고수님들의 조언 또는 자료가 될 만한 것들이 있다면,,,알려주시면 감사하겠습니다.
I2C 자체가 속도가 빠른 방식은 아니죠.
I2C는 probe 뿐만 아니라, 어디에서건 짧은시간에 과도하게 access를 하면 문제가 생기는 것 같습니다.
커널이 panic 나버린다던지, 데이터가 꼬인다던지....
여러 루틴이 동시에 access 하는건 무조건 안되구요(mutex 같은걸로 막으셔야 함),
동시 접근이 아닐지라도 약간의 시간차는 두시는게 좋습니다.