3.0 BeagleboneBlack(BB, 비글본 블랙) - 임베디드 리눅스 개발 환경(Embedded linux development environment)

728x90
반응형

임베디드 리눅스 개발을 위해 필요한것이 무엇이고, 어떻게 구하고, 어떤 환경을 구성해야하는지 설명하도록 하겠다.

1.임베디드 리눅스 개발 환경(Embedded linux development environment)

임베디드 리눅스를 개발하기 위해서는 Host PC, 개발보드, 컴파일러, BSP 이렇게 총 4가지가 필요하다.

 

1.1 Host PC

리눅스가 설치된 PC가 있어야한다. 윈도우 기반에서 가상머신을 이용해 리눅스를 사용해도되고, PC의 기본 OS 리눅스로 설치해도 된다. 리눅스의 종류가 워낙에 많다보니 무엇을 설치하라고 딱 지정해서 말 할 수는 없지만 대세는 Ubuntu 인것 같다.(이건 개인적인 생각) Ubuntu 설치방법은 아래 포스팅을 참고하면 된다. PC에 기본 OS를 설치하는 방법이고 가상머신에 설치해도 방법은 비슷할 것이다. 가상머신에 설치하는 방법은 구글링을 통해 확인해보길!

https://vuzwa.tistory.com/entry/Free-DOS-PC%EC%97%90-Ubuntu-Linux-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0

 

Free DOS PC에 Ubuntu Linux 설치하기

오늘의 포스팅은 운영체제가 설치되지 않은 PC에 Ubuntu Linux를 설치하는 방법이다! 보통은 윈도우가 설치된 PC에 VMware 등 가상 환경에서 Linux를 사용한다. 단순히 학습을 하고 작은 프로젝트를 수

vuzwa.tistory.com

 

1.2 Development board(개발보드)

두번째로 개발보드가 필요하다. 본 포스팅에서는 Beaglebone Black을 사용할 것이지만, 어떤 보드를 사용해도 무방하다. 요즘 보드가 워낙 많으니.. 더 좋은 보드를 사용해도되고 보드의 선택은 자유다! 주의할 점은 보드에서 사용하는 Core다. ARM, MIPS, PowerPC 등이 있다. Core의 선택에 따라 컴파일러, BSP가 달라지기 때문이다. 요즘 대세는 아무래도 ARM이다. 앞으로도 그럴것 같다.

 

 

1.3 Compiler(컴파일러)

세번째로 BSP와 작성한 .C 프로그램을 컴파일할 컴파일러가 필요하다. 임베디드 시스템에 사용하는 컴파일러는 크로스 컴파일러(Cross Complier)라고 하는데, 컴파일러가 실행되는 플랫폼(Host PC)이 아니고 다른 플랫폼(개발보드)에서 실행하능한 파일을 생성하는 컴파일러다.
우리가 가장 흔하게 접하는 안드로이드를 예를 들어보자. 안드로이드에서 동작하는 파일은 .apk 파일이다. 안드로이드 app을 개발하는 환경이 윈도우라고하면 크로스 컴파일러를 이용해 .apk를 만들 수 있다.

 

1.4 BSP(Board Support Package)

개발보드를 판매하는 회사에 제공하는 파일이다. 말 그대로 보드를 지원하는 소프트웨어 패키지를 모아놓은 것으로 "하드웨어를 동작시키기 위해 필요한 소프트웨어 패키지"다. 개발보드에 올라가있는 여러가지 주변 장치 및 센서를 제어할 수 있다. BSP에는 Bootloader, Kernel, Filesystem이 포함된다.

 

 

1.1과 1.2는 돈주고 원하느것을 사면되고, Ubuntu도 무료기 때문에 설치하면된다. 이 두가지 준비가 완료되면 1.3과 1.4를 알아보도록 하겠다!

 

 

-끝-

728x90
반응형