임베디드 용어 사전
기초·메모리

MCU

CPU·메모리·주변장치를 한 칩에 담은 마이크로컨트롤러. OS 없이 펌웨어가 직접 하드웨어를 다룬다.

Microcontroller Unit. "컴퓨터 한 대가 칩 하나 안에 들어 있다" 고 보면 된다.

PC 와 무엇이 다른가

PC      CPU · RAM · 저장장치가 각각 부품. OS 가 자원을 관리한다
MCU     플래시 · SRAM · 타이머 · 통신이 전부 칩 안. 관리자가 없다

관리자가 없다는 말은 내 코드가 곧 시스템이라는 뜻이다. 메모리를 누가 대신 정리해 주지 않고, 프로그램이 끝나면 돌아갈 곳도 없어서 main 은 무한 루프로 끝나지 않는다.

그래서 생기는 성질

  • 부팅이 빠르다 — 전원을 넣고 수십 µs 안에 코드가 돈다. 리눅스는 초 단위다
  • 결정성 — "매 1ms 마다 반드시" 를 지킬 수 있다. 스케줄러가 끼어들지 않기 때문
  • 자원이 작다 — 플래시 수백 KB, RAM 수십 KB. 라이브러리 하나가 예산을 다 먹기도 한다

개발 흐름도 다르다

코드를 PC 에서 짜서(크로스 컴파일) 바이너리를 칩에 구워 넣고, 디버거로 칩 안을 들여다본다. printf 하나 찍는 것도 UART 를 먼저 살려야 가능하다.

함께 보면 좋은 용어

노트에서 맥락과 함께 보기 — MCU란 무엇인가 — OS 없이 도는 컴퓨터