본문 바로가기

임베디드(embedded)/BSP(Board Support Package) 학습

툴체인(Toolchain)이란?

툴체인(Toolchain)의 설명에 앞서 툴체인의 필요 목적에 대해서 알아보자.



[ 그림 1 ] Host and Target System

 

임베디드 시스템을 개발을 위해서는 대부분 [ 그림 1 ]처럼 호스트 시스템(Host System)과 타겟 시스템(Target System)으로 구성된다. 호스트 시스템은 실질적인 임베디드 시스템을 개발하는 환경으로, 이는 임베디드 시스템의 하드웨어의 제한적인 성능 때문에 큰 용량의 저장장치를 가지고 있지 않기 때문이다. 그래서 상대적으로 성능이 좋은 호스트 시스템을 구축하여 타겟 시스템에서 동작 가능한 프로그램을 만드는데 이것을 교차 컴파일(Cross compile)이라고 한다. 여기서 타겟 시스템이란 실질적인 임베디드 시스템이 동작되는 환경을 말한다.

 

툴체인(Toolchain)이란 타겟 시스템에서 동작하는 프로그램 개발에 필요한 호스트 시스템의 소프트웨어들 또는 개발 환경을 통칭하기도 한다. 조금 더 자세하게 설명하면 소스 코드를 컴파일하고 빌드하여 바이너리 실행 파일을 생성하는데 필요한 각종 유틸리티 및 라이브러리의 모음이다.

 

툴체인의 기본적인 구성 요소는 다음과 같다.

-      Assembler

-      Linker

-      C Compiler

-      C Library

등이 있다.