임베디드/[ Embedded ]

[ Embedded ] 22. 임베디드 리눅스 구성요소(BSP)

kim.svadoz 2020. 10. 30. 17:39
728x90
반응형

6. 임베디드 리눅스 구성요소(BSP)


- BSP란?

BSP(Board Support Package)란 말은 본래 RTOS에서 나온 용어로, "보드를 떠받치는(지원하는)" 소프트웨어 패키지란 뜻으로, "보드(하드웨어)를 동작 시키기 위해 필요한 (임베디드) 소프트웨어 묶음" 이다.

image-20201030130709524

위 그림은 Firmware와 RTOS로 구동되는 시스템과 Non-RTOS로 구동되는 시스템의 차이를 보여주고 있다.

WindRiver 사의 VxWorks와 같은 일부 상용 RTOS를 제외하고 대부분의 RTOS와 자체 Firmware에는 Non-RTOS와 같은 파일 시스템(File System)이 없다. 즉 소스들이 아무리 많다 하더라도 결국 컴파일이 끝나면 최종적으로 (CPU에 종속적인) 바이널 실행 코드 하나만 생성된다.

따라서 Firmware와 RTOS의 BSP는 제품의 기능이라 할 수 있는 코드(이를 "User Application"라고 표현했다)와 그러한 제품의 기능을 실제 구현하기 위해 하드웨어를 직접적으로 제어하는 코드("Firmware"라고 표현)가 하나의 파일로 묶여 BSP를 구성하고 있다.

그러나 Linux나 Windows CE와 같은 Non-RTOS들은 3가지 실행 코드들로 구성된다.

image-20201030130946738

image-20201030130953897

- 임베디드 리눅스 BSP

Embedded Linx BSP에서 가장 중요한 부분이라면 당연히 OS 부분인 Linux Kernel이다.

Linux는 오픈 소스로 진행되는 공개 OS이므로, Linux란 OS의 부트 로더 인터페이스와 파일 시스템 인터페이스 규격만 알고 있다면, 부트 로더와 파일 시스템을 개발할 수도 있다는 뜻이다.

ARM 프로세서 기반의 Embedded LInux에서 사용 가능한 Boot Loader는 크게 세 가지 종류이다.

image-20201030131111734

Embedded Linux File System 종류별 비교

image-20201030131133493

728x90
반응형