디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[강좌] 임베디드개발이 뭘까 라는 질문에 대한 답변..

임붕이 2025.01.11 02:52:33
조회 11273 추천 12 댓글 10
														


댓글로 질문글 올라올때마다 성심성의껏 답변해주긴했는데


시간지나면 같은 질문글 계속올리고 계속 답변해주고 짜증나서 걍 내가 대충 정리해봄


물론 요약해서 쓴거니까 더 궁금하면 책을 찾아보던 검색을 하던지 해


그리고 나는 SW 엔지니어라서 내가모르는분야는 추상적으로 말할수밖에 없다는걸 알림..



1. 임베디드 시스템이 뭔가요?


iouYDdzmovzWwVPz...

임베디드 시스템은 PC나 서버와는 달리 용어가 정형화되어있지 않은편임


근데 이미 우리는 일상생활속에서 이미 임베디드 시스템을 마주하고있음


가장 대표적으로 핸드폰을 생각하면됨


핸드폰은 PC와 같이 프로세서, 메모리, 저장장치, 입출력 I/O로 구성된 컴퓨터임


대표적인 예로 핸드폰을 선택했지만


기계식으로 돌아가는거 빼고

전기로 돌아가는 장치인데 뭔가를 제어한다거나 연산을 한다면 임베디드 시스템이라고 볼수있음



a04424ad2c06782ab47e5a67ee91766dc28ef1ecd2acc4c9bf11d2c65cd3d721b6bc7b267dbd93215318bb002c70



우리가 일반적으로 PC에 쓰는 CPU가있는데 이걸 작게 만든게 MPU(Microprocessor)


이 MPU를 제어에 특화되게 만든게 MCU(micro controller unit)이라고 보면됨


보통 MPU는 단일로 쓰는경우는 없고 시스템 온 칩(System on Chip, SoC) 형태로 구성되어 사용됨


SOC는 스마트폰이나 태블릿 같은 연산에 특화된 고성능 기기에 사용되고


MCU는 제어에 특화된 시스템에 많이 쓰인다고 보면됨



a04424ad2c06782ab47e5a67ee91766dc28ef1ecd2acc4c9bf11d2c653d0d521b649f98c907b9cdafd5fd6dc1732dc


CPU는 인텔이나 AMD에서 만드는건 다들 알거야


거기는 x86 아키텍쳐 기반으로 CPU를 설계하지만


임베디드는 ARM 아키텍쳐가 독점적인 지위를 누리고있음


ARM은 x86보다 저전력에 특화되어있다고 보면됨


RISC-V 라는것도 있긴한데 그냥 알아만 둬 ㅋ


마이크로칩, STM, NXP, NVIDIA, PIC, 르네사스, 애플, 삼성, TI 등등의 펩리스 회사들이


ARM에서 라이센스를 받아서 코어부분 설계도를 받아와서 이를 기반으로 MCU나 SOC 설계도를 만들고


그다음에 TSMC같은 파운드리 회사에서 제작함


ARM 코어는 Cortex-M, Cortex-A, Cortex-R 이런것들이 있는데 여기서 다 설명하려면 기니까


구글링 해서 알아서들 찾아봐



2. 임베디드 개발자는 어떤 영역이 있나요?


우선 기술적인 스택 관점에서 설명을 해줌


통상 생각하는 개발자하면 웹개발자 생각해서 그쪽은 프론트앤드 백앤드 이런식으로 나뉘듯이


어떻게 설명할까 하다가 계층으로 나누는게 편할거같아서



a76e34aa3d07b273a2331765479f3433ffa6fa32c62c4b1929e7c96b


블록도 이런식으로 ppt로 대충 그려봤는데


이게 최대 계층구조라고 보면될듯?


너가 사용하게될 CPU가 SOC냐 MCU냐에따라 계층구조가 달라진다고 보면됨



SOC 기반 계층 구조


SOC(System on Chip) 기반 시스템에서는 계층이 아래와 같이 나뉘고

각 계층은 하드웨어와 소프트웨어 간 상호작용을 원활하게 하기 위한 역할을 담당해


HW (하드웨어):

시스템의 물리적인 구성 요소. 프로세서, 메모리, 센서, 통신 모듈 등.


FW (부트로더):

하드웨어 초기화를 수행하고, OS 또는 상위 소프트웨어 계층을 로드하는 역할.

→ 예: U-Boot, Barebox 등.


OS (운영체제):

자원 관리 및 멀티태스킹 환경 제공. 디바이스 드라이버와 애플리케이션을 연결.

→ 예: Linux, Windows Embedded, RTOS 등.


Device Driver (디바이스 드라이버):

하드웨어를 제어하고 OS에서 이를 추상화해 제공.

→ 예: UART, I2C, SPI 드라이버 등.


Middleware (미들웨어):

OS와 애플리케이션 사이에서 동작하며 API를 제공. 주로 특정 기능(통신, 데이터 처리 등)을 담당.

→ 예: IoT 프레임워크, 통신 스택(TCP/IP), 그래픽 라이브러리 등.


APP (애플리케이션):

최종 사용자와 상호작용하는 소프트웨어. 특정 작업 수행.

→ 예: 카메라 제어 앱, 로봇 컨트롤러 등.


계층 간 상호작용

  • 하드웨어 ↔ 펌웨어: 레지스터 직접 제어.
  • 펌웨어 ↔ 디바이스 드라이버: 하드웨어 추상화.
  • OS ↔ 미들웨어: 자원 관리 및 프로세스 간 통신.
  • 미들웨어 ↔ 애플리케이션: API 제공.
이런식으로 정리할수있을듯


각자 맡은 개발영역이 있고 혼자서 저 영역을 다 커버하기엔 힘들다고 생각함 그래서 각영역마다 담당 직무가 있는거고..


SOC급 칩을 쓰는 시스템이면 보통 이런식으로 개발영역이 나뉜다고 보면됨


이 계층구조가 임베디드 시스템에 있어서 절대적인건 아님



a76e34aa3d07b273a2331765449f3433127527e587133ae5ec5bd629



MCU 기반 계층 구조



MCU기반 시스템은 SOC에 비해 계층이 단순화되어 있으며, 특정 하드웨어와의 밀접한 연동을 중심으로 동작함


구조 1: HW → FW(APP)

HW (하드웨어): MCU 내부의 프로세서, 메모리, GPIO, 인터페이스 등.

FW (Firmware): 하드웨어와 직접 상호작용하며 제어 로직과 애플리케이션을 함께 포함.

→ 주로 단순한 기능을 수행하는 임베디드 시스템에서 사용.

→ 예: 세탁기, 전자레인지, 온도 센서 제어 시스템.


구조 2: HW → RTOS → APP

HW (하드웨어): MCU에 해당.

RTOS (Real-Time Operating System): RTOS를 통해 태스크 관리와 실시간 응답성을 보장.

→ 사용 예: 드론, 의료 기기, 산업용 로봇.

APP (애플리케이션): RTOS 위에서 동작하며, 각 태스크 간 협력을 통해 전체 시스템을 운영.


구조 3: HW → FW(부트로더) → FW(APP)

HW (하드웨어): 동일.

FW (부트로더): 하드웨어 초기화 및 펌웨어(APP) 로드 역할 수행.

FW (APP): 부트로더가 로드한 펌웨어가 하드웨어 제어와 애플리케이션 로직 수행.

→ 예: 부트로더로 시작해 펌웨어로 넘어가는 자동차 ECU.


SOC 기반 시스템은 복잡한 운영체제와 다양한 미들웨어를 사용해 고성능 연산이나 복잡한 작업을 수행하는 데 초점을 맞추고있고

MCU 기반 시스템은 단순하면서도 실시간 제어와 저전력 동작에 더 적합함


저기 위에 사진보다는 계층구조가 줄은게 보이는데 FW 부분이 OS 디바이스드라이버 미들웨어 APP 영역까지 다 커버하는구조라고 보면되고


시스템이 복잡하면은 계층구조가 늘어난다고 생각하면 편함


갤에서 MCU급은 답이없다.. 보드레벨은 답이없다 임베디드 답이없다 크아아아악 하는것도 그런맥락이라 생각하면 될듯

(근데 내생각은 다름 각자의 역할이 있다고 생각함)


HW 블록도 세분화할수 있긴한데..


HW 엔지니어라고해서 모든 HW 개발을 다할수있는건 아니고


여기도 디지털/아날로그, FPGA, RF 회로설계 등등으로 직무가 갈린다고 생각하면됨


내가 이쪽은 잘몰라서 걍 두루뭉술하게 넘어갈수밖에 없음



그리고 여태 기술적인 부분으로 나눠서 설명했다면..


산업군으로도 나눠서 설명할수도 있음


1. 인하우스칩을 개발하는 엔지니어

2. 상용칩들을 가지고 응용해서 개발하는 엔지니어


이렇게 나눠볼수 있고


인하우스 칩 개발이란.


엔비디아, 퀄컴, 브로드컴, STM, TI, PIC, 삼성, 애플 같은 SOC나 MCU 만드는 회사들 생각하면되고


그외엔 차량/방산/로봇/항공우주/의료기기/가전 등등 더있을거같긴한데 대충 생각나는 응용분야는 이정도?


우리나라에서는 요즘 현대자동차가 잘나가니까 차량쪽이 유망하다고 생각




그외에 갤러리에서 나온 생각나는 질문들..



Q1 SW 개발만하고싶은데 HW도 다알아야하나요?


여긴 SW + HW + 기구설계 이런식으로 종합해서 제품을 만들기때문에 알면좋지만 어차피 협업해서 만드는거라 각자의 분야가 있음..

내가 SW 엔지니어라서 위에 SW 분야만 썼는데 여기도 계층이 달라지면 기술스택이 갈리기때문에 서로의 입장에서는 블랙박스 시스템인거잖아.. 

몰라도 상관없음 자기가 맡은 역할만 충실히 해주면됨.. 물론 다른계층이나 분야도 알면 소통이 잘되는거니까 좋지


Q2 취업하기 어떤가요?


도메인에따라 다르고 니 수준에 따라 다름..

대기업이면 어려운건 당연하겠지?


Q3 PLC도 임베디드인가요?


사촌쯤이라고 생각하면 됨

개발자들이 일일히 유지보수하기 힘드니까

공장오퍼레이터들이 제어하기쉽게 래더라는걸로 제어로직을 짜는걸로 알고있음


Q4 언어는 뭐 공부해야하나요?


로우레벨로가면 C고 리눅스 커널 모듈쪽에 제한적으로 rust가 쓰이는걸로 알고있음

APP이나 미들웨어쪽은 성능이 중요하면 C++

그냥 자기가 만드는 거에 적합한 언어를 선택하면 됩니다..


아 생각이안난다. 대충 이만씀



추천 비추천

12

고정닉 6

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
- 설문 주류 모델하면 매출 폭등시킬 것 같은 아이돌 스타는? 운영자 26/01/05 - -
- AD 집에서 즐기는 Fresh 미식회 운영자 25/12/22 - -
5560 공지 질문하고 글삭좀 쳐하지마라 [1] 임붕이 25.12.26 141 2
공지 임베디드개발이 뭘까 라는 질문에 대한 답변.. [10] 임붕이 25.01.11 11273 12
3155 공지 [공지] 멤버만 글쓸수있게 변경함 [4] 퍼플승연갤로그로 이동합니다. 23.11.27 2939 0
2745 공지 [공지] 임베디드 갤러리 규칙 퍼플승연갤로그로 이동합니다. 23.10.11 1854 0
5623 일반 4년차 하드웨어 개발자 올해는 이직한다 반드시 [8] 임붕이 14:41 78 0
5622 일반 올해 4학년 좆된 컴공생인데 질문하나만 받아주실분 계신가요 ㅠㅠ [10] 임붕이 01:09 224 0
5621 일반 임베디드 sw 노려도 verilog, fpga, zynq 배우는 거 [2] 임붕이 00:57 131 0
5620 일반 AI는 일반적으로 최소석사라는 인식이 강한데 [3] 임붕이 01.07 180 0
5619 일반 집이 추워서 타이핑을 못하겠어... 임붕이 01.07 66 0
5618 일반 요즘 스레드 재밌어서 보고있는데 [6] 임붕이 01.07 168 0
5617 일반 학력관련 질문(초대졸) [2] 임붕이 01.07 133 0
5616 일반 stm32h7s7 dk 움짤 시연 [3] 임붕이 01.06 280 0
5615 일반 bsp쪽은 솔직히 아무리 잘해도 [11] 임붕이 01.06 344 2
5614 일반 아래 글 쓴 임붕이예요 [13] 임붕이 01.06 243 0
5613 일반 지금부터 준비해도 괜찮을지…? [4] 임붕이 01.06 255 0
5612 일반 소프트웨어 개발자에 비해 너무 티가 안난다 [6] 임붕이 01.06 328 0
5611 일반 main.c 47,000줄 실제로 본적있냐? [6] 임붕이 01.05 334 0
5610 일반 main에 다 때려박고 전역에 플래그 변수 남발하는 흑우 없제? [6] 임붕이 01.05 325 0
5609 일반 2년제 전기과 출신 신입 초봉 평균은 어느정도임? [6] 임붕이 01.05 248 0
5608 일반 stm32h7s7 dk보드에 비트맵 이미지 띄우기 [10] 임붕이 01.04 322 0
5607 일반 stm32 [3] 임붕이 01.04 224 0
5606 일반 오늘의 과제 임붕이 01.04 179 0
5605 일반 임베디드 알고리즘 문제 잘푸는거 의미없냐 [5] 임붕이 01.04 352 0
5604 일반 임눅스, MCU/펌웨어 공부방향 질문드립니다 [6] 임붕이 01.03 342 0
5603 일반 춥다.. [7] 임붕이 01.03 238 0
5602 일반 행님덜 5년차 늅늅이 질문드립니다 [14] 임붕이 01.03 248 0
5601 일반 형님들 이번에 졸업하는 전자과 질문입니다.. [4] 임붕이 01.02 272 0
5600 일반 g sensor 질문!!!! [4] 임붕이 01.02 97 0
5599 일반 서데스 써본사람있음? [2] 임붕이 01.02 113 0
5598 일반 STM32 MCU 적당한거 뭐 있음? [3] 임붕이 01.02 255 0
5597 일반 비글본 sd인식 질문좀.. [4] 임붕이 01.01 152 0
5596 일반 새해에는 양산문제 안터지는 한해가되자 [2] 임붕이 01.01 157 0
5595 일반 다들 새해 복 많이 받으세요 [2] 임붕이 01.01 108 0
5594 일반 중견, 대겹 뚫는데 코테 영어 중요하나요? [8] 임붕이 25.12.31 453 0
5593 일반 어플 보드에 넣었는데 자꾸 깨져요 [6] 임붕이 25.12.31 178 0
5592 일반 dht22 이렇게 쓰는거 맞아요? [5] 임붕이 25.12.31 195 0
5591 일반 MCU [2] 임붕이 25.12.31 177 0
5589 일반 여기 직업훈련 어떻게 생각하시나요? [5] 임붕이 25.12.30 334 0
5588 일반 의료공학과 학생인데 방향성 한번만 잡아주실수 있을까요??ㅠㅠ [38] 임붕이 25.12.30 400 0
5587 일반 일본기업 취직한지 2년 [9] 임붕이 25.12.30 280 0
5586 일반 자동차에 임베디드면 ECU 쪽인가? [5] 임붕이 25.12.30 326 0
5584 일반 팀장 급으로 사람 한 명 뽑았는데.. [8] 임붕이 25.12.29 451 0
5583 일반 평소에 컴공들 까고 다녔는데 [2] 임붕이 25.12.29 514 1
5582 일반 연봉 인상감소는 퇴사 시그널이냐 [2] 임붕이 25.12.29 276 0
5581 일반 산업계 표준 MCU는 STM32 맞지? [7] 임붕이 25.12.29 407 0
5580 일반 후임 실력 끌어올릴 방법 조언좀 [8] 임붕이 25.12.29 349 0
5579 일반 로봇쪽으로 갈려면 석사는 필수인가 [4] 임붕이 25.12.29 317 0
5578 일반 임베 오지말라는거보고 취준생 연막이니 뭐니 하는데 [1] 임붕이 25.12.29 353 0
5577 일반 바이브코딩만 하는거 어떻게 생각함? [11] 임붕이 25.12.28 340 0
5576 일반 중고신입 이직 하고싶은데 조언좀 부탁드립니다. [10] 임붕이 25.12.28 287 0
5574 일반 님들 arm쪽 공부하는 책 추천좀 임붕이 25.12.28 144 0
5572 일반 전자과에서 임베디드 vs 컴공과에서 임베디드 [3] 임붕이 25.12.28 515 0
5571 일반 후임 여자소개 시켜줬는데 사람이 바뀜 [7] 임붕이 25.12.28 442 0
5570 일반 중소 중견 대기업 이직에 대해 어떻게 생각함? [9] 임붕이 25.12.27 304 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2