고도리님이 게재한 내용을 다시 간략하게 정리해 보았습니다.
Link : http://kelp.or.kr/korweblog/stories.php?story=06/10/18/5755631&topic=45


1. 임베디드 리눅스의 개요

  - Embedd와 Linux 둘다 잘해야 한다.

  0> 무조건 프로그래밍은 기본

  1> 리눅스 환경에 익숙해 질 것, 즉 세팅을 잘해야 함.

  2> 네트워크에 대한 기본 지식을 공부해 둘 것.

  3> 리눅스 시스템 프로그래밍을 공부해 둘 것.

  4> 하드웨어 동작에 대한 기본을 공부할 것.

  5> 타겟을 정함. cpu 뿐만 아니라 공부에 대한 목표를 정해야 함. (무엇을, 어디까지)

  6> 부트로더 소스등을 충분히 분석해 볼 것.

  7> 넘 성급하지 말 것.


2. 개발 환경
 
 - 리눅스가 설치되어야 한다.

 - 타겟보드 (개발하고자 하는 보드)가 있어야 한다.

 - 호스트와 타겟 보드간의 네트워크가 연결되어 있어야 한다.

 - 호스트 시스템에는 타겟보드 개발용 cross toolchain이 설치되어 있어야 한다.

 - 타겟 보드용 부트로더를 작성하던가 지존의 부트로더를 수정해야 한다.

 - 타겟 보드용 커널이 있어야 한다.

 - 타겟 보드용 root filesystem이 있어야 한다.


 마지막 3개는 직접 개발해야 할 가능성이 높다.


3. 공부해야 하는 순서
 
 1> 일단 C를 잘해야 한다.
 
 2> 타겟을 정한다. (리눅스 : x86, 임베디드 리눅스 : STLinux - STI7105)

 3> ARM 기초

    - ARM 강좌 : ARM Core, 명령어, arm startup code

    - ARM architecture reference manual

    - STI7105 CPU Menual

    - U-Boot ( http://sourceforge.net/projects/u-boot )

    - 리눅스 커널 / 디바이스 드라이버
        -> 커널을 공부할 때 제일 좋은 것은 커널 소스와 커널 소스에 포함되어 있는 Documentation 디렉토리이다.
        -> Porting device drivers to the 2.6 kernel ( http://lwn.net/Articles/driver-porting/ )

    - 임베디드 리눅스 커널 분석 ( http://wiki.kldp.org/KoreanDoc//html/EmbeddedKernel-KLDP/ )

    - Root filesystem 및 packaging 자료 ( http://www.netmanias.com )

'[Z-01] 참고 ' 카테고리의 다른 글

네트워크, 파일시스템 용어 모음  (0) 2010.04.02
Embedded Linux study 목표  (0) 2010.03.26
今臣戰船尙有十二  (0) 2009.12.28
__attribute__((packed))  (0) 2009.12.28
[UTIL] FileZilla  (0) 2009.12.21
Posted by eoseontaek