SD 카드에 일정한 속도로 jpeg 이미지를 쓰는 작은 응용 프로그램을 작성 중입니다. EXT3 파일 시스템을 선택했지만 EXT2 파일 시스템에서도 동일한 문제가 발생했습니다.SD 카드 쓰기 성능
내 쓰기 루프는 다음과 같습니다
get_image()
fwrite()
fsync()
또는 같은
:get_image()
fopen()
fwrite()
fsync()
fclose()
나는 또한 약간의 타이밍 통계를 표시, 나는 내 프로그램이 언젠가 몇 초 동안 차단됩니다 볼 수 있습니다. 들어오는 이미지를 FIFO에 보관하면 짧은 시간 안에 많은 이미지를 쓸 것이기 때문에 평균 속도는 여전히 좋습니다. OS에 문제가 있거나 SD 카드 자체와 관련이 있는지 알고 있습니까? 어떻게 실시간에 가까워 질 수 있습니까? 나는 강하게 실시간을 필요로하지 않지만 몇 초 동안 실속당하는 것은 받아 들일 수 없다.
일부 정밀도 : 예 이미지를 디스크 또는 일부 사용자 또는 커널 버퍼가 아니기 때문에 모든 파일 다음에 fsync를 수행해야합니다. 동기화가 없으면 훨씬 더 좋은 통행량을 가지지 만 여전히 받아 들일 수없는 실속입니다. 첫 번째 스톨은 50MB가 작성된 후에 발생하기 때문에 버퍼 문제는 아니라고 생각합니다. 맨 페이지에 따르면, fsync는 버퍼링 된 데이터가없는 것을 보장하기 위해 여기에 있습니다.
평균 쓰기 속도에 대한 정밀도 : 사용중인 카드에서 지속 가능한 속도로 쓰고 있습니다. fsync가 완료되기를 기다리는 동안 들어오는 이미지를 쌓아두면이 정지 후에 쓰기 전송 속도가 증가하고 평균 속도로 빠르게 되돌아갑니다. 평균 전송 속도는 약 1.4MBytes/s입니다.
SYSTEME 증권 KEE (2.6.24.19) 나는이 지역에서 매우 지식이 아니에요
pleaes 참조 JFFS주의 등이 자신의웨어 레벨링을 같은 컴팩트 플래시와 같은 일부 플래시 장치에 대한 좋은 생각이 아니다. – Hasturkun
그들은 나쁜 생각입니까, 아니면 CompactFlash 착용 레벨링이 JFFS의 장점을 부정하는 것입니까? 정직한 질문입니다. 잘 모르겠습니다. 확실히 '원시'플래시 장치에 더 나은 선택이라고 생각합니다. –