2009. 4. 10. 11:56
Eclipse 기반 임베디드 리눅스 크로스 플랫폼 개발 환경을 소개한다.
소개
Eclipse 기반 임베디드 리눅스 크로스 플랫폼 개발 환경을 소개한다.
개발 환경 버젼 정보
-
Ubuntu-edgy-i386
-
Eclipse SDK-3.2.1 Build id: M20060921-0945
-
Subclipse 1.0.4
-
CDT 3.1.1
-
CDT와 Subclipse의 간략한 설명 및 설치는 여기를 참고합니다.
http://bebop.emstone.com/Members/park0103/work-tip/eclipse-cdt-pydev-subclipse-plugin-install/
Subclipse로 프로젝트 불러오기
Repository를 추가
- Perspective 를 SVN으로 변경합니다.
- SVN Repository 창에서 마우스 오른쪽 버튼 -> [New] -> [Repository Location ...]
- URL에 http://svn.emstone.com/svn/at204x 입력
Project Check out
- 프로젝트 선정 후 마우스 우버튼 클릭합니다. 여기서는 at204x-1.6-stable를 선정
- "Check out as a project configured using the New Project Wizard"를 선택한 후 Finish 버튼을 클릭합니다.
- C Project로 설정하기 위해서 Project Wizard 사용
Project Type 지정
Managed Make C BUILD:
프로젝트에 Makefile이 없는 경우.
Standard Make C BUILD:
project에 Makefile이 있는 경우.
- Makefile이 존재하므로 'Standard Make C BUILD'를 선택
Eclipse에서 minicom 사용하기
External tool로 minicom 추가
- 메뉴바에서 [Run]-> [External tools] -> [External tools..]을 클릭
- 아래 화면이 나오면은 다음 값들을 입력한 후 저장하고 나온다.
- Location: /usr/bin/gnome-terminal
- Arguments: -e "/usr/bin/minicom"
- 저장하고 나오면은 [Run]-> [External tools] 에서 minicom 메뉴를 볼수 있다.
Remote Debugging - NT Application 디버깅
Remote Debugging 이란
- 임베디드 시스템을 호스트에서 디버깅 하는 것을 말합니다. Remote Debugging을 하기 위해 필요한 것들
-
- 호스트(Development System)에서 동작하는 debugger
- 타켓에서 동작하는 통신 프로그램. 이 통신 프로그램은 호스트의 디버거와 통신을 합니다.
- 타겟의 OS가 리눅스이고 호스트의 디버거가 gdb인 경우
-
- 타겟에선 gdbserver가 통신 프로그램입니다. gdbserver는 리눅스 운영체제 위에서 동작합니다.
- 호스트에서는 gdb 프로그램을 동작
- 그림에서는 Ethernet으로 연결되어 있지만 시리얼 통신을 이용할 수 도 있습니다.
arm-linux-gdb와 gdbserver 준비
다음은 리모트 디버깅에 필요한 프로그램들을 컴파일 하고 설치 합니다.
arm-linux-gdb 컴파일
- gdb-6.6 컴파일.
./configure --target=arm-linux --prefix=/usr/local/arm-linux make install
- gdb-6.3 컴파일 중 에러 메세지가 발생하여 gdb-6.6으로 컴파일
../../../gdb-6.3/sim/arm/iwmmxt.c: In function ‘WMAC’: ../../../gdb-6.3/sim/arm/iwmmxt.c:2117: error: invalid lvalue in assignment
리모트 디버깅 실행
Host (PC) - arm-linux-gdb 실행
arm-linux-gdb 실행후, 리모트 디버깅 명령어 입력.
arm-linux-gdb -s [심볼 파일] target remote [target_ip]:port
ECLOX - 문서화 도구
- Version 0.5.5
- 문서화 도구로 Doxygen 설정파일인 Doxyfile 파일을 GUI로 설정할 수 있게 해준다. 단, Doxyfile을 생성해주지는 않는다.
설치
-
[Help] -> [Software Updates ]-> [Find and Install] -> "Search for new features to Install" 선택
-
New Remote Site 클릭 후 아래 사이트 추가
문제점
- sudo 명령을 포함하고 있는 Makefile의 target은 error 발생
- Remote Debugging 시 ARM 소스 코드가 disassemble 되지 않음.
- Shared Library 함수 호출된 후부터는 Debugger가 소스코드 위치를 찾지 못함.
TODO List
- Remote Debug를 Eclipse에서 이용하는 방법
- CDT Project Type을 추가 하여 좀 더 쉽고, 자동화된 환경 제공 필요.
- Target 시스템의 파일을 이클립스에서 관리하는 기능
참고 자료
- ECLOX 홈페이지: http://home.gna.org/eclox/
- CDT 및 Subclipse 사용법: http://bebop.emstone.com/Members/park0103/work-tip/example-of-cdt-pydev-subclipse/
- CDT 및 Subclipse 설치: http://bebop.emstone.com/Members/park0103/work-tip/eclipse-cdt-pydev-subclipse-plugin-install/
by myungo — 최종 수정일: 2007-02-02 17:10
출처 : Tong - kangdydtjs님의 C,C++통
'이것 저것.. > ProgramGuide' 카테고리의 다른 글
GIT 간단 사용기 1 (2) | 2009.05.07 |
---|---|
Linux svn client - Nautilussvn (0) | 2009.05.05 |
Trac으로 Project를 관리해 보자 (0) | 2009.02.05 |
Portable 프로그램 만들기 - Portable MindMapper v5.0 (0) | 2009.01.19 |
Apache + Subversion + Trac 설치 가이드 (0) | 2009.01.09 |