mv6410-lcd linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로...

31
MV6410 Linux 마이크로비젼 MV6410 Linux 1 MV6410-LCD Linux 활용 가이드 ㈜ 마이크로비젼

Upload: others

Post on 02-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 1

MV6410-LCD Linux 가 드

㈜ 크 비젼

Page 2: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 2

1. 눅스 경 정

개 저 경 정 다. 그 가 네트워크 정 과

GCC 정 저 겠다. 참고 당사는 페 라6 눅스 다.

그 처럼 눅스 저 PC 가 네트워크 상태 연결 고,

역시 타겟 보드 니 수 게 시 (UART) 연결 다.

경 정 다 과 같다.

▶ Linux Server IP 정

▶ minicom 정

▶ tftp 정

▶ nfs 정

▶ GCC 경

Page 3: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 3

1) Linux Server IP 정

다 과 같 IP 정 수 다. 또 “ifconfig” IP

주 수 다.

# ifconfig eth0 192.168.0.177 netmask 255.255.255.0 up

또 “setup” 정 수 다.

# setup

“Network configuration” 택

Page 4: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 4

IP “OK” 택

Page 5: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 5

2) minicom 정

눅스 상에 RS-232C 타겟보드 PC 간 니 수 게 주는 그

램 다. 에 퍼 미널 과 같 그램 라고 생각 다.

쉘 트 상태에 “minicom –s” 실 다.

# minicom -s

“Serial port setup” 택 다.

Page 6: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 6

에 는 정 다.

정 다 과 같다. 만 Serial Device 정 고 싶 “A” 고, 정

“Enter” 키 누 다.

Page 7: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 7

3) tftp

tftp 정 u-boot, zImage, File System 미 넷 타 보드에

수 다.

# cd etc/xinetd.d

# vi tftp

수정 전

수정

그 처럼 “disable = no” 꾸 주 tftp가 동 다.

Page 8: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 8

다 “setup” tftp 정 보겠다.

# setup

“System services” 택 다.

“tftp” 택 다.

“OK”클 다 과 같 xinetd 수 다.

# service xinetd restart

Page 9: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 9

4) nfs 정

nfs는 타겟 보드 눅스 간 폴 공 게 파 수정 복사 수

는 그램 다.

저 눅스 정 주 다.

다 과 같 순 다.

# mkdir nfs

# chmod 777 nfs

# chown nobody nfs

# cd etc

# vi exports

“/nfs 192.168.0.*(rw,sync,no_root_squash)” 다. /nfs 는

‘탭’ 동 192.168.0.*(rw,sync,no_root_squash) 다.

Page 10: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 10

다 “nfs” 다시 동 시킨다.

# /etc/rc.d/init.d/nfs restart

Page 11: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 11

타겟보드 정 다 과 같 다.

에 그 처럼 보드 처 팅 /root 폴 가 나 고 “cd ..” 여 상

가 여러 가 폴 가 나 는 , 여 Read Only 므 저널

“Qtopia” 폴 에 nks 트 고, 쓰 가 가능 다. 저 “Qtopia”

폴 에 “mkdir” nfs 폴 생 고 “chmod” 든

다.

트 다 과 같다.

mount –t nfs –o nolock 눅스 IP:/nfs /타겟보드 nfs 폴

# mount –t nfs –o nolock 192.168.0.177:/nfs /Qtopia/nfs

<MV6410-LCD>

< 눅스 PC NFS>

그 처럼 눅스 “nfs” 폴 가 타 보드 Qtopia/nfs에 트

“bash_profile” 파 공 습 볼 수 다.

Page 12: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 12

5) GCC 경

PC 스크 탑 x86 Linux 에 컴파 게 그 컴퓨 에 맞는 너 드가

생 다. 너 드는 타겟보드에 저 수 는 공간 나 틀

문에 타겟 개 는 x86 컴퓨 에 ARM 사 수 는 너

드 만들 크 스 컴파 러가 다.

저 /usr/local/arm 폴 만들고 CD 에 Sources\Linux\toolchain 는

“4.3.1-eabi-armv6-mv20081010.tar.gz” 파 눅스 PC /usr/local/arm 복사 다.

는 다 과 같다.

# mkdir -p /usr/local/arm

# tar xvf 4.3.1-eabi-armv6-mv20081010.tar

# mv 4.3.1 /usr/local/arm/

# export PATH=$PATH:/usr/local/arm/ 4.3.1-eabi-armv6/usr/bin/arm-linux-

그 고 드시 bash_profile 에 PATH 경 다.

는 다 과 같다

# vi ~/.bash_profile

에 정 당사 눅스 PC 경 정 다.

PATH=$PATH:$HOME/bin:/usr/local/arm/4.3.1-eabi-armv6/usr/bin

LD_LIBRARY_PATH=/usr/local/arm/4.3.1-eabi-armv6/gmp/lib:/usr/local/arm/4.3.1-eabi-

armv6/mpfr/lib

export PATH LD_LIBRARY_PATH

unset USERNAME

LANG=en

Page 13: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 13

4.3.x . GCC는 드시 gmp mpfr 경 정 주 다.

For example :

LD_LIBRARY_PATH=/usr/local/arm/4.3.1-eabi-armv6/gmp/lib:/usr/local/arm/4.3.1-eabi-

armv6/mpfr/lib

export PATH LD_LIBRARY_PATH

또 절 “LD_LIBRARY_PATH” 꾸 는 다. 정 끝나 경 적

다.

는 다 과 같다.

# source ~/.bash_profile

Page 14: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 14

2. 주 사 는 눅스

파 보

# ls, # ls –a # ll

접 사

# who

# pwd

파 보

# which xxx

Page 15: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 15

폴 생 삭제

# mkdir xxx <- 폴 생

# rmdir xxx <- 폴 삭제

폴 파 전 삭제

# \rm –r xxx

파 복사

# cp 복사 파 복사

Page 16: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 16

PIPE 사 ( | )

PIPE 란 결과 값 다 수전달 는 다.

# ls –l /bin | more, # ps –aux | more, # ps –ef | more

정보

# free

CPU 점 정보

# top

Page 17: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 17

경 수

# env | more

특정 경 수

# echo 경 수

트 정보

# df –h

IP

# ifconfig

Page 18: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 18

RPM

RPM (RedHat Package Manager) 눅스에 제공 는 본 패키 다. 전에 눅스

는 든 패키 tar 만 문에 눅스 사 는 많 거

다. 그래 패키 쉽게 고 rpm 만들게 다.

RPM

# rpm –i 패키

RPM 트

# rpm -uvh 패키

RPM 패키 정보

# rpm –qip 패키

RPM 강제

# rpm –ivh 패키

RPM 삭제

# rpm –e 패키

RPM 전

# rpm –qlp 패키

Page 19: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 19

사 계정

새 사 계정 만들 ( 드시 ROOT 에 다.)

새 계정 생

# useradd xxx

# passwd

비 다.

계정 그 에 그 처럼 root 계정 가 는 “# su –l”

다. 그 고 다시 저 계정 가고 싶 “# su 저계정” 다.

Page 20: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 20

tar , 제

tar

# tar cvf 파 .tar 파

tar 제

# tar xvf 파 .tar

Page 21: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 21

3. MV6410 Cram File System 미 만들

# mkdir mv6410_org <-폴 생

# mount –o loop rootfs_mv6410.cramfs mv6410_org <- 미 폴 에 트

# tar cvf mv6410_new.tar mv6410_org <- 트 폴 tar 다.

# umount mv6410_org

# tar xvf mv6410_new.tar <- 제 다

# mkfs.cramfs mv6410_org mv6410_new <- 제 폴 미 만들

위에 있는 mkfs.cramfs 는 페 라6 고 눅스 는 mkfs.cramfs 닌

cramfs 사 다.

Page 22: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 22

4. MV6410 SD-CARD 트

드 삽 래 같 다.

# mount /dev/mmcblk0p1 /mnt

Page 23: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 23

5. MV6410 Linux Kernel 조

block : 시스 타 에 I/O 스 러 폴

crypto : 드에 폴

Documentation : 커널에 각종 스트 문

fs : 가상 파 시스 등 여러 파 시스 폴

init : 눅스 init 에 폴

ipc : 32bit IPC (Inter Process Communication) 포 , 시 큐 등, 폴

kernel : 수 시스 과 각종 mutex 그 고 시그널 제 에 폴

lib : 커널 라 브러 수 집 폴

mm : 크 트 스크 논 에 그 고 물 접근 는 폴

net : 네트워크 폴

scripts : 눅스 체계 수 각종 스크 트 폴

security : 보 에 폴

sound : 사 드에 폴

usr : fifo pipe 젝트 폴

여 개 가 접 제 폴 는 arch, drivers, include 가 다.

Page 24: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 24

1) arch

폴 는 커널에 계 키 쳐 드가 들 다.

arch/arm/configs 에 make menuconfig 수 파 다.

“mv6410_defconfig”

또 make 컴파 료 arch/arm/boot 에 타겟보드에 다

는 “zImage”가 다.

2) include

폴 는 실제 mtd, pmica, network 등 커널에 각종 헤 파 여 는 폴

다.

3) drivers

MV6410-LCD H/W 각종 드라 가 는 스 다.

/ usb : usb 드라

/ serial : UART 드라

/ video : LCD 드라

/ media : Camera 드라

/ net : Ethernet 드라

Page 25: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 25

6. 그램

bplay : 그램

brec : 녹 그램

fbcam : 라 그램

tv_test : TV OUT 그램

1) 그램 컴파 실

(컴파 )

CD 에 보 개 파 다.

bplay-0.991.tar.gz : bplay, brec 그램

fbcam.tar.gz : Camera 그램

다 여 제 다.

# tar xvf bplay-0.991.tar.gz

Page 26: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 26

# make

컴파 끝나 bplay, brec 실 파 생 다.

(실 )

에 그 처럼 vi test 파 만들 다.

생 “test” 파

Page 27: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 27

brec 그램 는 /root 폴 동 MV6410 보드에 는 크 에

크 연결 고 녹 다.

실 는 다 과 같다.

# ./brec /mnt/test

녹 끝나 “Ctrl + c” 누 종료 다.

# ./bplay /mnt/test 수 녹 청취 수 다.

Page 28: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 28

2) 라 그램 컴파 과 실

(컴파 )

다 과 같 제 다.

# tar xvf fbcam.tar.gz

“vi Makefile” 에 그 처럼 본 제 커널 맞게 꾸 다.

vi 에 종료 “make all” 수 “fbcam” 실 파 생 다.

Page 29: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 29

(실 )

보드에 는 크 들 컨네 라 연결 고 팅 “./fbcom” 주 라가

실 다.

Page 30: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 30

3) WIFI 실

는 다 과 같다.

# insmod rt73.ko

# ifconfig rausb0 192.168.xxx.xxx

# iwlist scanning

여 AP 비 검색 는 그 비 주 다.

# iwconfig rausb0 essid [Write! Ap of name ]

Page 31: MV6410-LCD Linux 활용 가이드 · gcc 설정 방법을 먼저 설명하겠다. 참고로 당사는 페도라6 리눅스로 작업했다. 위의 그림처럼 리눅스 서버와

MV6410 Linux 마이크로비젼

MV6410 Linux 31

4) TV-OUT 실

는 다 과 같다.

# insmod s3c-tvscaler.ko

# insmod s3c-tvenc.ko

# ./tv_test 0 -> Composite tv out

# ./tv_test 0 0 -> Composite tv out

# ./tv_test 0 1 -> S-Video tv out