Presentation is loading. Please wait.

Presentation is loading. Please wait.

Eclipse를 이용한 Embedded Linux 응용 프로그램 개발

Similar presentations


Presentation on theme: "Eclipse를 이용한 Embedded Linux 응용 프로그램 개발"— Presentation transcript:

1 Eclipse를 이용한 Embedded Linux 응용 프로그램 개발
한국전자통신연구원 임베디드SW연구부 김 태 호

2 Eclipse 탄생 배경 개발 지원 도구의 필요성 시장 규모의 제한 각종 도구 통합 필요성 플랫폼 확산에 필요
개발 지원 도구 개발의 어려움 각종 도구 통합 필요성 기능의 중복 개발 기능의 상호 연동

3 Eclipse 역사 1998 2001 2004 2009 IBM Ottawa Lab. IBM의 도구가 함께 동작하지 않음
OTI (Object Technology Int.) 가 전신 IBM의 도구가 함께 동작하지 않음 2001 Eclipse consortium IBM 기부 2004 Eclipse foundation 2009 약 150 회사/학교 참여 ETRI, MDS 등

4 Eclipse 의 구성 요소 Eclipse Platform Workbench New Tool Help JFace
Standard Widget Toolkit (SWT) New Tool Team Team New Tool JDT , CDT 도 하나의 플러그 인 Workspace Platform Runtime

5 Eclipse Project 현황 Business Intelligence and Reporting Tools (BIRT)
Data Tools Platform Device Software Development Platform (DSDP) Eclipse Project Eclipse Modeling Project Eclipse RT SOA Tools Eclipse Technology Project Tools Project Test and Performance Tools Platform Project Eclipse Web Tools Platform Project Tools Project – CDT (C/C++ Development Tool)

6 개발 환경 (1) 타겟 시스템 호스트 시스템 빌드 시스템

7 개발 환경 (2) 타겟 시스템 호스트 시스템

8 Plug in 설치 Eclipse 환경에서 설치
Help > Install New Software > Work with: > Add Name: CDT Location: 로컬 파일도 가능 Selection Name CDT Main Features Eclipse C/C++ Development Tools Finish

9 C/C++ Development Toolkit / CDT
C/C++ Perspective 기본적으로 로컬 프로그램 개발 지원 Hello World! 프로그램 화면

10 C/C++ Development Toolkit / CDT
원격 프로그램 개발/실행/디버깅 개발 Host 시스템에서 eclipse 사용 편집 및 컴파일 Target 시스템으로 전송 ftp, NSF 등 이용 Target 시스템에서 실행 Serial terminal, telnet 등 이용하여 shell 상에서 수동 실행 Target 시스템을 통해 디버깅 Serial terminal, telnet 등 이용하여 shell 상에서 gdbserver 수동 실행

11 Debug / CDT Target 시스템 Host 시스템 $ gdbserver :10000 test
Run > Debug configuration gdbserver Debugger 선택 Host Target Eclipse Debug perspective GDB Remote Protocol gdbserver application

12 Run/Debug Configurations / CDT
(gdb) target remote :10000

13 C/C++ Build for arm / CDT
Managed C/C++ project Project > Properties > C/C++ Build > Settings GCC C Compiler: arm-linux-gcc GCC C Linker: arm-linux-gcc GCC Assembler: arm-linux-as Makefile project make 명령 실행 디버거 설정 Run > Debug Configurations > Debugger > Debugger Options > Main GDB debugger: arm-linux-gdb 그림

14 GDB Hardware Debugging / CDT

15 Cross GCC 설정 / CDT Project > Properties > C/C++ Build
(주의) Local C/C++ Project 에서는 설정 안 됨

16 DSDP (Device Software Development Platform)
Blinki Device Debugging (CDT로 통합) Mobile Tools for Java (MTJ) Native Application Builder (NAB) Real-Time Software Component (RTSC) Target Management Tools for Mobile Linux (TmL)

17 Target Management Remote System Explorer (RSE) Terminal
원격 개발을 위해 확장된 기능 원격 파일 검색 원격 파일 다운로드 원격 파일 실행 Terminal vt102 터미널 (serial, ssh, telnet 지원)

18 RSE – 통신방식 / TM ssh dstore ftp, telnet, … tcf ssh 보다 다양한 기능
Java byte 코드로 제공 gcj 기반 jvm에서는 수행안됨 별도로 다운로드 Windows, Linux, Other Unix, Mac OS X 지원 Daemon 모드(daemon.pl)와 서버 모드(server.pl) ftp, telnet, … 권장하지 않음 tcf Daemon 모드만 동작 확인, 서버 모드는 문제 있음

19 Remote System Explorer / TM
Remote System Explorer Perspective

20 Remote System Explorer / TM
New Connection – SSH

21 SSH Connection – RSE / TM

22 Run/Debug Configuration / TM
s

23 Run/Debug - Target Console / TM

24 dstore Connection – RSE / TM

25 Remote Project / TM 오류가 존재하기 때문에 권장하지 않음 실제 build는 되지 않음 해결될 것으로 예상
makefile 자동 생성 안됨 해결될 것으로 예상

26 Remote Project (1) / TM C/C++ perspective RSE perspective

27 Remote Project (2) / TM

28 Cross GCC 설정 / TM Project > Properties

29 TM / TCF (Target Communication Framework)
Eclipse와 target 간의 통신 방식 통일 target agent, OCD/JTAG, simulator Target agent의 prototype 제공 C 로 구현 현재 incubating 수준

30 기존 툴 구조 / TCF Tool A Tool B Tool C Tool D UI P2 Value Add B
Value Add C Host P1 P3 Agent A Agent B Agent C Target

31 TCF 구조 / TCF Tool A Tool B Tool C Tool D UI Value Add P1 Service 4
Host Service 5 P1 Service Manager Service 1 Service 2 Service 3 Target

32 RSE / TCF Run/Debug Configuration > TCF

33 Eclipse Esto

34 Esto 다운로드

35 Remote Run/Debug / Esto
$ tae

36 원격 모니터 / Esto 타겟 시스템의 자원 CPU 정보, 커널 정보
Process, Thread, Symbol, IO Port, IO Memory, Kernel Module, Kernel Module, Memory Map 정보 등

37 기타 도구 / Esto Esto : 응용 프로그램 개발 도구 QuickDriver : 디바이스 드라이버 개발 도구
RPM 패키징 도구 Hardware 디버거 API 사용 정적 분석 도구 QuickDriver : 디바이스 드라이버 개발 도구 소스코드 생성 도구 유틸리티 도구 테스팅 도구

38 원격 개발 환경 정리 Eclipse 프로젝트 사용 Esto 사용 Eclipse 원격 개발 기능
CDT 수동 실행 / 수동 디버거 시작 DSDP ssh와 dstore 접속을 통한 자동 다운로드, 실행, 디버깅 Eclipse를 통한 cross 컴파일러 설정 Managed C/C++ 프로젝트 Cross compiler 설정 Makefile 프로젝트 Esto 사용

39 Esto 보급 내부 개발자용 외부 판매 Bundle 제공

40 Esto 미래 (2009 ~ 2011) 타겟 패키징 도구 Kernel 설정 도구 Root file 시스템 생성 도구
응용 프로그램 개발 도구 정적 분석 도구 API 적합성 시험 도구 에코시스템 도구

41


Download ppt "Eclipse를 이용한 Embedded Linux 응용 프로그램 개발"

Similar presentations


Ads by Google