기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

 

안녕하십니까?

device node의 명칭은 개발자 마음이지만, 일반적으로(관례적으로) 많이 사용되는 driver 경우는 정해져 있습니다.

Frame buffer의 경우는 /dev/fbX와 같이 말이죠…

 

V4L2의 경우는 frame buffer나 ALSA처럼 일반적으로 많이 사용되는 driver ( or kernel subsystem or layer)입니다.

그럼에도 불구하고, device node는 frame buffer나 ALSA처럼 고정적으로 정해져 있지는 않는 것 같습니다.

어떤 board(BSP)에서는 /dev/videoX 이고, 어떤 board(BSP)에서는 /dev/cam_codec, cam_preview 이고…

너무 많이 혼돈이 됩니다.

 

V4L2 driver에 access하더라도 기능(camera preview / 엔코딩 /…)에 따라서, access 하는 node가 다른지요 ?

아니면, 정말로 board(BSP/processor maker)마다 정하기 나름인지요 ?

(즉, 아직 관례적인 표준화가 안되어 있는지요 ?)

 

아니면, 제가 잘못 알고 있는지요 ?

 

 

 


관리자

2012.04.18 11:35:15
*.127.19.87

^^, 간단하게 말씀드리면 root filesystem을 구성하는 사람 맴입니다.


1. v4l2 driver는 preview와 capture 드라이버로 구분해서 사용하는 경우가 있습니다.

단, 절대적인 것은 아닙니다. 

v4l2가 너무나 많은 디바이스 드라이버 형태를 지원하기 때문에(camera 이외에도 동영상 video post processor도 지원하는 경우 많음)


2. /dev/videoX의 형태는 v4l2 driver의 등록시 자동생성되는 node 이름입니다(아마도 지정도 가능할겁니다만 - 1년되니 까먹었음....ㅠ.ㅠ)


3. /dev/cam_codec, cam_preview 등은 사용자가 알아보기 쉽게 만들어 놓은 것입니다.

이유는 /dev/video0, video1, video2 이런 식으로 생성되면 어느게 capture인지 preview인지, vpp인지 헷갈리거든요.


해서, udev의 경우는 /etc/udev/rules.d/* 파일에 video0 --> cam_codec, video1 --> cam_preview 이런식으로 naming rule만 살짝 바꾸도록 지정할 수 있게 되어 있습니다.


mdev나 android의 ueventd는 naming rule을 바꾸는 경우는 없습니다(mdev의 경우는 재 확인필요). 그냥 사용합

니다


4. 워낙 linux가 자유도가 강해서 그렇습니다. 특히 v4l2는 아직도 정리가 제대로 되지 않은 상태이고 계속 변하고, vendor specific driver가 많아서 현재까지도 그냥 chip vendor단위로만 관행적으로 사용하는 것이라고 보시면 됩니다. 임베디드의 경우에 한해서는.....

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
5728 S3C6410 Test Firmware 사용법 [1] jclab 2012-05-01 1759
5727 ActiveSync/USB host 동작 관련 [5] 백상은 2007-12-09 1759
5726 ICS S4210 (type password to decrypt storage?) 문제... file [4] 아명 2012-03-14 1759
» V4L2 device driver의 node ? [1] 테크 2012-04-18 1756
5724 V210에서 usb메모리 마운트 방법에 대한 질문 입니다. [2] Ike 2012-02-22 1755
5723 ramdisk 제작시 커널의 MTD파티션은 어떻게 해야 하나요? [2] 혜민아빠 2012-03-27 1755
5722 v4l2 는 camera register 관련된 포트에만 쓰일수 있는건가요? [1] biokk 2014-02-25 1755
5721 [V310] request_irq로 등록을 했지만, isr이 불려지지 않습니다.. ... [3] 훌러덩 2011-12-21 1754
5720 ffmpeg 관련하여 examples 이 컴파일이 되지 않습니다. [1] 사랑해요 2012-07-03 1754
5719 kikat 4.2.2 에서 surfaceflinger 초기화 하는 부분에 대해서 질문 ... [3] 시안 2014-07-08 1754
5718 s3c2440 touch screen 좌표 인식 박용순 2012-01-13 1752
5717 리눅스 질문 : bus 충돌 회피방법 질문 [2] 카보 2013-08-28 1752
5716 Camera ISP Source가 공개된 AP chip 아시는분? [1] 꿈의사람 2014-02-07 1751
5715 busybox 1.14.0 udhcpc 관련 문의드립니다. [7] Tommy 2010-08-18 1750
5714 ARM 멀티코어와 리눅스에서 병렬처리? [4] Supsupi 2014-03-28 1749
5713 vmware 에 설치된 리눅스에서 공유폴더에 파일을 복사하는 방법 [1] blue0sky 2012-09-06 1748
5712 Android.Gingerbread MTD-utils 추가 포팅 문제점. [3] 서유한 2012-03-23 1748
5711 GPIO 설정 [5] 마대렐라 2014-01-24 1748
5710 SDRAM 확장시 에러발생 (64MB -> 128MB) [12] 박진홍 2009-08-15 1746
5709 안녕하세요 사운드 디바이스 관련 질문입니다. [6] 조현호 2013-03-25 1746

사용자 로그인