본문 바로가기
공부/임베디드

[임베디드] 임베디드 시스템과 임베디드 개발자

by 로디네로 2021. 8. 16.
반응형

 

https://www.alliedmarketresearch.com/embedded-systems-market-A08516

 

임베디드 시스템은

 

공학계열 학생,사람들에게 꽤나 친숙한 단어임에 비해 확실히 어떤 분야인지 아는 사람은 많지 않다고 생각한다.

 


 

예를 들면 내가 대학입학 면접을 볼 때도 임베디드 시스템에 관심있다고 한 기억이 난다.

 

면접관은 임베디드 시스템이 뭔지 아냐는 질문을 했고 나는 핸드폰이 카메라, TV 등 여러 기능을 할 수 있게 하는것이 임베디드 시스템이라고 말했었다.

 

어디서 서치를 해서 그렇게 알고 있었는지는 모르겠지만 부끄럽게도 너무나도 얕고 아무것도 모르는듯한 답변이었다.

 

 

 

 

 


 

 

 

 

임베디드(Embedded) 의 사전적 의미와 임베디드 시스템

 

사전적 의미는 '간직하다' '내장하다' '끼워넣다' 등 이다.

 

전자제품이나 기기 내부에 어떠한 시스템을 내장하여 특정 기능을 수행하는 것으로 생각할 수 있다.

 

이러한 운영체제를 담는 그릇이 마이크로프로세서,CPU 등이고 이렇게 완성된 시스템을 임베디드 시스템이라고 한다.

 


이런 임베디드 시스템은 고등학생때 내가 생각했던 핸드폰의 전화기능 + TV + 카메라 뿐만 아닌 냉장고, 비행기, 인공위성 등 모든 장비에 들어가게 된다.

 

여기서 임베디드 소프트웨어의 특징은 Edge단 이라는 것이다.

https://www.researchgate.net/figure/Edge-devices-and-edge-nodes-in-relation-to-the-cloud_fig1_307888359

 

전체적인 시스템이 클라우드 단에서 동작한다고 해도 입출력은 Edge 단에서 행해진다.

 

따라서 사용자에 가까운 특성때문에 동작이 신속해야한다 -> C, 어셈블리어 사용하는 경우가 많다

 

관련해서 이후에 리눅스 커널에 대해 포스팅을 올릴 예정이다.

 

 

 

 

 


 

 

 

 

임베디드 개발자는

임베디드개발자는 말그대로 임베디드시스템을 개발하는 개발자이다.

 

이들을 큰 분류로 나눈다면 펌웨어개발자와 하드웨어개발자로 나눌 수도 있을것이다.

 


여기서 펌웨어란 뭘까?

 

펌웨어는 임베디드시스템에서 구현되는 소프트웨어이다.

 

통상적으로 펌웨어는 소프트웨어와 하드웨어의 중간에 위치하고 있다고도 한다.

 

만약 하드웨어로 모든 기능을 구현한다면 하드웨어만 ON 시키면 그 동작을 수행하게 되므로 동작 속도가 빠르겠지만, 각 규격에 맞는 부품이 모두 필요할 것이므로 필요한 부품의 수가 많아질 것이고 기능의 확장 및 수정이 쉽지 않을 것이다.

 

펌웨어는 이런 하드웨어를 다룰 수 있는 소프트웨어로 하드웨어를 직접 제어하기 때문에 일반적인 PC를 다루는 코딩,소프트웨어보다 좀 더 하드웨어 친화적이라고 할 수 있다.

 

-> 새로운 프로그래밍 체계를 익혀야 할 것이다.

 


뭘 하게되나

 

하드웨어에 가까운 Low Level 단에서의 개발은 제품의 신뢰도에 큰 영향을 미칠 수 있다.

 

크게 펌웨어개발 / Kernel개발 / 시스템&플랫폼 개발을 하게 될 수 있고

참고 : https://mincoding.co.kr/developer/?mod=document&uid=109&pageid=1 

 

이를 위해서는 가장 기본적으로 아래에 대한 이해가 필요하다.

  • 컴파일 관련(object file, gcc, make 등)
  • OS
  • 통신
  • 리눅스커널(device driver 등)
  • 하드웨어(부품, 회로 등)

이외에도 많은 부분이 있다.

 

 

 

 


 

 

 

 

임베디드 개발자의 전망

 

요즘 핫한 개발자는 ML, DB, Cloud 관련 개발자로 고전적인 분야인 임베디드 개발자와는 거리가 멀다.

 

하지만 임베디드시스템은 Device 가 있는 분야라면 필수적으로 필요하기 때문에 수요가 꾸준한 분야이기도 하다.

 

유행을 타지않아 전문성을 갖춘다면 직업을 잃을 걱정은 하지않고 보수도 높다고 한다.

 


임베디드개발자를 필요로 하는 기업은?

여러 대기업은 Device 를 가지고 있다.

 

  • 현대자동차 : 차량 제어, AI, IT 등
  • 방산업체 : 미사일, 발사시스템 등
  • 삼성전자 : FW개발, 전자기기제어 등

 

등 매우 많은 분야의 회사에서 임베디드 개발자를 꾸준히 필요로 한다.

 

 

 

 

 

 

 

반응형

댓글