고도리님이 게재한 내용을 다시 간략하게 정리해 보았습니다.
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 )
네트워크, 파일시스템 용어 모음 (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 |