임베디드 시스템에서 SoC와 RTOS를 설계하는 방법
임베디드 시스템의 자원 제약과 실시간 요구를 중심으로 SoC 구조, RTOS 스케줄링, 전력·안전·보안 설계 요소를 정리한다.
2026-08-14 · 최초 발행 2026-01-16
전용 기능을 위한 컴퓨팅 환경
임베디드 시스템은 더 큰 제품이나 장치 안에서 특정 기능을 수행하도록 만들어진 컴퓨터 시스템이다. 범용 컴퓨터와 달리 목적에 맞춰 최적화되며, 하드웨어와 소프트웨어가 밀접하게 결합한다.
스마트폰, 자동차, 의료기기, 산업 제어 시스템처럼 적용 범위는 넓지만 설계에서 반복해서 마주치는 조건은 비슷하다. 제한된 메모리·처리 능력·전력 안에서 정해진 시간 내 응답해야 하고, 장기간 멈추지 않는 신뢰성과 대량 생산 환경의 비용도 고려 대상이 된다.
| 분류 기준 | 유형 | 예시 |
|---|---|---|
| 복잡도 | 소형(Small Scale) | 디지털 시계, 리모컨 |
| 중형(Medium Scale) | 세탁기, 전자레인지 | |
| 대형(Large Scale) | 자동차 ECU, 스마트폰 | |
| 성능 | 저성능 | 8비트 MCU 기반 |
| 고성능 | 멀티코어 SoC 기반 | |
| 실시간성 | Hard Real-Time | 항공기 제어, ABS |
| Soft Real-Time | 멀티미디어, 네트워크 | |
| Non Real-Time | 일반 가전제품 |
한 칩에 묶는 시스템 구성
SoC(System-on-Chip)는 컴퓨터 시스템의 주요 구성요소를 단일 반도체 칩에 집적한 집적회로다. CPU, 메모리, 입출력 인터페이스, 그래픽 프로세서 등을 한 칩에 통합해 공간과 전력, 비용을 줄인다.
부품 수와 연결점이 줄어드는 만큼 소형화와 제조 단순화에 유리하다. 칩 내부 통신은 전력 소모와 지연을 낮추는 데 쓰이며, 연결점 감소는 고장률 저하에도 기여한다.
처리 기능에는 ARM Cortex나 RISC-V 등의 CPU 코어, 디지털 신호 처리를 위한 DSP, 그래픽 및 병렬 연산용 GPU, 머신러닝 추론을 위한 NPU/AI 가속기가 포함될 수 있다. 메모리 서브시스템은 온칩 캐시 역할의 SRAM, 부트 코드 저장용 ROM, 외부 DRAM 인터페이스를 위한 메모리 컨트롤러, 비휘발성 저장소 접근을 위한 플래시 컨트롤러로 구성된다.
GPIO, UART/SPI/I2C, USB/Ethernet, ADC/DAC, PWM/타이머는 외부 장치와 시간을 다루는 주변장치 인터페이스다. PMU, PLL과 클록 분배, 동적 전압 조절기는 전력 관리 영역을 맡는다.
ARM 기반 SoC에는 Apple의 A/M 시리즈, Qualcomm Snapdragon, Samsung Exynos, MediaTek Dimensity, NXP i.MX, Broadcom BCM 등이 있다. 각각 iPhone·Mac, 스마트폰·IoT, 갤럭시 시리즈, 스마트폰·TV, 산업용·자동차, 네트워킹·Set-top에 적용된다.
RISC-V 기반 SoC로는 SiFive HiFive 시리즈, Espressif ESP32-C 시리즈, StarFive JH7110, Canaan K210 (AI)이 있다.
SoC 설계에서는 이미 검증된 IP(Intellectual Property) 블록을 조합하는 방식이 설계 기간 단축에 활용된다. Hard IP는 레이아웃까지 완료된 블록이고, Soft IP는 RTL 수준에서 재사용할 수 있는 블록이다. Firm IP는 합성이 끝난 넷리스트를 말한다.
요구사항 분석부터 아키텍처 설계, IP 통합, RTL 검증, 합성, 물리 설계, 테이프아웃까지 이어지는 흐름에서 각 단계의 선택은 성능과 전력, 비용에 직접 연결된다.
시간 제약을 다루는 운영체제
RTOS(Real-Time Operating System)는 정해진 시간 제약 안에서 태스크 처리를 보장하는 운영체제다. 핵심은 시간 예측 가능성(Time Determinism)이며, 데드라인 준수는 시스템 정확성의 일부로 취급된다.
Hard Real-Time에서는 데드라인을 지키지 못하면 시스템 실패가 된다. Firm Real-Time에서는 서비스 품질이 저하되고, Soft Real-Time에서는 성능이 저하된다.
| 특성 | GPOS | RTOS |
|---|---|---|
| 목표 | 처리량 최대화 | 응답 시간 보장 |
| 스케줄링 | 공정성, 처리량 | 데드라인, 우선순위 |
| 인터럽트 지연 | 가변적 | 최소화, 예측 가능 |
| 커널 | 선점 불가 구간 존재 | 완전 선점 가능 |
| 메모리 | 가상 메모리, 스왑 | 정적 할당 권장 |
RTOS는 태스크의 실행 순서와 시간이 예측 가능해야 한다. 높은 우선순위 태스크가 낮은 우선순위 태스크를 즉시 선점할 수 있어야 하며, 인터럽트 발생부터 ISR 실행까지의 시간도 최소화되고 예측 가능해야 한다. 공유 자원을 다루는 동기화 메커니즘 역시 우선순위 역전을 방지하는 방향으로 설계한다.
정적 우선순위 스케줄링에서는 설계 시점에 태스크 우선순위를 고정한다. Rate Monotonic(RM)은 주기가 짧을수록 높은 우선순위를 두고, Deadline Monotonic(DM)은 데드라인이 짧을수록 높은 우선순위를 둔다.
동적 우선순위 스케줄링은 실행 중 우선순위가 바뀔 수 있다. Earliest Deadline First(EDF)는 데드라인이 가까운 태스크를 먼저 실행하며, Least Laxity First(LLF)는 여유 시간이 적은 태스크를 우선한다.
Rate Monotonic 스케줄링에서 n개 태스크의 CPU 사용률 U는 다음 조건으로 분석한다.
U = Σ(Ci/Ti) ≤ n(2^(1/n) - 1)
n이 무한대로 갈 때 한계는 U ≤ ln(2) ≈ 0.693 (약 69%)다.
공유 자원에서 생기는 우선순위 역전
우선순위 역전(Priority Inversion)은 저우선순위 태스크가 공유 자원을 점유하고 있을 때 고우선순위 태스크가 기다리며, 그 사이 중간 우선순위 태스크가 실행되는 현상이다.
우선순위 상속(Priority Inheritance)은 저우선순위 태스크가 대기 중인 고우선순위의 우선순위를 상속하도록 한다. 우선순위 천장(Priority Ceiling)은 자원을 얻는 시점에 해당 자원의 천장 우선순위로 태스크 우선순위를 올린다.
RTOS 선택과 FreeRTOS의 구성
| RTOS | 특징 | 주요 적용 분야 |
|---|---|---|
| FreeRTOS | 오픈소스, 경량, AWS 통합 | IoT, 소형 임베디드 |
| Zephyr | 오픈소스, Linux Foundation | IoT, 웨어러블 |
| VxWorks | 상용, 고신뢰성, 인증 | 항공, 군사, 의료 |
| QNX | 마이크로커널, 안전 인증 | 자동차, 의료 |
| RT-Linux | Linux 확장, Hard RT | 산업 제어, 로봇 |
| ThreadX | 상용, Azure RTOS | IoT, 가전 |
| NuttX | POSIX 호환 | 드론, 로봇 |
FreeRTOS는 태스크 생성·삭제와 우선순위 변경을 담당하는 태스크 관리 기능, 태스크 간 데이터를 전달하는 큐, 동기화와 상호배제를 위한 세마포어·뮤텍스, 지연과 주기 실행을 위한 소프트웨어 타이머, 이벤트 기반 동기화를 위한 이벤트 그룹으로 구성된다.
메모리 관리는 heap_1부터 heap_5까지의 옵션으로 구분된다. heap_1은 할당만 가능하고 해제는 불가능하다. heap_2는 해제가 가능하지만 단편화가 발생하며, heap_3은 표준 malloc/free 래퍼다. heap_4는 병합을 지원해 단편화를 줄이고, heap_5는 다중 메모리 영역을 지원한다.
설계 선택이 만나는 지점
하드웨어와 소프트웨어를 함께 설계할 때는 성능 요구사항, 유연성 필요도, 전력 소모, 비용, 개발 시간을 기준으로 기능 분할을 결정한다.
전력 관리에는 동적 전압/주파수 조절(DVFS), 미사용 회로의 클록을 차단하는 Clock Gating, 미사용 블록의 전원을 차단하는 Power Gating이 사용된다. 저전력 모드에서는 Sleep이 CPU를 정지하고 주변장치를 유지하며, Deep Sleep은 대부분의 전원을 차단한다. Hibernate는 최소 전력 상태에서 상태를 저장한다.
기능 안전 관점에서는 자동차의 ISO 26262, 산업 일반의 IEC 61508, 항공의 DO-178C가 관련된다. 보안 설계에서는 보안 부팅, 암호화 가속기, TrustZone/TEE를 함께 검토한다.
SoC의 집적 구조와 RTOS의 결정론적 실행은 임베디드 시스템의 기반을 이룬다. 이 둘의 경계에서 성능, 전력, 응답 시간, 안전성과 보안 요구를 조율하는 일이 시스템 설계의 본체다.