프로그래밍 농장

임베디드 시스템 기초이론 [ 임베디드시스템 설계 ] 본문

Linux

임베디드 시스템 기초이론 [ 임베디드시스템 설계 ]

Tennessee201 2021. 9. 1.
728x90

-임베디드 시스템이란? 

A Computer system that has a dedicated function within a larger mechhanical or electronic system.

-> 다른 큰 시스템에 부분으로 들어가는 작은 시스템 :  [ 내장형시스템 ] 

Embedded System

= 내장형시스템(within a larger system) = 특정기능(dedicated functions) = 일반적으로 작은 마이크로프로세서를 탑재

-> 제한적 기능 ( 특정 기능만을 구현 ) 

-> 엄격한 제약사항 ( 크기 / 무게 / 가격 / 전력소모량 등이 지정됨 ) [ex. 원자로 제어 ]

-> 실시간성(=Realtime) ( 특정작업이 완료되는 시간을 보장 )  [ex. 자율주행시스템, 무인항공시스템 . .]

-> 신뢰성 : 오동작이 허용되지 않는 고도의 신뢰성을 요구 

-> 최적화 필요 : 제한된 하드웨어 사용 ( CPU, 메모리, 사용자 인터페이스, 전력소모 ) 

-> 개발 환경의 이질성 : 전용 하드웨어 사용으로 범용 개발 환경을 지원하지 않는 경우가 많다 . ( 호환 낮음 ) 

 

- 임베디드 시스템의 구성 

- 임베디드 하드웨어

: 주로 마이크로프로세서 or 마이크로컨트롤러 사용 (ex 아두이노 / 라즈베리 파이 . .)

: 범용 컴퓨터에 비해 주변 기기들과 저속으로 통신하는 버스를 주로 사용 (ex UART / I2C / SPI . .)

 

- 임베디드 소프트웨어 

: 특정 기능만 구현하므로 범용성을 고려하지 않음

: 별도의 운영체제나 펌웨어 대신 통합된 형태로 존재할 수 있음 

: 하드웨어를 직접 제어하므로 C나 어셈블리어등을 사용해야 되는 경우가 많다.

 

- 임베디드 시스템 어플리케이션 설계

: 라즈베리 파이 등을 활용 

- 임베디드 시스템 하드웨어 설계

: 보통 제품 개발사에서 제작 

- 임베디드 시스템 소프트웨어 설계 

: 임베디드 하드웨어를 관리하는 소프트웨어 [ 운영체제 / 펌웨어 / 미들웨어를 직접적으로 고려 , C나 어셈블리어 등 로우 레벨 언어를 사용 ]

 

- 시스템 소프트웨어

: 커널 및 핵심 시스템 라이브러리를 직접 사용하면서 하위레벨에서 동작하는 소프트웨어 (ex. 셸, 텍스트 편집기, 컴파일러, 디버거, 시스템 유틸리티 . .)

: 응용 소프트웨어 (어플리케이션) 을 위한 소프트웨어 (ex. 워드, 파워포인트 . . )

: 동작할 하드웨어와 운영체제가 명확하다. 

728x90