embeded/raspberry pi2015. 8. 12. 14:58

gnome2의 이 안락함? ㅋㅋㅋ

캡쳐도 쉽고 좋아좋아 ㅋㅋ


그나저나.. 의외로 조금 먹어서 630MB 정도

300MB 정도 여유 메모리가 생기는데 나쁘진 않은 듯


다만.. 초기에 설치 및 설정에 오래 걸리는건 꽤나 단점..



라즈비안에서 해보니.. LXDE가 가볍긴 가볍구나 싶다. 300MB .. ㄷㄷㄷ

top - 15:07:12 up 3 min,  1 user,  load average: 0.93, 0.48, 0.19

Tasks: 111 total,   1 running, 110 sleeping,   0 stopped,   0 zombie

%Cpu(s):  2.2 us,  1.7 sy,  0.0 ni, 94.1 id,  2.1 wa,  0.0 hi,  0.0 si,  0.0 st

KiB Mem:    884380 total,   309792 used,   574588 free,    18640 buffers

KiB Swap:   102396 total,        0 used,   102396 free,   154808 cached


  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND           

 2555 root      20   0 53280  28m  16m S   5.3  3.3   0:14.19 Xorg              

 2810 pi        20   0 98852  20m  17m S   2.6  2.4   0:02.61 lxterminal        

 2695 pi        20   0  128m  26m  22m S   2.3  3.0   0:03.67 lxpanel           

 2830 pi        20   0  391m 128m  67m S   2.0 14.9   1:15.68 epiphany-browse   

 2899 pi        20   0  4496 2416 2060 R   0.7  0.3   0:00.74 top               

    1 root      20   0  2148 1244 1140 S   0.3  0.1   0:00.86 init              

    6 root      20   0     0    0    0 D   0.3  0.0   0:00.63 kworker/u8:0      

 2197 nobody    20   0  2024 1468 1352 S   0.3  0.2   0:00.38 thd               

 2693 pi        20   0 21080  12m 9052 S   0.3  1.4   0:01.62 openbox           

 2703 root      20   0     0    0    0 S   0.3  0.0   0:00.44 kworker/u8:3      

 2909 pi        20   0 89712  18m  15m S   0.3  2.1   0:00.88 leafpad           

    2 root      20   0     0    0    0 S   0.0  0.0   0:00.00 kthreadd          

    3 root      20   0     0    0    0 S   0.0  0.0   0:00.13 ksoftirqd/0       

    4 root      20   0     0    0    0 S   0.0  0.0   0:00.00 kworker/0:0       

    5 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 kworker/0:0H      

    7 root      20   0     0    0    0 S   0.0  0.0   0:00.36 rcu_preempt       

    8 root      20   0     0    0    0 S   0.0  0.0   0:00.00 rcu_sched          

 

Posted by 구차니
embeded/raspberry pi2015. 8. 11. 11:43

/etc는 squashfs로 인해 ro 상태인데..

kodi 설명을 보면 /etc에 하라고 한다 -_-

그런 이유로 openelec 문서를 찾아보니

/stroage/.config 에 lircd.conf를 복사해 두면 리부팅후 자동으로 키값을 불러온다고 한다.


irrecord /storage/.config/lircd.conf

[링크 : http://wiki.openelec.tv/index.php?title=Guide_To_lirc_rpi_GPIO_Receiver] 


OK는 메뉴 들어가기 + 파일 재생

FASTFORWARD는 빨리 감기(PLAY로 정상 속도)

MENU는 재생시 하단 메뉴(자막 등등 설정)

EXIT는 재생목록으로 설정하니 그럭저럭 쓸 수 있는데..

페이지 업/다운이 먼지 당췌 모르겠네 -_-


키는 정체 불명의 라디오 리모컨을 사용한 것 임.

$ cat lircd.conf


# Please make this file available to others

# by sending it to <lirc@bartelmus.de>

#

# this config file was automatically generated

# using lirc-0.9.1-git(default) on Tue Aug 11 02:51:10 2015

#

# contributed by

#

# brand:                       /storage/lircd.conf

# model no. of remote control:

# devices being controlled by this remote:

#


begin remote


  name  /storage/.config/lircd.conf

  bits           16

  flags SPACE_ENC|CONST_LENGTH

  eps            30

  aeps          100


  header       9085  4524

  one           646  1604

  zero          646   490

  ptrail        646

  pre_data_bits   16

  pre_data       0xFF

  gap          108567

  toggle_bit_mask 0x0


      begin codes

          KEY_UP                   0x7A85

          KEY_DOWN                 0x1AE5

          KEY_LEFT                 0x609F

          KEY_RIGHT                0x20DF

          KEY_OK                   0x9A65

          KEY_PLAY                 0xE01F

          KEY_FASTFORWARD          0x42BD

          KEY_STOP                 0x629D

          KEY_MENU                 0xC03F

          KEY_EXIT                 0x50AF

          KEY_VOLUMEUP             0xA25D

          KEY_VOLUMEDOWN           0x22DD

       end codes


end remote 


Posted by 구차니
embeded/raspberry pi2015. 8. 10. 23:07

으흐흐 키워드를 바꾸니 조금 맞는게 나오는듯


결론은.. fb1으로 그냥 써! 인가 -_-?

$ sudo mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf ~

$ sudo nano /usr/share/X11/xorg.conf.d/99-pitft.conf

Section "Device"

  Identifier "Adafruit PiTFT"

  Driver "fbdev"

  Option "fbdev" "/dev/fb1"

EndSection

$ sudo raspi-config

Then pick the Enable Boot to Desktop/Scratch option and choose if you want to boot to the console, desktop, or scratch environment.  


오래 눌러 오른쪽 클릭 지원하는 옵션도 발견!

/etc/X11/xorg.conf.d/99-calibration.conf

Option "EmulateThirdButton" "1"

Option "EmulateThirdButtonTimeout" "750"

Option "EmulateThirdButtonMoveThreshold" "30"

So for example your file will look like:

Section "InputClass"

   Identifier      "calibration"

   MatchProduct    "stmpe-ts"

   Option  "Calibration"   "3800 120 200 3900"

   Option  "SwapAxes"      "1"

   Option "EmulateThirdButton" "1"

   Option "EmulateThirdButtonTimeout" "750"

   Option "EmulateThirdButtonMoveThreshold" "30"

EndSection 


동일 제품인지 모르겠으나.. 아무튼 클럭도 줄수있긴 한데

SPI 클럭 디바이더의 설정으로 인해 아래의 클럭만 설정이 가능하다고 한다.

dtoverlay=pitft28r,rotate=90,speed=62000000,fps=25

Or whatever you like for speed, rotation, and frames-per-second. BUT, here's the thing, the Pi only supports a fixed number of SPI frequencies. So tweaking the number a little won't do anything. The kernel will round the number to the closest value. You will always get frequencies that are 250MHz divided by an even number. Here's the only SPI frequencies this kernel supports

15,625,000 (a.k.a 16000000 = 16 MHz)

17,857,142 (a.k.a. 18000000 = 18 MHz)

20,833,333 (a.k.a 21000000 = 21 MHz)

25,000,000 (= 25 MHz)

31,250,000 (a.k.a 32000000 = 32MHz)

41,666,666 (a.k.a 42000000 = 42MHz)

62,500,000 (a.k.a 62000000 = 62MHz) 


waveshare에서도 적용해보니

창 옮길때는 모르겠으나..

아주 미미하게 메뉴가 나타나는 속도 정도는 조금 빠른 느낌?


[링크 : https://learn.adafruit.com/.../extras#boot-to-x-windows-on-pitft]

[링크 : https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/faq]

    [링크 : http://raspberrypi.stackexchange.com/questions/14893/force-output-to-different-display-pitft]


'embeded > raspberry pi' 카테고리의 다른 글

ubuntu mate on rpi2  (0) 2015.08.12
openelec lirc.conf 설정  (11) 2015.08.11
라즈베리 파이 HDMI/composite 끄는법?  (0) 2015.08.10
라즈베리 파이 timezone 변경  (0) 2015.08.09
MMAL - Multi-Media Abstraction Layer  (0) 2015.08.09
Posted by 구차니
embeded/raspberry pi2015. 8. 10. 23:00

정녕.. 부팅레벨에서 끄는법은 없는건가? ㅠㅠ

config.txt나 cmdline.txt쪽을 봐야 할듯.. ㅠㅠ

일단 목적은.. spi fbtft 쪽을 fb0로 할당하기!


[링크 : http://elinux.org/RPiconfig]

[링크 : https://www.raspberrypi.org/documentation/configuration/config-txt.md]


use videocore GPU command  to switch off or on HDMI service thus saving valuable watts :)


Switch on

“/opt/vc/bin/tvservice -p”


Switch off

“/opt/vc/bin/tvservice -o” 


[링크 : https://glframebuffer.wordpress.com/2013/08/28/raspberrypi-how-to-turn-off-hdmi-from-raspberry-pi/]

    [링크 : https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=55354]

Posted by 구차니
embeded/raspberry pi2015. 8. 9. 12:13

라즈베리 파이 기본 시간설정은 Etc/UTC인데

이걸 바꾸러면 raspbi-config를 통해 바꾸거나 수작업으로 바꿔도 될 듯

이걸 안바꾸고 rdate를 통해 시간대를 변경하려고 하면

UTC를 기준으로 변경되어 버린다. -_-a


$ cat /etc/timezone

Etc/UTC


$ sudo raspbi-config


$ cat /etc/timezone

Asia/Seoul


[링크 : https://www.raspberrypi.org/forums/viewtopic.php?t=4977&f=5]

Posted by 구차니
embeded/raspberry pi2015. 8. 9. 10:54

MMAL은 VideoCore 용 멀티미디어 컴포넌트 인터페이스 이다.

MMAL (Multi-Media Abstraction Layer) is a framework which is used to provide a host-side, simple and relatively low-level interface to multimedia components running on VideoCore. It also provides a component interface so that new components can be easily created and integrated into the framework.


There is no requirement that all the components be running on VideoCore as MMAL doesn't put any restriction on where components live. The current implementation for instance provides some components which can be run on both host-side or VideoCore (e.g. the splitter component).


[링크 : http://www.jvcref.com/files/PI/documentation/html/] 


문제(?)는 이녀석은 범용은 아니란거

VideoCore란거 자체가.. Broadcom 꺼다 보니.. 결론은 Broadcom용 제품을 효율적으로 쓰려면 이녀석을 써야 한다?

VideoCore is a low-power mobile multimedia processor architecture originally developed by Alphamosaic Ltd and now owned by Broadcom. Its two-dimensional DSP architecture makes it flexible and efficient enough to decode as well as encode a number of multimedia codecs in software, while maintaining low power usage. The semiconductor intellectual property core (SIP core) has been found so far only on Broadcom SoCs.


[링크 : https://en.wikipedia.org/wiki/VideoCore] 


아무튼.. mmal을 바로 쓰는 motion 프로젝트도 존재

[링크 : http://www.rasplay.org/?p=4910]


다운로드 경로가 dropbox라고 되어 있는데 경로가 안보이길래 검색..

[링크 : https://www.dropbox.com/s/0gzxtkxhvwgfocs/motion-mmal.tar.gz]

    [링크 : http://embeddedday.com/projects/raspberry-pi/a-step-further/install-motion-mmal/]

Posted by 구차니
embeded/raspberry pi2015. 8. 9. 10:08

하드웨어 가속을 받아서 그런가 CPU점유율이 실질적으로 0!!

ㄷㄷㄷ

pi@raspberrypi ~ $ raspivid -t 0 -v


raspivid Camera App v1.3.12


Width 1920, Height 1080, filename (null)

bitrate 17000000, framerate 30, time delay 0

H264 Profile high

H264 Quantisation level 0, Inline headers No

H264 Intra refresh type (null), period -1

Wait method : Capture forever

Initial state 'record'



Preview Yes, Full screen Yes

Preview window 0,0,1024,768

Opacity 255

Sharpness 0, Contrast 0, Brightness 50

Saturation 0, ISO 0, Video Stabilisation No, Exposure compensation 0

Exposure Mode 'auto', AWB Mode 'auto', Image Effect 'none'

Metering Mode 'average', Colour Effect Enabled No with U = 128, V = 128

Rotation 0, hflip No, vflip No

ROI x 0.000000, y 0.000000, w 1.000000 h 1.000000

Camera component done

Encoder component done

Starting component connection stage

Connecting camera preview port to preview input port

Starting video preview

Connecting camera stills port to encoder input port

Enabling encoder output port


raspivid 프로세스가 왕창 떠있는데 cpu는 하나도 안먹네.. ㄷㄷㄷ

화면을 흔들던 말던 cpu 점유율은 0에서 움직이질 않는다.

raw를 받아서 fb에 덮어 버리는건가? ㄷㄷㄷ



Posted by 구차니
embeded/raspberry pi2015. 8. 9. 01:02

CSI 를 통한 카메라가 v4l을 지원하지 않아 좀 불편해서..

(현재까진 raspivid 툴을 통해서 stdin으로 받는 수 밖에..)

이리저리 방법을 찾는중


음? MMAL은 또 머지?

The camera works with all models of Raspberry Pi 1 and 2. It can be accessed through the MMAL and V4L APIs, and there are numerous third-party libraries built for it, including the Picamera Python library.

[링크 : https://www.raspberrypi.org/products/camera-module/]


머.. 쉽게 될리가 없나? ㅋㅋㅋ

일단 automake에서 파일이 없다고 배째는 지라 확인필요 ㅠㅠ


---

빌드 명령어 모음

$ git clone git://git.linuxtv.org/v4l-utils.git

$ cd v4l-utils/

$ sudo apt-get install autoconf gettext libtool libjpeg62-dev

$ ./bootstrap.sh

$ ./configure

$ vi utils/dvb/Makefile

LIBS = -lrt

$ make -j 4

$ sudo make install

$ sudo modprobe bcm2835-v4l2

$ sudo v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=4

$ vlc


set은 sudo를 통해 되지만.

vlc로 받는 순간 다시 원복된다 머지...


$ v4l2-ctl --get-fmt-video

Format Video Capture:

        Width/Height      : 2592/16

        Pixel Format      : 'YU12'

        Field             : None

        Bytes per Line    : 3888

        Size Image        : 62208

        Colorspace        : SMPTE 170M

        Transfer Function : Default

        YCbCr Encoding    : Default

        Quantization      : Default

        Flags             :


---




pi@raspberrypi ~/src/v4l-utils $ lsmod | grep -i v4l

pi@raspberrypi ~/src/v4l-utils $ sudo modprobe bcm2835-v4l2

pi@raspberrypi ~/src/v4l-utils $ lsmod | grep -i v4l

bcm2835_v4l2           37225  0

videobuf2_vmalloc       3009  1 bcm2835_v4l2

videobuf2_core         33578  1 bcm2835_v4l2

v4l2_common             5077  2 bcm2835_v4l2,videobuf2_core

videodev              122487  3 bcm2835_v4l2,v4l2_common,videobuf2_core

pi@raspberrypi ~/src/v4l-utils $ v4l2-ctl --overlay=1

pi@raspberrypi ~/src/v4l-utils $ v4l2-ctl --set-fmt-video=width=1920,height=1088,pixelformat=4

pi@raspberrypi ~/src/v4l-utils $ v4l2-ctl --stream-mmap=3 --stream-count=100 --stream-to=somefile.264

<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 27 fps

<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29 fps

<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 28 fps

<<<<<<<<<<<<<

pi@raspberrypi ~/src/v4l-utils $ file somefile.264

somefile.264: JVT NAL sequence, H.264 video @ L 40

pi@raspberrypi ~/src/v4l-utils $ v4l2-ctl --list-formats

ioctl: VIDIOC_ENUM_FMT

        Index       : 0

        Type        : Video Capture

        Pixel Format: 'YU12'

        Name        : 4:2:0, packed YUV


        Index       : 1

        Type        : Video Capture

        Pixel Format: 'YUYV'

        Name        : 4:2:2, packed, YUYV


        Index       : 2

        Type        : Video Capture

        Pixel Format: 'RGB3'

        Name        : RGB24 (LE)


        Index       : 3

        Type        : Video Capture

        Pixel Format: 'JPEG' (compressed)

        Name        : JPEG


        Index       : 4

        Type        : Video Capture

        Pixel Format: 'H264' (compressed)

        Name        : H264


        Index       : 5

        Type        : Video Capture

        Pixel Format: 'MJPG' (compressed)

        Name        : MJPEG


        Index       : 6

        Type        : Video Capture

        Pixel Format: 'YVYU'

        Name        : 4:2:2, packed, YVYU


        Index       : 7

        Type        : Video Capture

        Pixel Format: 'VYUY'

        Name        : 4:2:2, packed, VYUY


        Index       : 8

        Type        : Video Capture

        Pixel Format: 'UYVY'

        Name        : 4:2:2, packed, UYVY


        Index       : 9

        Type        : Video Capture

        Pixel Format: 'NV12'

        Name        : 4:2:0, packed, NV12


        Index       : 10

        Type        : Video Capture

        Pixel Format: 'BGR3'

        Name        : RGB24 (BE)


        Index       : 11

        Type        : Video Capture

        Pixel Format: 'YV12'

        Name        : 4:2:0, packed YVU


        Index       : 12

        Type        : Video Capture

        Pixel Format: 'NV21'

        Name        : 4:2:0, packed, NV21


        Index       : 13

        Type        : Video Capture

        Pixel Format: 'BGR4'

        Name        : RGB32 (BE)


pi@raspberrypi ~ $ v4l2-ctl --set-fmt-video=width=1920,height=1088,pixelformat=4

pi@raspberrypi ~ $ vlc





+

User space v4l driver

[링크 : http://www.linux-projects.org/modules/sections/index.php?op=viewarticle&artid=14]


+

Kernel v4l driver / module

pi@raspberrypi ~/src $ git clone git://git.linuxtv.org/v4l-utils.git

Cloning into 'v4l-utils'...

remote: Counting objects: 21249, done.

remote: Compressing objects: 100% (4162/4162), done.

remote: Total 21249 (delta 16889), reused 21249 (delta 16889)

Receiving objects: 100% (21249/21249), 3.55 MiB | 699 KiB/s, done.

Resolving deltas: 100% (16889/16889), done.


pi@raspberrypi ~/src $ cd v4l-utils/

pi@raspberrypi ~/src/v4l-utils $ sudo apt-get install autoconf gettext libtool libjpeg62-dev

패키지 목록을 읽는 중입니다... 완료

의존성 트리를 만드는 중입니다

상태 정보를 읽는 중입니다... 완료

다음 패키지를 더 설치할 것입니다:

  automake autopoint autotools-dev libgettextpo0 libjpeg62 libltdl-dev

  libunistring0 m4

제안하는 패키지:

  autoconf2.13 autoconf-archive gnu-standards autoconf-doc gettext-doc

  libtool-doc automaken gfortran fortran95-compiler gcj

다음 새 패키지를 설치할 것입니다:

  autoconf automake autopoint autotools-dev gettext libgettextpo0 libjpeg62

  libjpeg62-dev libltdl-dev libtool libunistring0 m4

0개 업그레이드, 12개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.

5,660 k바이트 아카이브를 받아야 합니다.

이 작업 후 15.2 M바이트의 디스크 공간을 더 사용하게 됩니다.

계속 하시겠습니까 [Y/n]?

받기:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libunistring0 armhf 0.9.3-5 [408 kB]

받기:2 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libgettextpo0 armhf 0.18.1.1-9 [130 kB]

받기:3 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libjpeg62 armhf 6b1-3+deb7u1 [85.9 kB]

받기:4 http://mirrordirector.raspbian.org/raspbian/ wheezy/main m4 armhf 1.4.16-3 [246 kB]

받기:5 http://mirrordirector.raspbian.org/raspbian/ wheezy/main autoconf all 2.69-1 [589 kB]

받기:6 http://mirrordirector.raspbian.org/raspbian/ wheezy/main autotools-dev all 20120608.1 [73.0 kB]

받기:7 http://mirrordirector.raspbian.org/raspbian/ wheezy/main automake all 1:1.11.6-1 [607 kB]

받기:8 http://mirrordirector.raspbian.org/raspbian/ wheezy/main autopoint all 0.18.1.1-9 [629 kB]

받기:9 http://mirrordirector.raspbian.org/raspbian/ wheezy/main gettext armhf 0.18.1.1-9 [1,879 kB]

받기:10 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libltdl-dev armhf 2.4.2-1.1 [203 kB]

받기:11 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libtool armhf 2.4.2-1.1 [618 kB]

받기:12 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libjpeg62-dev armhf 6b1-3+deb7u1 [191 kB]

내려받기 5,660 k바이트, 소요시간 6초 (825 k바이트/초)

Selecting previously unselected package libunistring0:armhf.

(데이터베이스 읽는중 ...현재 92899개의 파일과 디렉터리가 설치되어 있습니다.)

libunistring0:armhf 패키지를 푸는 중입니다 (.../libunistring0_0.9.3-5_armhf.deb에서) ...

Selecting previously unselected package libgettextpo0:armhf.

libgettextpo0:armhf 패키지를 푸는 중입니다 (.../libgettextpo0_0.18.1.1-9_armhf.deb에서) ...

Selecting previously unselected package libjpeg62:armhf.

libjpeg62:armhf 패키지를 푸는 중입니다 (.../libjpeg62_6b1-3+deb7u1_armhf.deb에서) ...

Selecting previously unselected package m4.

m4 패키지를 푸는 중입니다 (.../archives/m4_1.4.16-3_armhf.deb에서) ...

Selecting previously unselected package autoconf.

autoconf 패키지를 푸는 중입니다 (.../autoconf_2.69-1_all.deb에서) ...

Selecting previously unselected package autotools-dev.

autotools-dev 패키지를 푸는 중입니다 (.../autotools-dev_20120608.1_all.deb에서) ...

Selecting previously unselected package automake.

automake 패키지를 푸는 중입니다 (.../automake_1%3a1.11.6-1_all.deb에서) ...

Selecting previously unselected package autopoint.

autopoint 패키지를 푸는 중입니다 (.../autopoint_0.18.1.1-9_all.deb에서) ...

Selecting previously unselected package gettext.

gettext 패키지를 푸는 중입니다 (.../gettext_0.18.1.1-9_armhf.deb에서) ...

Selecting previously unselected package libltdl-dev:armhf.

libltdl-dev:armhf 패키지를 푸는 중입니다 (.../libltdl-dev_2.4.2-1.1_armhf.deb에서) ...

Selecting previously unselected package libtool.

libtool 패키지를 푸는 중입니다 (.../libtool_2.4.2-1.1_armhf.deb에서) ...

Selecting previously unselected package libjpeg62-dev:armhf.

libjpeg62-dev:armhf 패키지를 푸는 중입니다 (.../libjpeg62-dev_6b1-3+deb7u1_armhf.deb에서) ...

install-info에 대한 트리거를 처리하는 중입니다 ...

man-db에 대한 트리거를 처리하는 중입니다 ...

libunistring0:armhf (0.9.3-5) 설정하는 중입니다 ...

libgettextpo0:armhf (0.18.1.1-9) 설정하는 중입니다 ...

libjpeg62:armhf (6b1-3+deb7u1) 설정하는 중입니다 ...

m4 (1.4.16-3) 설정하는 중입니다 ...

autoconf (2.69-1) 설정하는 중입니다 ...

autotools-dev (20120608.1) 설정하는 중입니다 ...

automake (1:1.11.6-1) 설정하는 중입니다 ...

update-alternatives: using /usr/bin/automake-1.11 to provide /usr/bin/automake (automake) in 자동 모드

autopoint (0.18.1.1-9) 설정하는 중입니다 ...

gettext (0.18.1.1-9) 설정하는 중입니다 ...

libltdl-dev:armhf (2.4.2-1.1) 설정하는 중입니다 ...

libtool (2.4.2-1.1) 설정하는 중입니다 ...

libjpeg62-dev:armhf (6b1-3+deb7u1) 설정하는 중입니다 ...


pi@raspberrypi ~/src/v4l-utils $  autoreconf -vfi

autoreconf: Entering directory `.'

autoreconf: configure.ac: not using Gettext

autoreconf: running: aclocal --force -I m4

autoreconf: configure.ac: tracing

autoreconf: configure.ac: AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION

autoreconf: configure.ac: creating directory build-aux

autoreconf: running: libtoolize --copy --force

libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.

libtoolize: copying file `build-aux/ltmain.sh'

libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.

libtoolize: copying file `m4/libtool.m4'

libtoolize: copying file `m4/ltoptions.m4'

libtoolize: copying file `m4/ltsugar.m4'

libtoolize: copying file `m4/ltversion.m4'

libtoolize: copying file `m4/lt~obsolete.m4'

autoreconf: running: /usr/bin/autoconf --force

autoreconf: running: /usr/bin/autoheader --force

autoreconf: running: automake --add-missing --copy --force-missing

configure.ac:76: installing `build-aux/config.guess'

configure.ac:83: required file `build-aux/config.rpath' not found

configure.ac:76: installing `build-aux/config.sub'

configure.ac:67: installing `build-aux/install-sh'

configure.ac:67: installing `build-aux/missing'

contrib/cobalt/Makefile.am: installing `build-aux/depcomp'

autoreconf: automake failed with exit status: 1


pi@raspberrypi ~/src/v4l-utils $ ./configure

checking for gcc... gcc

checking whether the C compiler works... yes

checking for C compiler default output file name... a.out

checking for suffix of executables...

checking whether we are cross compiling... no

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ISO C89... none needed

checking how to run the C preprocessor... gcc -E

checking for grep that handles long lines and -e... /bin/grep

checking for egrep... /bin/grep -E

checking for ANSI C header files... yes

checking for sys/types.h... yes

checking for sys/stat.h... yes

checking for stdlib.h... yes

checking for string.h... yes

checking for memory.h... yes

checking for strings.h... yes

checking for inttypes.h... yes

checking for stdint.h... yes

checking for unistd.h... yes

checking minix/config.h usability... no

checking minix/config.h presence... no

checking for minix/config.h... no

checking whether it is safe to define __EXTENSIONS__... yes

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for a thread-safe mkdir -p... /bin/mkdir -p

checking for gawk... no

checking for mawk... mawk

checking whether make sets $(MAKE)... yes

checking for style of include used by make... GNU

checking dependency style of gcc... gcc3

checking whether to enable maintainer-specific portions of Makefiles... no

checking whether make supports nested variables... yes

checking for g++... g++

checking whether we are using the GNU C++ compiler... yes

checking whether g++ accepts -g... yes

checking dependency style of g++... gcc3

checking for gcc option to accept ISO C99... -std=gnu99

checking build system type... armv7l-unknown-linux-gnueabihf

checking host system type... armv7l-unknown-linux-gnueabihf

checking how to print strings... printf

checking for a sed that does not truncate output... /bin/sed

checking for fgrep... /bin/grep -F

checking for ld used by gcc -std=gnu99... /usr/bin/ld

checking if the linker (/usr/bin/ld) is GNU ld... yes

checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B

checking the name lister (/usr/bin/nm -B) interface... BSD nm

checking whether ln -s works... yes

checking the maximum length of command line arguments... 1572864

checking whether the shell understands some XSI constructs... yes

checking whether the shell understands "+="... yes

checking how to convert armv7l-unknown-linux-gnueabihf file names to armv7l-unknown-linux-gnueabihf format... func_convert_file_noop

checking how to convert armv7l-unknown-linux-gnueabihf file names to toolchain format... func_convert_file_noop

checking for /usr/bin/ld option to reload object files... -r

checking for objdump... objdump

checking how to recognize dependent libraries... pass_all

checking for dlltool... no

checking how to associate runtime and link libraries... printf %s\n

checking for ar... ar

checking for archiver @FILE support... @

checking for strip... strip

checking for ranlib... ranlib

checking command to parse /usr/bin/nm -B output from gcc -std=gnu99 object... ok

checking for sysroot... no

checking for mt... mt

checking if mt is a manifest tool... no

checking for dlfcn.h... yes

checking for objdir... .libs

checking if gcc -std=gnu99 supports -fno-rtti -fno-exceptions... no

checking for gcc -std=gnu99 option to produce PIC... -fPIC -DPIC

checking if gcc -std=gnu99 PIC flag -fPIC -DPIC works... yes

checking if gcc -std=gnu99 static flag -static works... yes

checking if gcc -std=gnu99 supports -c -o file.o... yes

checking if gcc -std=gnu99 supports -c -o file.o... (cached) yes

checking whether the gcc -std=gnu99 linker (/usr/bin/ld) supports shared libraries... yes

checking whether -lc should be explicitly linked in... no

checking dynamic linker characteristics... GNU/Linux ld.so

checking how to hardcode library paths into programs... immediate

checking whether stripping libraries is possible... yes

checking if libtool supports shared libraries... yes

checking whether to build shared libraries... yes

checking whether to build static libraries... yes

checking how to run the C++ preprocessor... g++ -E

checking for ld used by g++... /usr/bin/ld

checking if the linker (/usr/bin/ld) is GNU ld... yes

checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes

checking for g++ option to produce PIC... -fPIC -DPIC

checking if g++ PIC flag -fPIC -DPIC works... yes

checking if g++ static flag -static works... yes

checking if g++ supports -c -o file.o... yes

checking if g++ supports -c -o file.o... (cached) yes

checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes

checking dynamic linker characteristics... (cached) GNU/Linux ld.so

checking how to hardcode library paths into programs... immediate

checking whether ln -s works... yes

checking for pkg-config... /usr/bin/pkg-config

checking pkg-config is at least version 0.9.0... yes

checking for doxygen... no

configure: WARNING: doxygen not found - will not generate any doxygen documentation

checking for perl... /usr/bin/perl

checking whether NLS is requested... yes

checking for msgfmt... /usr/bin/msgfmt

checking for gmsgfmt... /usr/bin/msgfmt

checking for xgettext... /usr/bin/xgettext

checking for msgmerge... /usr/bin/msgmerge

checking for ld used by GCC... /usr/bin/ld

checking if the linker (/usr/bin/ld) is GNU ld... yes

checking for shared library run path origin... /bin/bash: build-aux/config.rpath: No such file or directory

done

checking for CFPreferencesCopyAppValue... no

checking for CFLocaleCopyCurrent... no

checking for GNU gettext in libc... yes

checking whether to use NLS... yes

checking where the gettext function comes from... libc

checking for mode_t... yes

checking for promoted mode_t type... mode_t

checking whether the -Werror option is usable... yes

checking for simple visibility declarations... yes

checking sys/klog.h usability... yes

checking sys/klog.h presence... yes

checking for sys/klog.h... yes

checking for klogctl... yes

checking for ioctl with POSIX signature... no

checking for __secure_getenv... yes

checking for secure_getenv... no

checking for X11... yes

checking for GL... yes

checking for GLU... yes

checking jpeglib.h usability... yes

checking jpeglib.h presence... yes

checking for jpeglib.h... yes

checking for jpeg_read_header in -ljpeg... yes

checking for QT5... no

checking for QT... no

configure: WARNING: Qt4 or higher is not available

checking for ALSA... no

configure: WARNING: ALSA library not available

checking for library containing dlopen... -ldl

checking argp.h usability... yes

checking argp.h presence... yes

checking for argp.h... yes

checking for library containing argp_parse... none required

checking linux/i2c-dev.h usability... yes

checking linux/i2c-dev.h presence... yes

checking for linux/i2c-dev.h... yes

checking for iconv... yes

checking for working iconv... yes

checking for iconv declaration...

         extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);

./configure: line 21526: test: =: unary operator expected

configure: creating ./config.status

config.status: error: cannot find input file: `Makefile.in'


[링크 : http://www.ics.com/blog/raspberry-pi-camera-module] 


+

INSTALL 문서를 보니

Building:

---------


If you checked out the source repository you need to install the autotools

environment and gettext first.


The autotools/gettext should be updated to the version that are shipped

on your distro. This can be done by running:

        $ ./bootstrap.sh


Then you need to configure any any desired options with:

        $ ./configure


You can get a summary of possible configurations via the --help option.

If used without arguments, it will set the install prefix to /usr/local/.


After configuration you need to start the build process with:

        $ make


Installing:

-----------


To install it at the prefix configured by ./configure, do, as root:

        # make install


Note that v4l-utils' "make install" supports DESTDIR for installing into

a build root for example:

        # make install DESTDIR=/mnt/sysimage 


$ ./bootstrap.sh

를 실행하래서 쿨하게 실행중 


pi@raspberrypi ~/src/v4l-utils $ ./bootstrap.sh

autoreconf: Entering directory `.'

autoreconf: configure.ac: not using Gettext

autoreconf: running: aclocal --force -I m4

autoreconf: configure.ac: tracing

autoreconf: configure.ac: AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION

autoreconf: running: libtoolize --copy --force

libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.

libtoolize: copying file `build-aux/ltmain.sh'

libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.

libtoolize: copying file `m4/libtool.m4'

libtoolize: copying file `m4/ltoptions.m4'

libtoolize: copying file `m4/ltsugar.m4'

libtoolize: copying file `m4/ltversion.m4'

libtoolize: copying file `m4/lt~obsolete.m4'

autoreconf: running: /usr/bin/autoconf --force

autoreconf: running: /usr/bin/autoheader --force

autoreconf: running: automake --add-missing --copy --force-missing

autoreconf: Leaving directory `.'

Generating locale v4l-utils-po build files for gettext version 0.18.1

Generating locale libdvbv5-po build files for gettext version 0.18.1 


오예!!!

pi@raspberrypi ~/src/v4l-utils $ ./configure

checking for gcc... gcc

checking whether the C compiler works... yes

checking for C compiler default output file name... a.out

checking for suffix of executables...

checking whether we are cross compiling... no

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ISO C89... none needed

checking how to run the C preprocessor... gcc -E

checking for grep that handles long lines and -e... /bin/grep

checking for egrep... /bin/grep -E

checking for ANSI C header files... yes

checking for sys/types.h... yes

checking for sys/stat.h... yes

checking for stdlib.h... yes

checking for string.h... yes

checking for memory.h... yes

checking for strings.h... yes

checking for inttypes.h... yes

checking for stdint.h... yes

checking for unistd.h... yes

checking minix/config.h usability... no

checking minix/config.h presence... no

checking for minix/config.h... no

checking whether it is safe to define __EXTENSIONS__... yes

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for a thread-safe mkdir -p... /bin/mkdir -p

checking for gawk... no

checking for mawk... mawk

checking whether make sets $(MAKE)... yes

checking for style of include used by make... GNU

checking dependency style of gcc... gcc3

checking whether to enable maintainer-specific portions of Makefiles... no

checking whether make supports nested variables... yes

checking for g++... g++

checking whether we are using the GNU C++ compiler... yes

checking whether g++ accepts -g... yes

checking dependency style of g++... gcc3

checking for gcc option to accept ISO C99... -std=gnu99

checking build system type... armv7l-unknown-linux-gnueabihf

checking host system type... armv7l-unknown-linux-gnueabihf

checking how to print strings... printf

checking for a sed that does not truncate output... /bin/sed

checking for fgrep... /bin/grep -F

checking for ld used by gcc -std=gnu99... /usr/bin/ld

checking if the linker (/usr/bin/ld) is GNU ld... yes

checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B

checking the name lister (/usr/bin/nm -B) interface... BSD nm

checking whether ln -s works... yes

checking the maximum length of command line arguments... 1572864

checking whether the shell understands some XSI constructs... yes

checking whether the shell understands "+="... yes

checking how to convert armv7l-unknown-linux-gnueabihf file names to armv7l-unknown-linux-gnueabihf format... func_convert_file_noop

checking how to convert armv7l-unknown-linux-gnueabihf file names to toolchain format... func_convert_file_noop

checking for /usr/bin/ld option to reload object files... -r

checking for objdump... objdump

checking how to recognize dependent libraries... pass_all

checking for dlltool... no

checking how to associate runtime and link libraries... printf %s\n

checking for ar... ar

checking for archiver @FILE support... @

checking for strip... strip

checking for ranlib... ranlib

checking command to parse /usr/bin/nm -B output from gcc -std=gnu99 object... ok

checking for sysroot... no

checking for mt... mt

checking if mt is a manifest tool... no

checking for dlfcn.h... yes

checking for objdir... .libs

checking if gcc -std=gnu99 supports -fno-rtti -fno-exceptions... no

checking for gcc -std=gnu99 option to produce PIC... -fPIC -DPIC

checking if gcc -std=gnu99 PIC flag -fPIC -DPIC works... yes

checking if gcc -std=gnu99 static flag -static works... yes

checking if gcc -std=gnu99 supports -c -o file.o... yes

checking if gcc -std=gnu99 supports -c -o file.o... (cached) yes

checking whether the gcc -std=gnu99 linker (/usr/bin/ld) supports shared libraries... yes

checking whether -lc should be explicitly linked in... no

checking dynamic linker characteristics... GNU/Linux ld.so

checking how to hardcode library paths into programs... immediate

checking whether stripping libraries is possible... yes

checking if libtool supports shared libraries... yes

checking whether to build shared libraries... yes

checking whether to build static libraries... yes

checking how to run the C++ preprocessor... g++ -E

checking for ld used by g++... /usr/bin/ld

checking if the linker (/usr/bin/ld) is GNU ld... yes

checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes

checking for g++ option to produce PIC... -fPIC -DPIC

checking if g++ PIC flag -fPIC -DPIC works... yes

checking if g++ static flag -static works... yes

checking if g++ supports -c -o file.o... yes

checking if g++ supports -c -o file.o... (cached) yes

checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes

checking dynamic linker characteristics... (cached) GNU/Linux ld.so

checking how to hardcode library paths into programs... immediate

checking whether ln -s works... yes

checking for pkg-config... /usr/bin/pkg-config

checking pkg-config is at least version 0.9.0... yes

checking for doxygen... no

configure: WARNING: doxygen not found - will not generate any doxygen documentation

checking for perl... /usr/bin/perl

checking whether NLS is requested... yes

checking for msgfmt... /usr/bin/msgfmt

checking for gmsgfmt... /usr/bin/msgfmt

checking for xgettext... /usr/bin/xgettext

checking for msgmerge... /usr/bin/msgmerge

checking for ld used by GCC... /usr/bin/ld

checking if the linker (/usr/bin/ld) is GNU ld... yes

checking for shared library run path origin... done

checking for CFPreferencesCopyAppValue... no

checking for CFLocaleCopyCurrent... no

checking for GNU gettext in libc... yes

checking whether to use NLS... yes

checking where the gettext function comes from... libc

checking for mode_t... yes

checking for promoted mode_t type... mode_t

checking whether the -Werror option is usable... yes

checking for simple visibility declarations... yes

checking sys/klog.h usability... yes

checking sys/klog.h presence... yes

checking for sys/klog.h... yes

checking for klogctl... yes

checking for ioctl with POSIX signature... no

checking for __secure_getenv... yes

checking for secure_getenv... no

checking for X11... yes

checking for GL... yes

checking for GLU... yes

checking jpeglib.h usability... yes

checking jpeglib.h presence... yes

checking for jpeglib.h... yes

checking for jpeg_read_header in -ljpeg... yes

checking for QT5... no

checking for QT... no

configure: WARNING: Qt4 or higher is not available

checking for ALSA... no

configure: WARNING: ALSA library not available

checking for library containing dlopen... -ldl

checking argp.h usability... yes

checking argp.h presence... yes

checking for argp.h... yes

checking for library containing argp_parse... none required

checking linux/i2c-dev.h usability... yes

checking linux/i2c-dev.h presence... yes

checking for linux/i2c-dev.h... yes

checking for iconv... yes

checking for working iconv... yes

checking for iconv declaration...

         extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);

./configure: line 21526: test: =: unary operator expected

configure: creating ./config.status

config.status: creating Makefile

config.status: creating lib/Makefile

config.status: creating lib/libv4lconvert/Makefile

config.status: creating lib/libv4l2/Makefile

config.status: creating lib/libv4l1/Makefile

config.status: creating lib/libdvbv5/Makefile

config.status: creating lib/libv4l2rds/Makefile

config.status: creating lib/libv4l-mplane/Makefile

config.status: creating utils/Makefile

config.status: creating utils/libv4l2util/Makefile

config.status: creating utils/libmedia_dev/Makefile

config.status: creating utils/decode_tm6000/Makefile

config.status: creating utils/dvb/Makefile

config.status: creating utils/keytable/Makefile

config.status: creating utils/media-ctl/Makefile

config.status: creating utils/rds/Makefile

config.status: creating utils/v4l2-compliance/Makefile

config.status: creating utils/v4l2-ctl/Makefile

config.status: creating utils/v4l2-dbg/Makefile

config.status: creating utils/v4l2-sysfs-path/Makefile

config.status: creating utils/xc3028-firmware/Makefile

config.status: creating utils/qv4l2/Makefile

config.status: creating utils/rds-ctl/Makefile

config.status: creating contrib/Makefile

config.status: creating contrib/freebsd/Makefile

config.status: creating contrib/test/Makefile

config.status: creating contrib/gconv/Makefile

config.status: creating contrib/cobalt/Makefile

config.status: creating v4l-utils-po/Makefile.in

config.status: creating libdvbv5-po/Makefile.in

config.status: creating v4l-utils.spec

config.status: creating lib/libv4lconvert/libv4lconvert.pc

config.status: creating lib/libv4l1/libv4l1.pc

config.status: creating lib/libv4l2/libv4l2.pc

config.status: creating lib/libdvbv5/libdvbv5.pc

config.status: creating lib/libv4l2rds/libv4l2rds.pc

config.status: creating utils/media-ctl/libmediactl.pc

config.status: creating utils/media-ctl/libv4l2subdev.pc

config.status: creating utils/qv4l2/qv4l2.1

config.status: creating utils/v4l2-compliance/v4l2-compliance.1

config.status: creating utils/v4l2-ctl/v4l2-ctl.1

config.status: creating utils/keytable/ir-keytable.1

config.status: creating utils/dvb/dvb-fe-tool.1

config.status: creating utils/dvb/dvbv5-scan.1

config.status: creating utils/dvb/dvb-format-convert.1

config.status: creating utils/dvb/dvbv5-zap.1

config.status: creating config.h

config.status: executing depfiles commands

config.status: executing libtool commands

config.status: executing po-directories commands

config.status: creating v4l-utils-po/POTFILES

config.status: creating v4l-utils-po/Makefile

config.status: creating libdvbv5-po/POTFILES

config.status: creating libdvbv5-po/Makefile 


$ make

...

make[3]: Entering directory '/home/pi/src/v4l-utils/utils/dvb'

  CC     dvb-fe-tool.o

  CCLD   dvb-fe-tool

../../lib/libdvbv5/.libs/libdvbv5.so: undefined reference to `clock_gettime' 


아으으으으윽 ㅠㅠ


pi@raspberrypi ~/src/v4l-utils $ ./configure --help

`configure' configures v4l-utils 1.7.0 to adapt to many kinds of systems.


Usage: ./configure [OPTION]... [VAR=VALUE]...


To assign environment variables (e.g., CC, CFLAGS...), specify them as

VAR=VALUE.  See below for descriptions of some of the useful variables.


Defaults for the options are specified in brackets.


Configuration:

  -h, --help              display this help and exit

      --help=short        display options specific to this package

      --help=recursive    display the short help of all the included packages

  -V, --version           display version information and exit

  -q, --quiet, --silent   do not print `checking ...' messages

      --cache-file=FILE   cache test results in FILE [disabled]

  -C, --config-cache      alias for `--cache-file=config.cache'

  -n, --no-create         do not create output files

      --srcdir=DIR        find the sources in DIR [configure dir or `..']


Installation directories:

  --prefix=PREFIX         install architecture-independent files in PREFIX

                          [/usr/local]

  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX

                          [PREFIX]


By default, `make install' will install all the files in

`/usr/local/bin', `/usr/local/lib' etc.  You can specify

an installation prefix other than `/usr/local' using `--prefix',

for instance `--prefix=$HOME'.


For better control, use the options below.


Fine tuning of the installation directories:

  --bindir=DIR            user executables [EPREFIX/bin]

  --sbindir=DIR           system admin executables [EPREFIX/sbin]

  --libexecdir=DIR        program executables [EPREFIX/libexec]

  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]

  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]

  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]

  --libdir=DIR            object code libraries [EPREFIX/lib]

  --includedir=DIR        C header files [PREFIX/include]

  --oldincludedir=DIR     C header files for non-gcc [/usr/include]

  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]

  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]

  --infodir=DIR           info documentation [DATAROOTDIR/info]

  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]

  --mandir=DIR            man documentation [DATAROOTDIR/man]

  --docdir=DIR            documentation root [DATAROOTDIR/doc/v4l-utils]

  --htmldir=DIR           html documentation [DOCDIR]

  --dvidir=DIR            dvi documentation [DOCDIR]

  --pdfdir=DIR            pdf documentation [DOCDIR]

  --psdir=DIR             ps documentation [DOCDIR]


Program names:

  --program-prefix=PREFIX            prepend PREFIX to installed program names

  --program-suffix=SUFFIX            append SUFFIX to installed program names

  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names


System types:

  --build=BUILD     configure for building on BUILD [guessed]

  --host=HOST       cross-compile to build programs to run on HOST [BUILD]


Optional Features:

  --disable-option-checking  ignore unrecognized --enable/--with options

  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)

  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]

  --disable-dependency-tracking  speeds up one-time build

  --enable-dependency-tracking   do not reject slow dependency extractors

  --enable-maintainer-mode  enable make rules and dependencies not useful

                          (and sometimes confusing) to the casual installer

  --enable-silent-rules          less verbose build output (undo: `make V=1')

  --disable-silent-rules         verbose build output (undo: `make V=0')

  --enable-shared[=PKGS]  build shared libraries [default=yes]

  --enable-static[=PKGS]  build static libraries [default=yes]

  --enable-fast-install[=PKGS]

                          optimize for fast installation [default=yes]

  --disable-libtool-lock  avoid locking (might break parallel builds)

  --disable-doxygen-doc   don't generate any doxygen documentation

  --disable-doxygen-dot   don't generate graphics for doxygen documentation

  --enable-doxygen-man    generate doxygen manual pages

  --enable-doxygen-rtf    generate doxygen RTF documentation

  --enable-doxygen-xml    generate doxygen XML documentation

  --enable-doxygen-chm    generate doxygen compressed HTML help documentation

  --enable-doxygen-chi    generate doxygen seperate compressed HTML help index

                          file

  --disable-doxygen-html  don't generate doxygen plain HTML documentation

  --disable-doxygen-ps    don't generate doxygen PostScript documentation

  --disable-doxygen-pdf   don't generate doxygen PDF documentation

  --disable-nls           do not use Native Language Support

  --disable-rpath         do not hardcode runtime library paths

  --disable-libdvbv5      disable experimental dynamic libdvbv5 compilation

  --disable-libv4l        disable dynamic libv4l compilation

  --disable-v4l-utils     disable v4l-utils compilation

  --disable-qv4l2         disable qv4l2 compilation

  --enable-gconv          enable compilation of gconv modules


Optional Packages:

  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]

  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)

  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use

                          both]

  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]

  --with-sysroot=DIR Search for dependent libraries within DIR

                        (or the compiler's sysroot if not specified).

  --with-gnu-ld           assume the C compiler uses GNU ld default=no

  --with-libiconv-prefix[=DIR]  search for libiconv in DIR/include and DIR/lib

  --without-libiconv-prefix     don't search for libiconv in includedir and libdir

  --with-libintl-prefix[=DIR]  search for libintl in DIR/include and DIR/lib

  --without-libintl-prefix     don't search for libintl in includedir and libdir

  --with-localedir=PATH      Where the locale files are installed

  --without-jpeg          Do not use jpeg library

  --with-libudev          Enable libudev to detect a device name

  --with-libv4l1subdir=DIR

                          set libv4l1 library subdir (default=libv4l)

  --with-libv4l2subdir=DIR

                          set libv4l2 library subdir (default=libv4l)

  --with-libv4lconvertsubdir=DIR

                          set libv4lconvert library subdir (default=libv4l)

  --with-udevdir=DIR      set udev directory

  --with-gconvdir=DIR     set system's gconv directory

                          (default=/usr/lib/gconv)


Some influential environment variables:

  CC          C compiler command

  CFLAGS      C compiler flags

  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a

              nonstandard directory <lib dir>

  LIBS        libraries to pass to the linker, e.g. -l<library>

  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if

              you have headers in a nonstandard directory <include dir>

  CPP         C preprocessor

  CXX         C++ compiler command

  CXXFLAGS    C++ compiler flags

  CXXCPP      C++ preprocessor

  PKG_CONFIG  path to pkg-config utility

  PKG_CONFIG_PATH

              directories to add to pkg-config's search path

  PKG_CONFIG_LIBDIR

              path overriding pkg-config's built-in search path

  DOXYGEN_PAPER_SIZE

              a4wide (default), a4, letter, legal or executive

  X11_CFLAGS  C compiler flags for X11, overriding pkg-config

  X11_LIBS    linker flags for X11, overriding pkg-config

  GL_CFLAGS   C compiler flags for GL, overriding pkg-config

  GL_LIBS     linker flags for GL, overriding pkg-config

  GLU_CFLAGS  C compiler flags for GLU, overriding pkg-config

  GLU_LIBS    linker flags for GLU, overriding pkg-config

  QT5_CFLAGS  C compiler flags for QT5, overriding pkg-config

  QT5_LIBS    linker flags for QT5, overriding pkg-config

  QT5GL_CFLAGS

              C compiler flags for QT5GL, overriding pkg-config

  QT5GL_LIBS  linker flags for QT5GL, overriding pkg-config

  QT_CFLAGS   C compiler flags for QT, overriding pkg-config

  QT_LIBS     linker flags for QT, overriding pkg-config

  QTGL_CFLAGS C compiler flags for QTGL, overriding pkg-config

  QTGL_LIBS   linker flags for QTGL, overriding pkg-config

  ALSA_CFLAGS C compiler flags for ALSA, overriding pkg-config

  ALSA_LIBS   linker flags for ALSA, overriding pkg-config

  libudev_CFLAGS

              C compiler flags for libudev, overriding pkg-config

  libudev_LIBS

              linker flags for libudev, overriding pkg-config


Use these variables to override the choices made by `configure' or to help

it to find libraries and programs with nonstandard names/locations.


Report bugs to the package provider. 


다시!

$ ./configure --disable-libdvbv5 

pi@raspberrypi ~/src/v4l-utils/utils/dvb $ vi Makefile

LIBS = -lrt


라즈베리 파이 2로 빌드할 경우 -j 4 옵션으로 5분 정도 걸린다.

2015. 08. 09. (일) 23:58:09 KST

2015. 08. 10. (월) 00:03:24 KST


실행은 실패..




pi@raspberrypi ~/src/v4l-utils $ sudo modprobe bcm2835-v4l2

pi@raspberrypi ~/src/v4l-utils $ lsmod | grep v4l

bcm2835_v4l2           37225  0

videobuf2_vmalloc       3009  1 bcm2835_v4l2

videobuf2_core         33578  1 bcm2835_v4l2

v4l2_common             5077  2 bcm2835_v4l2,videobuf2_core

videodev              122487  3 bcm2835_v4l2,v4l2_common,videobuf2_core


pi@raspberrypi ~/src/v4l-utils $ ls -al /dev/video0

crw-rw---T+ 1 root video 81, 0  8월 10 00:16 /dev/video0


pi@raspberrypi ~ $ sudo v4l2-ctl --set-fmt-video=width=2592,height=1944,pixelformat=3

VIDIOC_S_FMT: failed: Device or resource busy


pi@raspberrypi ~ $ v4l2-ctl --list-devices

mmal service 16.1 (platform:bcm2835-v4l2):

        /dev/video0



pi@raspberrypi ~ $ v4l2-ctl -D

Driver Info (not using libv4l2):

        Driver name   : bm2835 mmal

        Card type     : mmal service 16.1

        Bus info      : platform:bcm2835-v4l2

        Driver version: 3.18.11

        Capabilities  : 0x85200005

                Video Capture

                Video Overlay

                Read/Write

                Streaming

                Extended Pix Format

                Device Capabilities

        Device Caps   : 0x05200005

                Video Capture

                Video Overlay

                Read/Write

                Streaming

                Extended Pix Format 


pi@raspberrypi /etc $ vi modules

# /etc/modules: kernel modules to load at boot time.

#

# This file contains the names of kernel modules that should be loaded

# at boot time, one per line. Lines beginning with "#" are ignored.

# Parameters can be specified after the module name.


snd-bcm2835

bcm2835-v4l2


---


Posted by 구차니
embeded/raspberry pi2015. 8. 9. 00:52

/usr/share/X11/xorg.conf.d/99-fbturbo.conf

파일의 출력 프레임버퍼를 수정하던


FRAMEBUFFER-/dev/fb1 start

를 하던

HDMI를 통해서만 raspivid 영상이 출력된다 -_ㅠ


tvservice를 해줘도.. 여전히 HDMI로만 ㅠㅠ
config.txt가 아닌 cmdline.txt를 통해 커널에게 fb를 0이 기본이 아닌 1로 해줘야 할지도? ㅠㅠ

pi@raspberrypi ~/src/v4l-utils $ tvservice -p

Powering on HDMI with preferred settings


/boot/cmdline.txt

fbcon=map:1


[링크 : https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=81150]

fbcon=map:1으로 해줘도 raspivid는 fb0으로만 출력 ㅠㅠ


FRAMEBUFFER=dev/fb1 startx

[링크 : http://rudas5594.tistory.com/272] 


fbtft

Linux Framebuffer drivers for small TFT LCD display modules.


Test

X Windows

FRAMEBUFFER=/dev/fb1 startx

Note: You might need to move an xorg config out of the way if X doesn't start:


sudo mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf ~

[링크 : https://github.com/notro/fbtft/wiki]


+

아몰랑 현재 포기중..

일다은 cmdline을 통해서 기본 프레임 버퍼를 바꾸는 법만 테스트 완료


+

2017.09.04

2015/08/12 - [embeded/raspberry pi] - 라즈베리 파이 xorg.conf 설정으로 SPI/HDMI 모니터 연결


Posted by 구차니
embeded/raspberry pi2015. 8. 8. 19:39

아쉽게도 라즈베리 파이에 있는 DSI 인터페이스는 아니고

[링크 : https://en.wikipedia.org/wiki/Display_Serial_Interface]


SPI를 이용한 터치 + 320x480 해상도의 LCD 이다.

DVD 하나가 들어있는데 라즈베리 img 파일이 거의 대부분의 용량을 차지하는데..

microSD의 용량이 참.. 많이도 커졌구나 싶은느낌...



이렇게 깔끔하게 장착된다 +_+


[링크 : http://eleparts.co.kr/EPXDR9TM]

    [링크 : http://cafe.naver.com/pipc/11690]


┌──────────┤ Raspberry Pi Software Configuration Tool (raspi-config) ├──────────┐

│                                                                               │

│    1 Expand Filesystem              Ensures that all of the SD card s         │

│    2 Change User Password           Change password for the default u         │

│    3 Enable Boot to Desktop/Scratch Choose whether to boot into a des         │

│    4 Internationalisation Options   Set up language and regional sett         │

│    5 Enable Camera                  Enable this Pi to work with the R         │

│    6 Add to Rastrack                Add this Pi to the online Raspber         │

│    7 Overclock                      Configure overclocking for your P         │

│    8 Advanced Options               Configure advanced settings               │

│    9 About raspi-config             Information about this configurat         │

│                                                                               │

│                                                                               │

│                                                                               │

│                     <Select>                     <Finish>                     │

│                                                                               │

└───────────────────────────────────────────────────────────────────────────────┘


┌──────────┤ Raspberry Pi Software Configuration Tool (raspi-config) ├──────────┐

│                                                                               │

│    A1 Overscan                      You may need to configure oversca         │

│    A2 Hostname                      Set the visible name for this Pi          │

│    A3 Memory Split                  Change the amount of memory made          │

│    A4 SSH                           Enable/Disable remote command lin         │

│    A5 Device Tree                   Enable/Disable the use of Device          │

│    A6 SPI                           Enable/Disable automatic loading          │

│    A7 I2C                           Enable/Disable automatic loading          │

│    A8 Serial                        Enable/Disable shell and kernel m         │

│    A9 Audio                         Force audio out through HDMI or 3         │

│    A0 Update                        Update this tool to the latest ve         │

│                                                                               │

│                                                                               │

│                     <Select>                     <Back>                       │

│                                                                               │

└───────────────────────────────────────────────────────────────────────────────┘


          ┌──────────────────────────────────────────────────────────┐

          │                                                          │

          │ Would you like the SPI interface to be enabled?          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │               <>                   <아니오>            │

          │                                                          │

          └──────────────────────────────────────────────────────────┘


          ┌──────────────────────────────────────────────────────────┐
          │                                                          │
          │ The SPI interface will be enabled after a reboot         │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                          <확인>                          │
          │                                                          │
          └──────────────────────────────────────────────────────────┘

          ┌──────────────────────────────────────────────────────────┐
          │                                                          │
          │ Would you like the SPI kernel module to be loaded by     │
          │ default?                                                 │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │               <>                   <아니오>            │
          │                                                          │
          └──────────────────────────────────────────────────────────┘


          ┌──────────────────────────────────────────────────────────┐
          │                                                          │
          │ SPI kernel module will now be loaded by default          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                                                          │
          │                          <확인>                          │
          │                                                          │
          └──────────────────────────────────────────────────────────┘ 


pi@raspberrypi ~/src/lcd $ git clone https://github.com/swkim01/waveshare-dtoverlays.git
Cloning into 'waveshare-dtoverlays'...
remote: Counting objects: 39, done.
remote: Total 39 (delta 0), reused 0 (delta 0), pack-reused 39
Unpacking objects: 100% (39/39), done.

3.5인치 모델이니까 waveshare35a 로 설정
pi@raspberrypi ~/src/lcd $ sudo cp waveshare-dtoverlays/waveshare35a-overlay.dtb /boot/overlays/
pi@raspberrypi ~/src/lcd $ sudo vi /boot/config.txt
dtparam=spi=on
dtoverlay=waveshare35a

pi@raspberrypi ~ $ sudo vi /usr/share/X11/xorg.conf.d/99-fbturbo.conf
# This is a minimal sample config file, which can be copied to
# /etc/X11/xorg.conf in order to make the Xorg server pick up
# and load xf86-video-fbturbo driver installed in the system.
#
# When troubleshooting, check /var/log/Xorg.0.log for the debugging
# output and error messages.
#
# Run "man fbturbo" to get additional information about the extra
# configuration options for tuning the driver.

Section "Device"
        Identifier      "Allwinner A10/A13 FBDEV"
        Driver          "fbturbo"
        Option          "fbdev" "/dev/fb1"

        Option          "SwapbuffersWait" "true"
EndSection

pi@raspberrypi ~/src/lcd $ sudo reboot

원래 전원인가 되면 이렇게 밝던 녀석이


dtoverlay 설정이 되면 약간 흐리게 화면이 나온다.


일단은.. HDMI가 위쪽으로 가는게 기본 방향인데..

터치랑 화면이랑 각도가 안 맞아서 이래저래 캘리브레이션을 해야 할 듯 ㅠㅠ


pi@raspberrypi ~ $ sudo apt-get install xinput
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다
상태 정보를 읽는 중입니다... 완료
다음 새 패키지를 설치할 것입니다:
  xinput
0개 업그레이드, 1개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
26.2 k바이트 아카이브를 받아야 합니다.
이 작업 후 84.0 k바이트의 디스크 공간을 더 사용하게 됩니다.
받기:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main xinput armhf 1.6.0-1 [26.2 kB]
내려받기 26.2 k바이트, 소요시간 1초 (19.1 k바이트/초)
Selecting previously unselected package xinput.
(데이터베이스 읽는중 ...현재 92893개의 파일과 디렉터리가 설치되어 있습니다.)
xinput 패키지를 푸는 중입니다 (.../xinput_1.6.0-1_armhf.deb에서) ...
man-db에 대한 트리거를 처리하는 중입니다 ...
xinput (1.6.0-1) 설정하는 중입니다 ...


pi@raspberrypi ~ $ sudo service lightdm restart
[ ok ] Stopping Light Display Manager: lightdm.
[ ok ] Starting Light Display Manager: lightdm.


pi@raspberrypi /boot/overlays $ ls -al /dev/fb*
crw-rw---T 1 root video 29, 0  1월  1  1970 /dev/fb0
crw-rw---T 1 root video 29, 1  1월  1  1970 /dev/fb1


그나저나.. fb0가 HDMI나 composite로 되어있어서
카메라 출력해보면 LCD로는 출력이 되지 않는다 -_-



+

2015.08.09 추가

으으 로컬에서 해야 하는거 느므시러 ㅠㅠ

$ wget http://tronnes.org/downloads/xinput-calibrator_0.7.5-1_armhf.deb

$ sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb

$ xinput_calibrator

Unable to connect to X server 


그나저나 SPI라서 그런지 화면 갱신이 꽤나 느리네..

pi@raspberrypi ~ $ xinput_calibrator 

Calibrating EVDEV driver for "ADS7846 Touchscreen" id=9

current calibration values (from XInput): min_x=0, max_x=4095 and min_y=0, max_y=4095


Doing dynamic recalibration:

Swapping X and Y axis...

Setting new calibration data: 237, 3965, 3888, 214



--> Making the calibration permanent <--

  copy the snippet below into '/etc/X11/xorg.conf.d/99-calibration.conf'

Section "InputClass"

Identifier "calibration"

MatchProduct "ADS7846 Touchscreen"

Option "Calibration" "237 3965 3888 214"

Option "SwapAxes" "1"

EndSection 


위에 예제 대로 했더니 잘 안되서

X/Y 모두 스왑 / 축 바꾸기 전부 시전 ㄷㄷ

$ cat /usr/share/X11/xorg.conf.d/99-fbturbo.conf

# This is a minimal sample config file, which can be copied to

# /etc/X11/xorg.conf in order to make the Xorg server pick up

# and load xf86-video-fbturbo driver installed in the system.

#

# When troubleshooting, check /var/log/Xorg.0.log for the debugging

# output and error messages.

#

# Run "man fbturbo" to get additional information about the extra

# configuration options for tuning the driver.


Section "Device"

        Identifier      "Allwinner A10/A13 FBDEV"

        Driver          "fbturbo"

        Option          "fbdev" "/dev/fb1"


        Option          "SwapbuffersWait" "true"

EndSection


Section "InputClass"

        Identifier      "calibration"

        MatchProduct    "ADS7846 Touchscreen"

        Option  "Calibration"   "237 3965 3888 214"

        Option  "SwapAxes"      "1"

        Option "InvertX" "1"

        Option "InvertY" "1"

EndSection 


$ cat /boot/cmdline.txt

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait fbcon=map:1



SPI로 하기 때문에 어쩔수 없이.. 16bit color인건가? RGB565로 걸리네



fbtft 의 덕택으로 편하게 쓰는.. 로그? ㅋ

pi@raspberrypi ~ $ dmesg | grep -i tft

[    3.611085] fbtft: module is from the staging directory, the quality is unknown, you have been warned.

[    3.700666] fbtft_of_value: regwidth = 16

[    3.709297] fbtft_of_value: buswidth = 8

[    3.716195] fbtft_of_value: debug = 0

[    3.733842] fbtft_of_value: rotate = 90

[    3.748195] fbtft_of_value: fps = 30 


dts 파일을 열어보니.. 먼소리인지 모르겠다? ㅋㅋ

아무튼

LCD는 16MHz SPI clk

터치는 2MHz SPI clk로 작동이라.. 저걸 변경해서 LCD쪽 SPI 클럭 올려주면 좀더 빠르려나?

pi@raspberrypi ~/src/lcd/waveshare-dtoverlays $ cat waveshare35a-overlay.dts

/*

 * Device Tree overlay for PiScreen 3.5" display shield by Ozzmaker

 *

 */


/dts-v1/;

/plugin/;


/ {

        compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709";


        fragment@0 {

                target = <&spi0>;

                __overlay__ {

                        status = "okay";


                        spidev@0{

                                status = "disabled";

                        };


                        spidev@1{

                                status = "disabled";

                        };

                };

        };


        fragment@1 {

                target = <&gpio>;

                __overlay__ {

                        waveshare35a_pins: waveshare35a_pins {

                                brcm,pins = <17 25 24>;

                                brcm,function = <0 0 0>; /* in in in */

                        };

                };

        };


        fragment@2 {

                target = <&spi0>;

                __overlay__ {

                        /* needed to avoid dtc warning */

                        #address-cells = <1>;

                        #size-cells = <0>;


                        waveshare35a: waveshare35a@0{

                                compatible = "ilitek,ili9486";

                                reg = <0>;

                                pinctrl-names = "default";

                                pinctrl-0 = <&waveshare35a_pins>;


                                spi-max-frequency = <16000000>;

                                rotate = <90>;

                                bgr;

                                fps = <30>;

                                buswidth = <8>;

                                regwidth = <16>;

                                reset-gpios = <&gpio 25 0>;

                                dc-gpios = <&gpio 24 0>;

                                debug = <0>;


                                init = <0x10000b0 0x00

                                        0x1000011

                                        0x20000ff

                                        0x100003a 0x55

                                        0x1000036 0x28

                                        0x10000c2 0x44

                                        0x10000c5 0x00 0x00 0x00 0x00

                                        0x10000e0 0x0f 0x1f 0x1c 0x0c 0x0f 0x08 0x48 0x98 0x37 0x0a 0x13 0x04 0x11 0x0d 0x00

                                        0x10000e1 0x0f 0x32 0x2e 0x0b 0x0d 0x05 0x47 0x75 0x37 0x06 0x10 0x03 0x24 0x20 0x00

                                        0x10000e2 0x0f 0x32 0x2e 0x0b 0x0d 0x05 0x47 0x75 0x37 0x06 0x10 0x03 0x24 0x20 0x00

                                        /* piscreen -> waveshare35a */

                                        0x1000036 0x28

                                        0x1000011

                                        0x1000029>;

                        };


                        waveshare35a-ts@1 {

                                compatible = "ti,ads7846";

                                reg = <1>;


                                spi-max-frequency = <2000000>;

                                interrupts = <17 2>; /* high-to-low edge triggered */

                                interrupt-parent = <&gpio>;

                                pendown-gpio = <&gpio 17 0>;

                                ti,x-plate-ohms = /bits/ 16 <60>;

                                ti,pressure-max = /bits/ 16 <255>;

                        };

                };

        };

        __overrides__ {

                speed =         <&waveshare35a>,"spi-max-frequency:0";

                rotate =        <&waveshare35a>,"rotate:0";

                fps =           <&waveshare35a>,"fps:0";

                debug =         <&waveshare35a>,"debug:0";

        };

}; 


+
2015.08.11
스케마틱은 안보이니 이거라도..
아무튼.. 


어느게 몇번 핀인지 알게 머야 ㅠㅠ

[링크 : http://www.wvshare.com/product/3.5inch-RPi-LCD-A.htm]


핀번호로 매칭해보니.. 왼쪽의 SPI는 LCD 오른쪽의 SPI가 터치구나..


Posted by 구차니