11/21/2015

ARM 용 Tool Chain 설치 및 관련 설정

1. Tool Chain 설치준비

기존 LINK는 찾아봤는데, 끊기고, 되는 곳은 아래의 사이트가 동작.
공통된 ARM Core를 사용하기 때문에 DM8127 or DM8148 , DM368 다 동일하다.
이 GCC가 본인사용하는 ARM version 이 지원하는가 중요 할뿐이다.
하지만, ARM 64bit는 이야기가 다르기 때문에 이부분은 반드시 GCC Manual이나,
관련부분을 확인해야겠다.

  • 지원사항 확인 및 설치방법
만약 아래의 Link가 살아있다면, 이것대로 하는것이 가장편하고 좋은 것 같다.
아래의 설명도 아래의 Link와 동일하다.
구지 아래의 문서를 보지 않아도 되겠다.

https://developer.ridgerun.com/wiki/index.php/Code_Sourcery_ARM_toolchain_2009q1-203

1.1 Download 및 How to Install 

ARM 32bit용을 지원하며, 위에서 언급했듯이 거의 모든 Coretex에서 지원하여 사용한다.
  • Download Tool Chain
http://www.codesourcery.com/sgpp/lite/arm/portal/package4573/public/arm-none-linux-gnueabi/arm-2009q1-203-arm-none-linux-gnueabi.bin

1.2 기본환경구성 및 준비 

본인은 Ubuntu를 사용하기 때문에 Ubuntu기반으로 설명
위의 Link 사이트에 들어가면 Red Hat에 관련 설명도 있으니, 이부분도 참고하시길

/opt/codesourcery 에 설치할 것이며, 본인이 원한다면 주소를 변경을 하여도 상관은 없다.

sudo mkdir -p /opt/codesourcery
sudo chmod ugo+wrx /opt/codesourcery

1. Download arm-2009q1-203-arm-none-linux-gnueabi.bin 파일
2. Ubuntu의 Terminal에서 이파일을 실행 준비

이 파일을 실행시키기 위해서 GTK관련부분이 필요하기에 아래와 같이 필요한 Package를 설치한다.

1.3 BASH 관련부분 설정 확인

sudo rm /bin/sh
sudo ln -s /bin/bash /bin/sh

1.4 GTK Package 설치 

GTK 역시 32bit version으로 작성이 되어있으며, 만약 OS가 64bit이면 아래와 같이 32bit용을
별도로 설치해주어 동작을 진행하도록 하자.
64bit OS에서도 크게 문제없이 동작이 된다.

  • OS 32bit 인 경우 
sudo apt-get install libgtk2.0-0:i386 libxtst6:i386 gtk2-engines-murrine:i386 libstdc++6 libxt6:i386
sudo apt-get install libdbus-glib-1-2:i386 libasound2:i386

  • OS 64bit일 경우
아래와 같이 32bit version으로 동작 하게 관련 Package 설치

sudo apt-get install ia32-libs ia32-libs-gtk 

위와 같이 설치후, 32bit version과 동일

  https://sourcery.mentor.com/sgpp/lite/arm/portal/kbentry62

1.5 Virtual Machine 설치

sudo apt-get install openjdk-6-jre

for Ubuntu 16.04

sudo add-apt-repository ppa:openjdk-r/ppa  
sudo apt-get update   
sudo apt-get install openjdk-7-jre 


2. Tool chain 설치 

UBuntu의 Terminal에서 실행모드를 추가 한 후, 실행하면

chmod ugo+x arm-2009q1-203-arm-none-linux-gnueabi.bin
./arm-2009q1-203-arm-none-linux-gnueabi.bin


2.1 기본설치 



                        Next 와 I agree로 진행


                      설치되는 Tool Chain의 기본 Library 확인


                       Typical 선택 및 진행
                               
                             
                       /opt/codesourcery/arm-2009q1 으로 변경
             
                             
                       Do not modify PATH로 진행

                               
                   Link Folder -> Don't create Links 선택 진행
                  (이부분 동적 Library  Link path 이므로 기억해야한다.)
                  만약 본인이 추가로 동적 Library를 사용한다면, others를 넣고 설정


                     위와 같이 설치 될 예정 Link Folder에 문제가 있지만,
                     추후 확장을 안한다면 문제가 없다.
                             
2.2 본인 PATH 및 Link Folder 설정 

본인의 Folder안에 설치가 가능하며, 위의 Link Folder를 이용하여 Link Folder도 설정가능하다.




솔직히, 2.1로 설치하는 것이 편하며, Link Folder 역시 별도로 아직 사용하지 않는것 같다.
Shared Library를 이곳에 추가 할일도 없는 것 같다.


3. Linux의 환경설정 

아래의 설정을 .vimrc에 강제로 추가해도 되지만, source로 하는것이 더 편할것 같다.
UBOOT와 KERNEL에서 ARCH와 CROSS_COMPILE 환경변수는 필수이며,
INSTALL_MOD_PATH 는 Linux Kernel에서 Module의 설치 장소이다.


  • 환경변수 설정

$ vi setPATH.sh
#!/bin/sh
# source setPATH.sh
export TOOLCHAIN_PATH=/opt/codesourcery/arm-2009q1/bin/
export TOOLCHAIN_PATH1=/home/jhlee/dm8148/CodeSourcery/Sourcery_G++_Lite/bin
export TOOLCHAIN_PATH2=/home/jhlee/dm8127/CodeSourcery/Sourcery_G++_Lite/bin

export PATH=$PATH:${TOOLCHAIN_PATH}

export ARCH=arm
export CROSS_COMPILE=arm-none-linux-gnueabi-
export INSTALL_MOD_PATH="${HOME}/dm8148/targetfs"    


  •  source를 이용하여 적용 


$ source setPATH.sh 


**source 사용이유 

./setPATH.sh 만 실행할 경우, 이 shell script가 실행되는동안 이 PATH가 적용이 된다.
그래서 source를 사용하여 지속적으로 적용시킨다.

댓글 없음 :