Hafoom.com

임베디드 시스템 순서

기구 -> 아트웍 -> 회로 -> 펌웨어,디바이스드라이버,BSP -> 커널 -> 어플리케이션

 

 

 

BSP(Board Support Package)

https://msnayana.blog.me/80065524365

 영어 그대로 해석하면 되겠지만, 쉽게 말해 부트로더 + 실시간 운영체제를 로드하기 위한 최소한의 장치를 지원하고 주변 장치를 지원하기 위한 드라이버를 총칭한다.

루트 파일 시스템(root file system), 툴체인(toolchain) 등을 포함하기도 한다.

(커널은 통상적으로 제외된다. )

 칩 제조업체(S사) 를 예로 레퍼런스 보드를 개발하여 보여준다 하면, BSP까지는 공급하여 테스트를 하게 된다.

한마디로, 최소한 보드의 기능 및 성능을 확인할 수 있도록 동작시키는 패키지로 보면 되겠다.

MS사의 설명을 따르면, 특정 하드웨어 플랫폼에 임베디드 운영체제를 빠르게 구축하는데 사용되는 소스 바이너리 소프트웨어 패키지라고 한다. 드라이버+OAL(OEM적응 계층)+HAL(하드웨어 추상화 계층) + BIOS 라고 한다.

정리하자면, 부트로더+드라이버+BIOS+파일시스템+툴체인 정도로 보면 되겠다. (정확한 요소를 딱 집지는 못하겠다)

 

 

모놀로식 커널과 마이크로 커널

https://selfish-developer.com/entry/%EB%AA%A8%EB%86%80%EB%A6%AC%EC%8B%9DMonolithic-kernel%EA%B3%BC-%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9CMicro-%EC%BB%A4%EB%84%90

커널을 공부한다면 필수적으로 알아야하는 개념으로 사료된다. 

마이크로 커널 : OS는 각 기능을 서브 시스템으로 분할하여 핵심 기능만을 커널에 담고 코어 부분에서 담당하도록 한다. (하나의 서비스가 죽더라도 전체 커널이 panic되지 않기 때문에 임베디드에 쓰인다는데 이해가 잘 안간다.) File system이나 Driver는 유저 공간에서 실행된다.

모놀리식 커널 : 단일형 커널이라고도 한다. 입출력, 네트워크, 장치 지원 등 일반적인 기능들을 동일한 메모리 공간에 적재 및 실행한다. 리눅스는 하나의 프로그램으로 수행되므로 모놀리식이다. 어플리케이션을 제외하고 모두 커널이 관리한다. 

 

 

 

Kernel Module

 마이크로 커널이 가지는 모듈 기능을 모놀로식 커널에 도입함으로써 '커널 모듈'개념이 등장한다.

 커널 모듈(Kernel modules, KMOD) 등의 여러가지 이름으로 쓰인다.... LKM(Loadable kernel module)이라는 표현도 쓴다. OS에서 실행중인 커널을 확장하는 코드를 포함하는 목적파일로써, 새로운 하드웨어(디바이스 드라이버)나 파일시스템을 지원하거나 시스템 호출을 추가하는데 사용된다.

 리눅스 측면에서 얘기하자면 v2.x 가 되면서 커널 모듈개념이 추가되었다. 커널 크기를 줄이기 위한 방법 중 하나로 커널 전체를 컴파일할 필요 없이 모듈단위로만 컴파일해서 동적으로 커널에 추가해주는 개념이다.

혹시 모르니 이것저것 다 포함해주는 커널과 다르게 나중에 필요에 따라 추가하므로 확장성, 재사용성을 높일 수 있다.

다시 말해, 디바이스와의 연결 및 구동을 제어하기 위한 커널은 매번 새로운 기능을 추가하거나 디바이스를 추가할 때마다 커널을 다시 컴파일하거나 시스템 재부팅을 해야할 필요성이 사라지게 된 것이다. 

 

 

Evaluation Board (평가보드, 샘플보드) 

http://sewoon.com/mall/kims_lib/board/dictionaryboard.php?table=Dictionary&action=print&l=488
Evaluation이란 용어는 무언가의 가치를 평가해본다는 의미이다. 이것은 S/W와 H/W 전반에 걸쳐 사용되는 용어로서, 해당 제품을 구매하기 전에 샘플 혹은 데모버전으로서 사용해본다는 의미가 담겨있다.

Evaluation board란 주로 IC등의 성능을 테스트해보기위한 일종의 Jig board를 의미한다. 즉 실제로 똑같이 사용될지는 알수 없지만, 시스템 제작을 위해 해당 IC가 어느 정도 성능을 낼 수 있는지 보여주기 위해 IC제작사측에서 측정용 Jig board를 꾸리고 칩을 실장하여 만들게 된다.

RF에선 RFIC나 MMIC 등의 성능을 가늠해보고 튜닝성을 검증하기 위해 대부분 Evaluation board를 제공한다. 하지만 실제 사용될 시스템의 PCB에서는 특성이 많건 적건 변하게 되는데, 시스템 설계자가 해야되는 중요한 작업 중 하나가 바로 이러한 상황에 대한 튜닝 작업들이다.

그러므로 Evaluation Board 상의 소자 배치와 값을 그대로 믿고 쓰기보다는, 해당 RFIC/MMIC에서 끌어낼 수 있는 성능이 어떤 지를 검증해보기 위한 용도라고 보는 것이 더 적합하다.

수GHz 대역의 RFIC류는 이런 evaluation board가 기본적으로 제공될 수 있지만, 수십GHz 대의 MMIC의 경우는 패키징 자체가 매우 어려워서 bare chip으로만 제공하는 경우가 많다. 즉 사용자가 직접 패키징을 해서 성능을 검증해야 한다. 반면 특수하게 세라믹/에폭시 패키지를 응용하여 evaluation board를 제공하는 경우도 있지만 그리 많지는 않다.

 

 

 

 

'ARM+@' 카테고리의 다른 글

[D2] 2019.06.26  (0) 2019.06.26
용어 정리*개념정리  (0) 2019.06.25
[D1] 6.25 background 공부 및 준비  (0) 2019.06.25

Comment +0