티스토리 뷰
Cortex-M 기반의 MCU 프로그램을 개발하기 위한 환경은 셀 수없이 많다.
특히, ARM사에서는 CMSIS라는 일종의 device driver와 같은 API를 제공하기 때문에 이를 적용한 개발 툴들도 적지 않다.
만약 회사에서나 개인이라도 상용 제품을 빠른 시간내에 개발해야 된다는 조건이 있다면 유료 개발 툴을 도입하거나 무료 제품중에서 적당한 툴을 이용하는것이 좋을것이다.
그러나 이 블로그는 가급적이면 datasheet 만을 분석하여 직접 하드웨어를 제어하는 코드를 만들어 보는 것이 목적이므로, 하드웨어도 단순할 뿐 아니라 소프트웨어 개발도 오로지 GCC 컴파일러만 사용해서 진행해 볼 예정이다.
개발 OS는 Linux를 이용한다. 별도의 Linux가 설치되어 있는 컴퓨터가 없다면 VirtualBox와 같은 가상환경을 이용하여 리눅스를 설치하여도 된다. 이 블로그에서는 Window 10 host OS에 virtualBox를 설치한 후 CentOS linux를 client OS로 설치한 것으로 기반하여 설명을 진행 하도록 하겠다.
GCC 컴파일러 소스코드를 다운받아 직접 빌드하여 ARM용 GCC 컴파일러를 만들수도 있지만 의외로 잘 안되는 경우가 많으므로 그냥 널리 알려져 있는 ARM GCC 컴파일러를 사용하도록 하는게 여러모로 좋다.
이 블로그에서는 https://launchpad.net/gcc-arm-embedded에서 제공하는 컴파일러를 사용하도록 하겠다.
홈페이지의 오른쪽에서 다음과 같은 화면을 볼 수 있다.
OS 종류에 따른 다양한 파일들이 있는데, 그 중에서 tar.bz2로 끝나는 파일을 다운로드 받는다.
다운받은 파일은 bzip2로 압축되어 있으므로 단순히 압축을 적당한 위치에 풀어주면 된다.
흔히 크로스 컴파일러는 /usr/local 이나 /opt 에 설치하는게 일반적인것 같다. 여기에서는 /usr/local에 설치하도록 하겠다.
위의 그림에서 보는바와 같이 "sudo tar xjf gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2 -C /usr/local" 라고 입력하면 된다. tar 명령어에서 -C 옵션을 이용하면 어느 위치에 압축 파일을 풀것인지 지정해 줄 수 있다.
ls /usr/local명령으로 원하는 위치에 제대로 압축이 풀렸는지 확인한다.
위의 그림에서 빨간색 박스안에 보이는 디렉토리 방금 설치한 ARM용 크로스 컴파일러이다. 디렉토리 이름이 다소 긴것 같으므로 mv 명령을 이용하여 arm이라는 이름으로 변경하는것으로 하겠다.
설치된 컴파일러를 편리하게 사용할 수 있도록 하기 위하여 환경 설정 파일에 path를 잡아 주도록 하겠다.
.bashrc 파일에 다음과 같은 내용을 입력한다.
.bashrc 파일을 수정한 후 바로 적용해주기 위해서는 source ~/.bashrc 라고 입력해 주거나 새로 login을 하면 된다.
Path 설정이 잘 되었는지 확인하기 위하여 arm까지만 입력하고 Tab 키를 연속해서 두번 눌러본다.
그림처럼 arm-none-eabi- 로 시작되는 파일들의 이름이 화면에 나타나면 컴파일러 설정은 제대로 되었다고 보면 된다.
'ARM Cortex-M' 카테고리의 다른 글
Start up 2 (6) | 2017.02.12 |
---|---|
Start up (17) | 2017.02.11 |
디버거/프로그래머 연결 (0) | 2017.02.11 |
하드웨어 준비 (6) | 2017.02.11 |
ARM으로 임베디드 배워 보기 (5) | 2017.02.11 |