레이블이 IDE-Eclipse-CDT인 게시물을 표시합니다. 모든 게시물 표시
레이블이 IDE-Eclipse-CDT인 게시물을 표시합니다. 모든 게시물 표시

2/21/2016

Eclipse Neon (C/C++) CDT 설치 (개발환경구성-2)

1. Eclipse Neon CDT for Window 설치

이제 최신 Version인 Eclipse Neon을 Window에 설치를 해보자.
Eclipse를 설치 후  본인의 Window의 Program 제거에 등록이 되지는 않는다.
그러므로 관련 PATH를 알아두고 추후 삭제할일 존재한다면 이 PATH를 제거하자

현재 Java로 개발을 진행하지 않기 때문에 Eclipse C/C++ Version 만 설치하기로 결정.
Neon은 Eclipse의 Android 처럼 Version 과 같이 이름이 변경되는 Project 명이라 생각하면되겠다.

  • Eclipse Neon Dowload
  C/C++ 용 Eclipse용으로 아래의 절차대로 설치를 해보자.
  https://www.eclipse.org/downloads/

  • Eclipse CDT Download 
  CDT(C/C++ Development Tooling)로 Eclipse는 개발 Tools이지만 Compiler 가 필요하다.
  https://eclipse.org/cdt/

  • 관련설치 
  http://blog.xcoda.net/89


1.1 Eclipse Neon 설치시, Java JDK 설치  
      
       WIN 64bit :   jdk-7u79-windows-x64.exe   Download 및 설치





  • 설치후 문제사항 
       ERR MSG: could not create the java virtual machine





  • 수정사항
       C:\Users\JHLEE\eclipse\cpp-neon\eclipse\eclipse.exe\eclipse.ini


저의문제는 JDK Version 문제 였으나, 아래와 같이 RAM Size 문제일 가능성도 있을 것 같다

-Xms256m
-Xmx1024m

  http://dkatlf900.tistory.com/93

1.2 Eclipse CDT 설치 후 화면확인  

크로스 컴파일러를 설치가 되어 있어야 제대로된 동작이 가능한 것 같다.

  • Eclipse 설치 후 확장기능 
       설치후 기본 eclipse 실행화면 

    추가설치를 원한다면, Help->Eclipse Market place 에서 설치가능




2. Eclipse 확장 

Help->Eclipse Marketplace 로 가면 추가적인 패키지들을 설치를 할수 있다.
이 부분은 자주 확인을 해야하며, 수시로 적용되는 패키지를 확인하자


CCS의 Eclipse 확장

  https://ahyuo.blogspot.kr/search/label/Eclipse?updated-max=2016-02-15T01:32:00%2B09:00&max-results=20&start=6&by-date=false


2.1 Eclipse Neon 추가 설치 (Python)

요즘 내가 Python을 사용하다보니, 관련부분 기능 적어놓는다.
Python을 위해 추가 설치

    PyDev - Python IDE for Eclipse

  http://kaizen8501.tistory.com/16
  http://egloos.zum.com/anster/v/2170490


3. Linux용 Eclipse Neon CDT 설치 

설치만 해보고 이를 이용하여 빌드를 하지 않았으며, 큰 문제가 없던 걸로 기억한다.
이 방법으로 잘 설정한다면, 모든 작업을 Eclipse에서 가능하겠지만, Window에서 Virtual Box 안에서 Eclipse를 다시 실행하는 것이 싫다.

  http://lky1001.tistory.com/71
  http://lky1001.tistory.com/68?category=525478
  http://janaxelson.com/eclipse5.htm

2/20/2016

Cygwin 설치 및 Eclipse 을 위한 설정 (개발환경구성-1)

1. Window 용 Linux Package(Cygwin) 설치 

Cygwin에 크로스 컴파일러로 Cygwin와 MinGW 존재하며, 이를 설치를 하여 이곳에 설치를 해도 무방하다
윈도우에서 다양한 Linux Tool Package를 사용이 가능하며, 크로스 컴파일러로도 사용하기때문에 이를 설치한다.
현재 나의 경우는 ssh를 이용하여 이클립스와 연동하여 사용하는 것이 주 목적이다.

  • Download (Cygwin)설치 
  http://www.cygwin.com/
  상위 Cygwin에 MingGW도 포함 

  • MingGW 참고  
  http://www.mingw.org/
  http://rinovation.tistory.com/2
  https://www.eclipse.org/forums/index.php/t/1073505/


2. Cygwin 설치 및 재설치 

Cygwin은 윈도우의 제어판에서 프로그램 제거를 할 수가 없다.
설치시 이부분을 정확하게 인지하고 있어야한다.

setup-x86_64.exe 을 다시 실행하여 필요한 Package를 추가하여 재설치가 가능하다

  • Cygwin 설치방법 및 재설치 
setup-x86_64.exe를 실행을 하여 설치를 진행을 한다.






상위 그림에서 패키지를 제공해주는 사이트는 많으므로, 사이트를 아무거나 선택하자


상위 상단 좌측의 View를 Category로 변경 후
Devel에서 필요한 것들이 있다면 설치  Cross Compiler (Cygwin or Mingw64)


Net->openssh  및 ssh library 설치 ( 소스는 제외)


  • Cygwin 설치후 SSH 동작확인 
Cygwin64 Terminal을 이용 or Windows의 CMD 명령이용(하단의 PATH를 추가 한후)
설치된 Package를 실행



2.1 Cygwin 제거방법 

위에서 설명했듯이 Cygwin은 제어판의 프로그램에 나오지 않아서 직접삭제를 해야한다.
그리고, Cygwin에서 사용하고 있는 파일과 데몬이 있다고 중지를 하고 삭제를 진행을 해야한다.

regedit를 이용하여 레지스트리를 편집을 하고, 가능하면 편집의 찾기를 이용하여 찾자
Cygwin or Cygnus Solutions



아래의 Cygnus Solutions에서 Cygwin으로 삭제

  1. HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin
  2. HKEY_CURRENT_USER\Software\Cygwin
  3. HKEY_USERS\.Default\Software\Cygwin  (현재 없음)


  http://infoarts.tistory.com/25

3. Cygwin 명령어와 Window 공유 (Eclipse 와 공유)

    1. Window Key + Pause/Break 
    2. 고급시스템 설정 선택 (좌측메뉴)
    3. 시스템속성창 의 고급->환경변수 선택 (맨아래에 위치) 
    4. 환경변수창이 아래의 시스템변수  PATH 선택 
    5. PATH 에   ;C:\cygwin64\bin  추가 



      https://www.howtogeek.com/howto/41382/how-to-use-linux-commands-in-windows-with-cygwin/


    4. Cygwin 설치 후 SSH Client 설정 (중요)

    외부에 Linux or Unix SSH Server가 존재하며 이는 Build Server 로 동작할 것이다.
    Window에서는 상위에서 Cygwin을 이용하여 Openssh가 설치된 상태이며, Cygwin Terminal or CMD 명령으로 ssh를 실행이 가능하도록 설정한다.

    Window에서 SSH Server에 매번 Password 입력없이 동작하게 하려고 목적이다.

    • SSH의 Key 생성 
    $ ssh-keygen -t rsa // 함께 엔터  id_rsa 생성
    $ ls .ssh  // id_rsa 생성확인 
    

    • Target Server 에 생성된 Key 복사

    $ ssh-copy-id jhlee@192.168.1.100    // SSH Server (ID: jhlee )  

    • ID입력만으로 Password 없이 로그인 가능 

    $ ssh jhlee@192.168.1.100        // 이제 암호 없이 SSH Server 접속가능  
    $ ls .ssh 
    id_rsa  id_rsa.pub  known_hosts


      http://marobiana.tistory.com/53
      https://m.blog.naver.com/PostView.nhn?blogId=ccm&logNo=60185667224&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F
      http://www.skybert.net/windows/creating-an-ssh-key-on-windows/

    2/19/2016

    Eclipse Neon CDT (C/C++) 기본사용 및 원격 빌드

    1. Project 생성 전 확인사항  

    Project 생성은 기존 소스가 존재하여도 이를 Project를 생성하여 각 기존소스 or New Source를 위해 관련 설정 및
    소스분석을 위한 Index를 생성을 한다.


    현재 Linux Build Server와 같이 구성할 것이므로, 아래의 참조내용을 이해하고 사용하자.
    • 빌드서버와 Eclipse 기본환경구성이해 
      https://ahyuo79.blogspot.com/2016/02/eclipse.html
    • Eclipse CDT 설치 및 확장 
      https://ahyuo79.blogspot.com/2016/02/eclipse-neon-cc-cdt.html
    • Window에 Linux Tool 설치 
      https://ahyuo79.blogspot.com/2016/02/eclipse-neon-cc-cygwin.html

    상위구성이 되었다면, 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 창설정
    1. Window->Show View->Other  선택 
    2. General->Project Explorer  설정



    1.1 Project 기본생성 및 제거 

    • 프로젝트 생성 및 C/C++ Indexer 생성
    기존 Linux Code를 찾아 이곳에 등록을 하고 Project를 새로 생성을 하자 
    1. File->New->Project 
    2. Makefile Project with Existing Code 선택
    3. None or Cross GCC 선택 






    생성과 동시에 우측 하단에 Refreshing Working Space라고 하며 진행이 되며 보통 Index도 함께 생성이 된다.

    • 프로젝트 제거 
    만약 제거하고 싶다면 아래와 같이 생성된 Project에서 Delete를 하면 제거가 가능하다



    2. Eclipse의 설정  

    Eclipse의 설정들은 아래와 같이 구성이 되며, Project Properties의 경우는 세부 설정이며 Project 마다 변경이 될 수 있다.
    하지만 Window->Preference의 경우는 전체 설정이라고 생각하면 될 것이다.

    1. Window->Preferences
    2. Project의 Properties


    2.1 Project의 Properties

    이제 생성된 Project의 세부설정을 변경하고 싶다면 아래와 같이 둘 중 하나만 하면된다.
    1. Project->Properties 선택 
    2. Project Explorer 창에서 Project 선택 후 우측 클릭 Properties 선택 
    만약 활성화가 되지 않았다면, 왼쪽 Project Explorer에서 Project를 선택을 하면 활성화가 된다.

    • Resource  확인사항 
    각 파일의 Encoding을 변경가능하며 한글에 민감한 부분이므로 주의해서 사용하자
    UTF-8 / MS949
    MS949가 없다면 Window->Preferences의 General 의 Workspace 부분을 한번살펴보자
    다른부분은 한번 살펴보자


    3. 원격 Build 설정 (Project Target) 설정

    Window의 Eclipse에서 SSH를 통하여 Linux Build Server에서 Source를 Build를 하기위해서 다음과 같은 설정필요
    1. cygwin의 openssh 설치필요 
    2. cygwin의 ssh 설정 필요 ( SSH 암호 없이 로그인이 가능하도록 설정)


    • Window에 Linux Tool (Cygwin의 SSH기능 설치) 
      https://ahyuo79.blogspot.com/2016/02/eclipse-neon-cc-cygwin.html


    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 창 설정  (상위 좌측의 그림설정)

    1. Target Name:  이클립스에서 보기위한 Target Name (e.g uboot)
    2. Make Target: 실제 Makefile의 Target Name (Window의 Makefile을 아니므로, 사용안함)
    3. 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 의 아래 Build를 눌러 cygwin의 ssh를 이용하여 Build를 적용하면 Console에서 확인가능

    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 및 편의기능 설정
    1. Window->Editor->Toggle Split Editor  ( 화면분할)
    2. Window->Show View->Remote System
    3. Window->Preference  ( 기타 모든 설정)

    • VI관련 기능 
    Linux에서는 편집기를 VI or emacs를 사용해야하지만, Eclipse에서 이를 편하게 하기위해서는 vrapper 설치하면 된다고 하지만 유용성은 그다지 인것 같다.
    이것을 사용하는 목적은 순전히 ctags 기능때문이지만 이용할수 없다고 하니 별다른 도움이 되지 않을 것 같다.
    1. Help->Install New Software 
    2. 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가 제공이 된다.
    1. SSH Client  기능 
    2. SFTP Client 기능  (윈도우 탐색기 처럼 사용가능하나 불편함 )
    3. Local Files->Drivers 이용 (Samba로 Window에서 Network Driver로 연결)

    위의 3가지 기능을 사용하면, Virtualbox의 Server와 편하게 SSH를 접속할 수 있을 뿐만 아니라,
    SFTP를 이용하여 윈도우의 탐색기 기능처럼 사용이 가능하지만 기능이 제한적이다.
    그래서, 가급적이면 SFTP하려고 한다.
    참으로 좋은 개발 Tool이며 편한 것 같다.

    현재 XShell을 사용을 하고 있지만, Eclipse도 꽤 괜찮은 것 같다고 생각이 들지만, XShell 보다 좀 불편해서 그냥 Xshell을 별도 사용중이다.

    XShell 역시 위 두 기능을 제공하고 있다. (SSH 와 SFTP 기능 )
    • Remote System 설정방법
     SSH와 SFTP 설정은 다음과 같이 진행을 하면된다. 그림은 아래를 참고하면된다.
    1. Window->Perspective->Open Perspective-> Others -> Remote Systems Explorer 선택  
    2. 생성된 Remote System의 좌측의 맨위 아이콘 (Define a connection to remote system) or 마우스 우측 클릭 후, new->connection를 선택 
    3.  SSH Only 선택 후 본인의 SSH Server 관련 설정 

    • Remote System에서 new->connection 선택 ( 상위 1번동일 )



    • SSH Only 설정 및 관련 설정 (상위 2번 동일)


    • SSH를 설정하면, 자동으로 SFTP도 설정이 됨 (상위 3번 동일)



        vi 편집기를 이용하는데, ssh를 이용하여 편하게 eclipse에서 편집이 가능하다.
        다만 설정을 UTF-8로 변경을 해줘야 한다.

    • SSH에서 한글깨짐문제 
    1. Window>Preferences 선택 
    2. General>Workspace  선택 
    3. 아래메뉴의 OTHER를 선택하고 UTF-8과 UNIX 설정 



    출처:
      http://forum.falinux.com/zbxe/index.php?document_srl=791415&mid=lecture_tip

    2/03/2016

    Eclipse Neon (C/C++) 기반 개발환경 구축방법

    1. Eclipse 기반 개발환경 구축 

    Eclipse를 를 이용한 개발환경으로 이를 Embedded 환경에 적용하려는 목적으로 작성을하고 관련 문서들을 정리한다
    최근 TI에서 Eclipse 기반의 CCS를 보고 편이성 및 다른기능을 Embeded 에서 적용이 가능하다는 것을 보고 Eclipse에 대해 더욱 다시 관심을 다시 가지게 되었다.
    진작에 Android 개발할때 부터 눈치를 채고 있어야 했는데, 후회가 막심이다.

    하여튼 기본적으로 나의 관심은 Eclipse와 Embedded의 개발환경구성이다.
    Eclipse는 Source Insight처럼 소스를 분석해주는 Indexing 기능이 존재하여, 소스 분석을 쉽게 가능하게 한다.
    만약 이 Index 기능을 사용 못한다고 하면 vi에 연결되는 ctags / cscope기능을 연결되는 방법도 모색하고 있다.

    나의 기본 개발환경 구성도은 아래와 같이 구성 및 관리하고 싶다.

    1. Eclipse CDT에서 Build Server와 Samba로 소스 코드 수정 
    2. Eclipse CDT에서 SSH를 이용하여 Build Server Build 진행 
    3. Eclipse CDT에서 개발 Serial 연결은 다른 프로그램 사용 (Xshell, Token2, 등)

    http://wildduck.tistory.com/77

    더불어 소스 관리서버 (Git/SVN) 와 (TRAC/Redmine)과 연결하여 사용하고 싶다.

    http://wildduck.tistory.com/77


    1. 원격빌드는 SSH를 통해 Build Server를 통해 Build를 진행
    2. Samba를 이용하여 Window의 Eclipse 는 Build Server의 소스 편집 및 Project 생성
    3. SVN/GIT를 이용하여 이를 Remote Repository와 연결하여 쉽게 수정 및 이전 Version 비교
    4. TRAC or Redmine 및 다른 Ticket 기반 및 이슈기반의  Project 관리 Program과 연결


      http://wildduck.tistory.com/77
      http://rinovation.tistory.com/2
      Cygwin과 Eclipse 설치
      http://andoli.tistory.com/m/225?category=142542


    1.1 각 개별환경 구성요소들 

    • Build Server의 설정 
    Virtual Box로 Linux를 설치한 다음 Samba 설정 및 SSH Server 설정 /SFTP Server 설정하고 이에 관련된 소스를 추가하여 Build Server를 구성한다

    • Eclipse의 구성 및 설치 
    간단하게 Window 용 Eclipse or Linux 용 Eclipse를 사용하는 것이다.
    이 부분은 현재 아래와 같이

    A. Eclipse Neon CDT for Window 기반 

    상위 구성과 동일한 구성 (현재 구성할 방식)

    B. Eclipse Neon CDT for Linux 기반 

    아래의 내용을 참조
    ( 사용할 생각이 거의 없지만, 필요하다면 다시 고려)

    C. Source Insight (Window) 기반 

    Eclipse 대신 Source Insight를 사용하는 방법으로 Samba를 통하여 Build Server를 접근하여 Source Insight로 소스를 수정하는 방법이지만
    UTF-8은 지원되지 않지만 괜찮은 방법 인 것 같다.

    • 주의사항 
    주의해야할 것은 Linux는 동시에 파일을 두개 열면 .swp 파일 생성을 되며, 한쪽에서만 수정을 하고 저장해야 하도록 하자.

    Build Server와 Samba로 연결하여 소스를 수정하면 가끔 이문제가 발생하는 것인지 몰라도
    늦은 File Sync를 경험을 나만 하게되는 것인지 모르겠다.
    예를 들면 수정을 했지만, 이것이 실제 소스에 반영이 간혹 안되고 그런적이 있다.
    Save를 일상화 하자


    1.2 관련 사이트 

    • Build Server 및 SVN/GIT 구성 , TRAC/Redmine 연결 
    현재 내가 원하는 구축하고자 하는 시스템이며,  SVN 대신 GIT를 TRAC대신 Redmine or 다른 시스템 TRAC은 오래전에 써봤지만, 잘 멈추는 것 같다
    다시 최신 Version과 요즘 대세인 Redmine도 설치를 해봐야 겠다.

      http://www.jkelec.co.kr/img/lecture/stm32_eclipse/stm32_eclipse.html#1.1

    • C/C++ Indexer 및 CTAGS 관련글
      https://www.eclipse.org/forums/index.php/t/52128/

    • C/C++ Indexer를 이용한 Kernel Source 분석 
      http://nophotoplease.tistory.com/129
      https://wiki.eclipse.org/HowTo_use_the_CDT_to_navigate_Linux_kernel_source

    • 기타사항 
      https://stackoverflow.com/questions/45498464/cross-compile-c-application-for-linux-on-windows-in-eclipse


    2. 구성방법 

    위 사항을 요약을 하면 아래와 같다

    1. Window 용 Eclipse CDT 설치 (현재 Version Neon) 
    2. Cygwin (Window에서 Linux Package 사용) 설치 
    3. Build Server 구축 

    • Build Server 설정