Project 생성은 기존 소스가 존재하여도 이를 Project를 생성하여 각 기존소스 or New Source를 위해 관련 설정 및
소스분석을 위한 Index를 생성을 한다.
현재 Linux Build Server와 같이 구성할 것이므로, 아래의 참조내용을 이해하고 사용하자.
- 빌드서버와 Eclipse 기본환경구성이해
- Eclipse CDT 설치 및 확장
- Window에 Linux Tool 설치
상위구성이 되었다면, Build Server와 Window와 연결 Interface를 Network Driver를 만들어주어 쉽게 접근하도록 하자.
https://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.ptp.rdt.doc.user%2Fhtml%2Fgettingstarted%2Fcreating_a_remote_project.html
- Project Explorer 창설정
- Window->Show View->Other 선택
- General->Project Explorer 설정
1.1 Project 기본생성 및 제거
- 프로젝트 생성 및 C/C++ Indexer 생성
기존 Linux Code를 찾아 이곳에 등록을 하고 Project를 새로 생성을 하자
- File->New->Project
- Makefile Project with Existing Code 선택
- None or Cross GCC 선택
생성과 동시에 우측 하단에 Refreshing Working Space라고 하며 진행이 되며 보통 Index도 함께 생성이 된다.
- 프로젝트 제거
2. Eclipse의 설정
Eclipse의 설정들은 아래와 같이 구성이 되며, Project Properties의 경우는 세부 설정이며 Project 마다 변경이 될 수 있다.
하지만 Window->Preference의 경우는 전체 설정이라고 생각하면 될 것이다.
- Window->Preferences
- Project의 Properties
2.1 Project의 Properties
이제 생성된 Project의 세부설정을 변경하고 싶다면 아래와 같이 둘 중 하나만 하면된다.
- Project->Properties 선택
- Project Explorer 창에서 Project 선택 후 우측 클릭 Properties 선택
만약 활성화가 되지 않았다면, 왼쪽 Project Explorer에서 Project를 선택을 하면 활성화가 된다.
UTF-8 / MS949
MS949가 없다면 Window->Preferences의 General 의 Workspace 부분을 한번살펴보자
다른부분은 한번 살펴보자
3. 원격 Build 설정 (Project Target) 설정- Resource 확인사항
UTF-8 / MS949
MS949가 없다면 Window->Preferences의 General 의 Workspace 부분을 한번살펴보자
다른부분은 한번 살펴보자
Window의 Eclipse에서 SSH를 통하여 Linux Build Server에서 Source를 Build를 하기위해서 다음과 같은 설정필요
- cygwin의 openssh 설치필요
- cygwin의 ssh 설정 필요 ( SSH 암호 없이 로그인이 가능하도록 설정)
- Window에 Linux Tool (Cygwin의 SSH기능 설치)
3.1 Make Target 생성
SSH 원격빌드를 하기 위해서 Make Target를 생성한다.
Window->Show View->Other 에서 Make Target 선택
or
아래 그림과 같이 Project Explorer 에서 Make Target 선택->Create or Build
상위에서 Make Target->Create or Build 선택
Make Targets->Add or Edit 선택 후 Modify Make Target 창 설정
- Modify Make Target 창 설정 (상위 좌측의 그림설정)
- Target Name: 이클립스에서 보기위한 Target Name (e.g uboot)
- Make Target: 실제 Makefile의 Target Name (Window의 Makefile을 아니므로, 사용안함)
- Build Command: SSH를 이용하여 원격빌드를 설정 (아래 참조)
ssh jhlee@192.168.1.100 'source ~/am335x/setAM335x; make -C ~/am335x/ti-processor-sdk-linux-am335x-evm-03.00.00.04 u-boot'
Build Setting : 현재 Stop on first build error만 설정했지만 (원격이므로 설정의미가 없음)
- Make Target 창 -> Build (원격빌드)
Make Target을 이용하여 Eclipse에서 Console로 쉽게 빌드 확인 (SSH 원격빌드)
에러시 한글문제 깨지는 문제발생 (UTF8로 설정하는 방법없음)
https://m.blog.naver.com/PostView.nhn?blogId=ccm&logNo=60185667224&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F
- Eclipse Console 관련설정
https://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.cdt.doc.user%2Ftasks%2Fcdt_t_cbuild_pref.htm
3.2 Build Server의 설정 및 Shell Script
Window에서 SSH Server로 접속하여 Build를 한번에 해야 하기 때문에 기존에 있는 Makefile or Shell script를 이용하여 쉽게 동작하도록 작성하자.
아래의 예는 간단히 설정파일과 Makefile관련부분을 정리
$ cat ~/am335x/setAM335x export ARCH=armv7-a export TI_SDK_PATH=/home/jhlee/am335x/ti-processor-sdk-linux-am335x-evm-03.00.00.05 export LINUX_DEVKIT_PATH=${TI_SDK_PATH}/linux-devkit export CROSS_COMPILE=${LINUX_DEVKIT_PATH}/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf- $ cd ~/am335x/ti-processor-sdk-linux-am335x-evm-03.00.00.04 $ vi Makefile linux: linux-dtbs @echo ================================= @echo Building the Linux Kernel @echo ================================= $(MAKE) -C $(LINUXKERNEL_INSTALL_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) $(DEFCONFIG) $(MAKE) -j $(MAKE_JOBS) -C $(LINUXKERNEL_INSTALL_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) zImage $(MAKE) -j $(MAKE_JOBS) -C $(LINUXKERNEL_INSTALL_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) modules ...... u-boot: linux-dtbs @echo =================================== @echo Building U-boot @echo =================================== $(MAKE) -j $(MAKE_JOBS) -C $(TI_SDK_PATH)/board-support/u-boot-* CROSS_COMPILE=$(CROSS_COMPILE) $(UBOOT_MACHINE) $(MAKE) -j $(MAKE_JOBS) -C $(TI_SDK_PATH)/board-support/u-boot-* CROSS_COMPILE=$(CROSS_COMPILE) DTC=$(LINUXKERNEL_INSTALL_DIR)/scripts/dtc/dtc
4. Eciplse Neon의 편이성 설정
아래기능을 이용하여 창 분할 기능 및 Remote System 및 편의기능 설정
- Window->Editor->Toggle Split Editor ( 화면분할)
- Window->Show View->Remote System
- Window->Preference ( 기타 모든 설정)
- VI관련 기능
이것을 사용하는 목적은 순전히 ctags 기능때문이지만 이용할수 없다고 하니 별다른 도움이 되지 않을 것 같다.
- Help->Install New Software
- http://vrapper.sourceforge.net/update-site/stable/
http://zoningout.tistory.com/entry/eclipse%EC%97%90%EC%84%9C-vi-mode%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-1
4.1 Remote System 이용
Eclipse에서 Build Server의 부분을 이용하는 것을 말하며 Remote System에서는 기본적으로 SSH Client가 제공이 된다.
- SSH Client 기능
- SFTP Client 기능 (윈도우 탐색기 처럼 사용가능하나 불편함 )
- Local Files->Drivers 이용 (Samba로 Window에서 Network Driver로 연결)
위의 3가지 기능을 사용하면, Virtualbox의 Server와 편하게 SSH를 접속할 수 있을 뿐만 아니라,
SFTP를 이용하여 윈도우의 탐색기 기능처럼 사용이 가능하지만 기능이 제한적이다.
그래서, 가급적이면 SFTP하려고 한다.
참으로 좋은 개발 Tool이며 편한 것 같다.
현재 XShell을 사용을 하고 있지만, Eclipse도 꽤 괜찮은 것 같다고 생각이 들지만, XShell 보다 좀 불편해서 그냥 Xshell을 별도 사용중이다.
XShell 역시 위 두 기능을 제공하고 있다. (SSH 와 SFTP 기능 )
- Remote System 설정방법
- Window->Perspective->Open Perspective-> Others -> Remote Systems Explorer 선택
- 생성된 Remote System의 좌측의 맨위 아이콘 (Define a connection to remote system) or 마우스 우측 클릭 후, new->connection를 선택
- SSH Only 선택 후 본인의 SSH Server 관련 설정
- Remote System에서 new->connection 선택 ( 상위 1번동일 )
- SSH Only 설정 및 관련 설정 (상위 2번 동일)
- SSH를 설정하면, 자동으로 SFTP도 설정이 됨 (상위 3번 동일)
vi 편집기를 이용하는데, ssh를 이용하여 편하게 eclipse에서 편집이 가능하다.
다만 설정을 UTF-8로 변경을 해줘야 한다.
- SSH에서 한글깨짐문제
- Window>Preferences 선택
- General>Workspace 선택
- 아래메뉴의 OTHER를 선택하고 UTF-8과 UNIX 설정
http://forum.falinux.com/zbxe/index.php?document_srl=791415&mid=lecture_tip