프로젝트의 목표 : 라즈베리파이에서 동작하는 Firmware 개발

Target : 라즈베리파이 3

개발환경 : Linux QEMU(애뮬레이터)

 

개발환경의 구축은 Linux OS에서 QEMU 애뮬레이터를 통해서 진행하며 최종목표는 라즈베리파이 3에서 동작하는 Firmware 자체 개발이다.

 

1. Compiler & QEMU 설치

리눅스 환경에서 리눅스가 아닌 ARM 개발을 진행하기 위해서는 먼저 크로스 컴파일러의설치가 필요하다 (서로 다른 OS 개발을 위한 컴파일러)

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

주소를 통해서 ARM 개발을 위한 gcc컴파일러의 설치가 가능하다 (리눅스의 경우 apt-get install 설치 가능)

 

마찬가지로 QEMU apt-get 통해서 설치합니다. QEMU arm용으로 설치합니다.

sudo apt-get install qemu-system 

기본적으로 embedded chipset arm 주로 사용하기 때문에 arm firmware 목표로 진행하겠습니다.

 

2. AP

위에서 언급한 'embedded chipset에서 arm 주로 사용한다' 이해를 돕기위해 배경 정리를 간단히 진행하겠습니다.

기본적으로 AP 대표적인 임베디드 시스템인 Mobile CPU, GPU, Memory등의 역할을 담당하는 chipset입니다.

 

보통 PC 경우 CPU, GPU, Memory 모두 분리되어 메인보드에 결합되고있으나 Mobile에서는 이러한 chip들을 하나의 chip으로 패키징해서 사용합니다. 해당 chipset AP라고부르며 이렇게 여러 개의 chpset 하나로 만드는 것을 SOC(System on chip)이라고 합니다.

 

결과적으로 이러한 SOC S.LSI exysnos, Qualcomm sm-xxxx 시리즈 chipset 됩니다.

그리고 이러한 AP 내에 패키징된 CPU 바로 arm 계열입니다. ARM Intel 같은 CPU 설계 개발을 진행하는 곳으로 저전력 RISC구조에 능해 데스크탑보다 전력 소모에 민감한 Mobile, Embedded에서는 ARM CPU 주로 사용합니다.

 

물론 ARM 아닌 AVR역시 embedded에서 주로 사용되고 있습니다. 예를들어 Atmega, Arduino 시리즈에서 주로 사용되는 MCU(MCU역시 SOC 비슷한 의미로 cpu, 입출력장치 등을 하나의 chipset으로 패키징한 chipset이다) chipset AVR입니다.

 

하지만 Project Target Model 라즈베리파이3역시 BCM2837 ARM chipset 사용하기 때문에 ARM chipset으로 FIrmware Project 진행하겠습니다.

 

 

 

 

  • ref

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sim940228&logNo=220660267682

임베디드 OS 개발 프로젝트

 

+ Recent posts