FSTWikiRev. 1.18 EmbeddedLinuxGuide
Login:
Password:
Join
E D R S I H P RSS
FrontPage|FindPage|TitleIndex|RecentChanges

임베디드 리눅스 실전 가이드 #

-- 김도집 2005-08-24 11:41:25

Contents

1 임베디드 리눅스 실전 가이드
1.1 개요
1.2 저작권
1.3 개발 도구
1.3.1 scratchbox
1.3.1.1 설치 on the debian
1.3.1.2 scratchbox에서 toolchain 만들기
1.3.1.3 scratchbox에서 kegel의 crosstool로 만들기
1.3.2 uclibc를 이용한 toolchain 만들기
1.3.3 kegel의 toolchains 만들기
1.3.4 xscale toolchains 빌드 분석
1.3.5 binutiles
1.3.6 라이브러리
1.3.6.1 zlib
1.3.6.2 libjpeg
1.3.6.3 libpng
1.3.7 사용자 정의 라이브러리
1.3.7.1 정적 라이브러리 만들기
1.3.7.2 동적 라이브러리 만들기
1.3.7.3 라이브러리 사용하기
1.3.8 Autotools
1.3.9 Make/Makefile
1.3.9.1 Makefile 일괄 처리
1.3.10 ?SCons
1.3.11 vim
1.3.12 ctags
1.3.13 디버깅
1.3.13.1 gdb
1.3.13.1.1 Cross-GDB compilation
1.3.13.1.2 gdb 사용
1.3.13.2 사용자 모드 디버깅
1.3.13.3 커너 모드 디버깅
1.3.13.3.1 kgdb
1.3.13.3.2 kdb
1.3.14 Doxygen
1.3.15 테스트
1.4 부트로더
1.5 커널
1.5.1 모듈 프로그래밍
1.5.1.1 Makefile 만들기
1.5.1.2 간한단 모듈 예
1.5.2 프로세스
1.5.3 비동기
1.5.3.1 시그널
1.5.4 메모리
1.5.4.1 IO 메모리
1.6 램디스크
1.7 응용 프로그램
1.7.1 Makefile (skelecton)
1.7.2 프로세스
1.7.3 시그널
1.8 참고


1.1 개요 #

1.2 저작권 #


본 내용에 대한 것은 자유롭게 배포 가능하다. 단, 출처는 명시해야 하며, 임의 수정 배포는 허용하지 않는다.

1.3 용어 #


1.4 툴체인 #

1.4.1 라이브러리 #

1.4.1.1 zlib #

zlib은 널리 사용되는 압축 라이브러리이다.


zlib 1.2.2 버전 이하에서는 보안 문제가 있으므로 반드시 최신 버전을 사용하기 권한다.


zlib는 다음의 사이트에서 구할 수 있다: [http]http://www.zlib.net
1.4.1.1.1 빌드 하기 #
다음은 zlibc 1.2.3의 빌드 과정이다.


  1. ./configure 또는 ./configure --shared 를 실행한다.

    --shared 옵션은 zlib 라이브러리를 동적으로 만들라는 의미이다.
  2. ./configure --shared --prefix=/usr/local/arm/arm-uclibc-3.3.5
    


  3. Makefile 을 다음과 같이 수정한다:
    CROSS=arm-linux-
    CC=$(CROSS)gcc
    LDSHARD=$(CROSS)gcc -shared -Wl,-soname,libz.so.1
    CPP=$(CROSS)gcc -E
    AR=$(CROSS)ar rc
    RANLIB=$(CROSS)ranlib
    


  4. make install 를 실행하여 빌드된 것을 설치한다.




1.5 부트로더 #

1.6 커널 #


1.6.1 모듈 프로그래밍 #

1.6.1.1 Makefile 만들기 #

커널 2.6에서는 외부 모듈의 빌드를 커널 소스 내의 빌드 시스템을 이용한다. 예를 들어 foobar.ko 라는 커널 모듈을 만든다고 하면 다음과 같이 Makefile 파일을 만든다.
ifneq ($(KERNELRELEASE),)
#call from kernel build system

foobar-objs := foo_1.o foo_2.o

obj-m := foobar.o

else

KERNELDIR ?= /YOUR/KERNEL/SOURCE/PATH
PWD := $(shell pwd)

modules:
        $(MAKE) -C $(KERNELDIR) M=$(PWD) modules

endif

clean:
        rm -rf *.o *~ core .depend .*.cmd .*.o.d *.ko *.mod.c .tmp_versions



1.7 응용 프로그램 #


1.8 참고 #


last modified 2006-05-11 08:05:34
ShowPage|FindPage|DeletePage|LikePages Valid XHTML 1.0! Valid CSS! powered by MoniWiki
0.0987 sec