카메라에 연결된 Linux를 실행하는 ARM 기반 장치가 있는데 캡처 한 프레임을 효율적으로 HD에 저장하려고합니다.인접한 실제 메모리에서 하드 디스크에 쓰기
- 나는 사용자 공간에서 개발하고 있어요,하지만 난 DMA를 사용하여 메모리에 기록되는 C
- 프레임에서 코딩있어 뜻
- 에서 드라이버를 수정할 수 있습니다, 나는 물리적 메모리 포인터를 가지고있다.
- 나는 모든 프레임 캡처 흐름을 제어 할 수 있어요, 프레임 버퍼가 안정 때 나는
- 리눅스 버전이 나는 커널 소스와 잘 알고 3.0.35
- 입니다합니다 (하는 video4linux 드라이버에서 dqueued) 말할 수
-
: 코드가 아닌 전문가,하지만 난 생각 나는 ... 한 나는 몇 가지 힌트를 얻을, 그것은 내 방법을 찾아 일을 알아낼 수있어
나는이 개 대안이
최적의 구성 찾기 파일 시스템을 열고, 파일을 열고, 파일 시스템에 쓰기위한 것입니다. 나는 ext4와 표준 fopen() fwrite() 함수를 사용하고있다. 나는 또한 mmap을 사용하거나 open()을 호출 할 때 O_DIRECT 플래그를 추가 할 수 있다는 것을 알고 있지만 아직 시도하지는 않았다.
방법 2와 관련해서는 가능한지는 모르겠지만,이 시스템을 처음부터 설계하는 경우라면,이 작업을 수행 할 것입니다.
의견이 있으십니까?
- 에 관한 방법 1 (mmap를 오픈()와 쓰기()() 사용 및/또는 O_DIRECT) 당신은 나의 목적을 위해 최적의 설정을 추천 할 수 있습니까?
- 방법 2 (기존 DMA 버퍼에서 HD로 직접 저장)가 가능합니까? 그렇다면 예를 들어 설명해 주시겠습니까?
제발, 친절하게도 프로세스의 코드 스 니펫을 게시 할 수 있습니까? 나는 정확히 같은 문제가있다. 나는 mmap이 해결책이라는 것을 알았지 만 그것을 사용하는 방법을 이해할 수는 없다. 미리 감사드립니다. – leonp