티스토리 뷰

Made with Remarkable!


지난 Windows 개발환경에 이어 Linux환경입니다.
참조 그림으로 Windows 화면이 나오고는 하는데… 다를게 전혀 없기 때문에 그대로 사용하였습니다 :)



개발(테스트) 환경 요약

분류 버전
OS Ubuntu LTS 16.04.01
JAVA OpenJDK 8
GNU ARM ToolChain v5.4 2016q2
Eclipse Eclipse Neon CDT
GNU ARM Eclipse Plugin v3.3.1
OpenOCD v0.10.0

요약 순서대로 설치를 진행합니다.
아래부터의 설명은 간략하게 정리할 것이므로, 세부적인 내용에 대해서는 다른 포스팅을 참조하시거나 검색을 권장합니다.

기본적으로는 개발환경을 최대한 Portable하게 구축할 것이므로, 큰 흐름만 참조하시면 되겠습니다.



JAVA 설치

우선, 이클립스를 실행하기 위해서 JAVA를 설치해야합니다.
실행에는 JRE만 필요하지만, JDK에 JRE가 포함되어 있으므로 JDK를 설치하셔도 무방합니다.


JAVA OpenJDK 8 Install Guide


리눅스에는 기본적으로 OpenJDK 패키지가 prebuilt 되어 있습니다.
따라서 그냥 설치만 진행해 주면 됩니다.

$ sudo apt-get install openjdk-8-jre

혹시 Oracle JAVA를 원한다면, 여기 를 참조 바랍니다.


환경변수를 지정하여 사용할 것이라면, 아래 URL을 참조해주세요.
우분투(Ubuntu)에 JAVA JDK(JRE) 설치/설정하기



GNU ARM ToolChain

Nucleo는 ARM 아키텍쳐를 사용합니다.
따라서 GNU ARM ToolChain이 필요합니다.


GNU ARM ToolChain 5.4 2016q2 Download


위 URL에서 linux버전을 다운받아 원하는 위치에 압축해제하면 끝입니다

1. 다운로드 및 압축해제

예를 들어, tool들만 관리하기 위해 홈 디렉토리에 tools 폴더를 만들겠습니다.
다음은 tools폴더에 압축파일을 다운받고, 압축해제 합니다.

$ mkdir ~/tools
$ wget https://launchpad.net/gcc-arm-embedded/5.0/5-2016-q2-update/+download/gcc-arm-none-eabi-5_4-2016q2-20160622-linux.tar.bz2
$ tar -xjvf gcc-arm-none-eabi-5_4-2016q2-20160622-linux.tar.bz2

2. Path 추가 (Optional)

Path 추가는 선택사항이지만 권장하지 않습니다.

DO NOT add the toolchain path to the user or system path!

위 내용(공식 가이드)처럼 설치하지 말라고 하죠.
이유는 다양한 버전들을 사용할 수 있으니 시스템 Path로 추가하지 말라는 것입니다.

하지만, 익숙치 않으신 분들은 아래 내용대로 Path를 추가해주세요.
(나중에 아래 방법 그대로 지워도 되니까요)

  • .bashrc를 에디터로 열기
  • 제일 하단에 Path 경로 추가/저장
  • bashrc reload(변경내용 적용)
$ gedit ~/.bashrc

export PATH=$PATH:$HOME/tools/gcc-arm-none-eabi-5_4-2016q2/bin

$ source ~/.bashrc

Path의 경우, 사용하는 Tool에 따라 수동으로 설정해주어도 됩니다.
(저는 Path 추가를 하지 않았습니다)


시스템 Path를 추가하지 않고, Eclipse 프로젝트에 Path를 등록하는 방법에 대해 미리 알고 싶으시다면 여기 를 참조바랍니다.

3. 버전 확인

제대로 실행되는지 간단히 확인해보기 위해 버전을 체크합니다.

$ 설치경로/bin/arm-none-eabi-gcc --version

만약 여기서 제대로 실행이 안된다면 아래 4번을 확인해주세요.

4. 주의사항

분명 파일은 존재하고 정확한 위치에서 실행했는데, 아래처럼 파일을 찾을 수 없다는 에러가 나올 수 있습니다.

no such file or directory 

만약 OS가 64bit체제인데, toolchain은 32bit방식이기 때문에 이러한 현상이 나타납니다. 

해결 방법은 단순합니다. 

자신의 운영체제에 맞는 32bit 라이브러리를 설치하면 해결됩니다. 

 
- 관련 Issue
- 공식 솔루션


Ubuntu 15.04 이상인 경우는, 아래 명령어로 라이브러리를 설치해줍니다.

$ sudo apt-get -y install lib32ncurses5




Eclipse CDT

Eclipse는 다양한 버전이 있습니다.
우리는 C/C++로 개발을 진행하기때문에, CDT를 설치합니다. 

 
Eclipse Neon CDT Download


네, 다운받아서 압축해제해주면 그것으로 끝입니다.
원하는 위치에 다운받아서, 압축해제 하도록 합니다.

$ mkdir ~/Workspace
$ wget http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/neon/3.RC3/eclipse-cpp-neon-3-RC3-linux-gtk-x86_64.tar.gz
$ tar xjvf eclipse-cpp-neon-3-RC3-linux-gtk-x86_64.tar.gz

실행을 해서 정상적으로 작동하는지 확인합니다.
JAVA 가 설치되어 있지 않으면 실행할 수 없으며, 설치하라는 경고가 뜨니 설치하시기 바랍니다.


Eclipse Neon starting Logo



GNU ARM Eclipse Plugin

Eclipse에서 ARM을 개발하기 위해 플러그인이 필요합니다.


GNU ARM Eclipse Plugin v3.3.1 Download


v3.3.1이 필요하신 분들은 위 링크에서 다운받아 압축파일로 등록하시면 됩니다.


Eclipse 상단 메뉴의 [Help] - [Install New Software] 클릭.
나오는 팝업창에서 [Add…] 버튼을 클릭합니다.
그러면, [Add Repository] 라는 팝업창이 나오는데 아래와 같이 입력합니다

Add GNU ARM Eclipse Plug-ins


만약 압축파일을 사용하시는 분들은, Location에 URL주소 대신 오른쪽의 [Archive…] 버튼을 통해, 다운받은 압축파일 경로를 지정해주면 됩니다.


그러면 아래와 같은 Plug-in들이 나타나는데 모두 체크해서 설치를 진행합니다. 중간에 unsigned content라는 경고가 나오는데 [OK]버튼을 눌러 계속 설치를 진행합니다.


Install GNU ARM Eclipse Plug-ins



OpenOCD

Debugging을 위한 Open된 무료 툴입니다.


OpenOCD v0.10.0 Downlaod


다운 받아 원하는 위치에 압축을 해제하면 된다는 점에서 Windows와 동일하지만, rule을 추가해 주어야 합니다.

다음 순서에 따라 천천히 진행하시면 되겠습니다.

1 . Make or Select directory (you want)

$ mkdir YOUR_DIRECTORY
$ cd YOUR_DIRECTORY

2 . Download OpenOCD from GitHub Release

$ wget https://github.com/gnuarmeclipse/openocd/releases/download/gae-0.10.0-20170124/gnuarmeclipse-openocd-debian64-0.10.0-201701241841.tgz

3 . Extract OpenOCD Archive File

$ sudo tar xvf gnuarmeclipse-openocd-debian64-0.10.0-201510281129-dev.tgz

4 . Check OpenOCD

$ openocd/YOUR_VERSION/bin/openocd --version

ex) openocd/0.10.0-201701241841/bin/openocd --version

5 . UDEV Setting

$ sudo cp openocd/YOUR_VERSION/contrib/YOUR_RULES_FILE /etc/udev/rules.d

ex) sudo cp openocd/0.10.0-201701241841/contrib/60-openocd.rules /etc/udev/rules.d/

more detail

$ sudo tar -xf (ST-LINK v2 Rules Achive FIle) -C /etc/udev/rules.d

ex) sudo tar -xf stlink_udev_rule.tar.tar.bz2 -C /etc/udev/rules.d

more detail

7 . Eclipse Setting

그리고, Eclipse에서 사용하기 위해 다음과 같은 설정을 진행합니다.
상단 메뉴의 [Windows] - [Preferences] 클릭.
나오는 팝업창에서 아래와 같이 설정해줍니다.

  • 왼쪽메뉴의 [Run/Debug] - [OpenOCD] 클릭
  • Folder : OpenOCD설치경로\bin

Setting OpenOCD in Eclipse

more detail


  • 실제 OpenOCD를 사용한 디버깅 방법에 대해서는 여기 를 참조바랍니다.

  • more detail



GitHub

오픈소스를 포팅하고 있는 중이기 때문에, 모든 것을 오픈합니다.

Git 저장소
GitHub Wiki

기본적으로
Develop Branch 에서 작업하고 필요시 Master로 Merge하고 있습니다.
어느정도 안정화가 되면, Release로 작업할 예정입니다.


댓글
댓글쓰기 폼