그라운드 임베디드 EN 유튜브 구독

임베디드 로드맵

기초부터 응용까지 20과목, 182개 주제. 주제를 누르면 설명과 연결된 개념이 열립니다.

02

하드웨어

5과목 · 44개 주제

GROUND EMBEDDED · 하드웨어 · 과목 05회로이론τ = RC63%RC
10개 주제

회로이론

모든 하드웨어 이해의 출발점입니다. 전압은 기준점이 있어야 잴 수 있고, 그 기준점이 그라운드입니다.

  • 전압, 전류, 저항
  • 옴의 법칙과 전력
  • 키르히호프 법칙
  • 직렬, 병렬, 전압 분배
GROUND EMBEDDED · 하드웨어 · 과목 06전자회로VCC 3.3V10kΩ버튼MCUGPIO누르지 않으면 HIGH
12개 주제

전자회로

MCU 핀 하나로는 모터도, 센서도 바로 다룰 수 없습니다. 그 사이를 잇는 회로가 전자회로입니다.

  • 반도체와 PN 접합
  • 다이오드 종류
  • BJT 스위치
  • MOSFET 스위치
GROUND EMBEDDED · 하드웨어 · 과목 07실무 회로소자VCC 3.3V10kΩ버튼MCUGPIO누르지 않으면 HIGH
8개 주제

실무 회로소자

회로도에 그린 저항 하나도 정격, 공차, 패키지를 골라야 실제 보드가 됩니다.

  • 저항 고르기
  • 커패시터 종류
  • 인덕터와 페라이트 비드
  • 크리스털과 오실레이터
GROUND EMBEDDED · 하드웨어 · 과목 08PCB 설계MCU
8개 주제

PCB 설계

회로를 알아도 배치와 배선이 나쁘면 보드는 동작하지 않습니다.

  • 회로도 그리기
  • 부품 배치 전략
  • 배선 폭과 전류
  • 그라운드와 전원 플레인
GROUND EMBEDDED · 하드웨어 · 과목 09계측과 디버깅 장비평균 30%D1주기
6개 주제

계측과 디버깅 장비

눈에 보이지 않는 전압과 신호를 보는 눈입니다. 디버깅의 절반은 측정입니다.

  • 멀티미터
  • 오실로스코프
  • 로직 분석기
  • 전원 공급기와 전자 부하
03

펌웨어

5과목 · 48개 주제

GROUND EMBEDDED · 펌웨어 · 과목 10기계어와 어셈블리 1ldr r0, =0x40020014 2ldr r1, [r0] 3orr r1, r1, #0x20 4str r1, [r0] 5bl main 6b .
8개 주제

기계어와 어셈블리

하드폴트가 났을 때, 최적화가 코드를 바꿨을 때, 결국 봐야 하는 건 기계어입니다.

  • 명령어 한 줄의 정체
  • Thumb 명령어 읽기
  • 레지스터와 호출 규약
  • C와 어셈블리 대조
GROUND EMBEDDED · 펌웨어 · 과목 11MCU 펌웨어평균 30%D1주기
12개 주제

MCU 펌웨어

레지스터 한 비트가 핀을 켜고, 타이머를 돌리고, 모터를 움직입니다. 임베디드 개발의 본체입니다.

  • 개발 환경
  • 레지스터 제어와 HAL
  • GPIO
  • 클럭 트리
GROUND EMBEDDED · 펌웨어 · 과목 12통신 프로토콜UARTSPII2CCAN
12개 주제

통신 프로토콜

요즘 기기 중에 혼자 동작하는 것은 거의 없습니다. 통신이 곧 시스템입니다.

  • 직렬통신 기초
  • UART
  • RS-232, RS-422, RS-485
  • SPI
GROUND EMBEDDED · 펌웨어 · 과목 13RTOSBUFFERhead →tail →write · read
8개 주제

RTOS

할 일이 많아지면 무한 루프 하나로는 감당이 안 됩니다. 실시간 운영체제가 그 답입니다.

  • 슈퍼루프의 한계
  • 태스크와 스케줄러
  • 우선순위와 선점
  • 세마포어와 뮤텍스
GROUND EMBEDDED · 펌웨어 · 과목 14펌웨어 설계와 품질 1volatile uint32_t *ODR 2 = (uint32_t*)0x40020014; 3*ODR |= (1u << 5); 4while (1) { 5 if (flag) toggle(); 6}
8개 주제

펌웨어 설계와 품질

현업 펌웨어는 몇 년씩 여러 사람이 고칩니다. 동작하는 코드와 유지되는 코드는 다릅니다.

  • 계층 구조
  • 모듈화와 인터페이스
  • 코딩 규칙
  • 단위 테스트
04

응용

6과목 · 52개 주제

GROUND EMBEDDED · 응용 · 과목 15제어공학목표값KpKiKd
10개 주제

제어공학

모터, 드론, 온도 조절기. 원하는 값을 정확히 따라가게 만드는 모든 것이 제어입니다.

  • 개루프와 폐루프
  • 시스템 모델링
  • 라플라스 변환과 전달함수
  • 블록선도
GROUND EMBEDDED · 응용 · 과목 16센서와 신호처리MCU온도I2CIMUSPI홀GPIO거리UART전류ADC
8개 주제

센서와 신호처리

센서 값은 늘 흔들립니다. 그대로 쓰면 제어도, 판단도 흔들립니다.

  • 센서 기초
  • 샘플링과 앨리어싱
  • 디지털 필터
  • 칼만 필터 기초
GROUND EMBEDDED · 응용 · 과목 17전력전자NSABC
8개 주제

전력전자

충전기, 인버터, 모터 드라이버. 큰 전력을 다루는 기기는 모두 전력전자입니다.

  • 스위칭의 원리
  • 벅 컨버터 설계
  • 부스트와 벅부스트
  • 손실과 발열
GROUND EMBEDDED · 응용 · 과목 18모터 제어NSABC
10개 주제

모터 제어

로봇, 드론, 전기차. 움직이는 모든 것에는 모터와 그 모터를 제어하는 펌웨어가 있습니다.

  • 전자기 기초
  • DC 모터와 H 브리지
  • 스텝 모터
  • 서보 모터
GROUND EMBEDDED · 응용 · 과목 19임베디드 리눅스 1$ make ARCH=arm 2$ insmod gnd_gpio.ko 3[ 1.024] gnd: probe ok 4$ cat /dev/gnd0 50x5A 6$ _
8개 주제

임베디드 리눅스

화면, 네트워크, 카메라가 필요한 기기는 MCU 대신 리눅스를 씁니다.

  • 리눅스와 셸 기초
  • 크로스 컴파일
  • 부트 과정
  • 디바이스 트리
GROUND EMBEDDED · 응용 · 과목 20자동차 소프트웨어CAN_HCAN_L엔진ABSBMS계기판게이트웨이
8개 주제

자동차 소프트웨어

자동차 한 대에 제어기가 100개 가까이 들어갑니다. 임베디드 직무의 가장 큰 시장입니다.

  • 차량 전장 구조
  • 차량 네트워크
  • AUTOSAR 개요
  • 진단 통신

임베디드 독학 순서, 이렇게 잡았습니다

임베디드 로드맵을 찾아보면 과목 이름만 나열된 목록이 대부분입니다. 무엇을 먼저 해야 하는지, 각 과목이 서로 어떻게 이어지는지는 잘 나오지 않습니다. 그라운드 임베디드 로드맵은 20과목 182개 주제를 기초, 하드웨어, 펌웨어, 응용 네 단계로 나누고, 주제마다 짧은 정리 노트를 붙였습니다. 위 지도에서 점을 누르면 그 주제의 설명과 연결된 개념이 열리고, 원리를 눈으로 확인할 수 있는 주제는 3D 실험실 11개로 이어집니다.

  1. 01

    기초 코드와 칩 안쪽

    임베디드 독학 순서의 출발점은 C 언어입니다. 레지스터를 읽고 쓰는 코드는 결국 포인터와 비트 연산으로 이루어지기 때문입니다. 여기에 자료구조, 디지털 논리, 컴퓨터구조를 더하면 내가 짠 코드가 칩 안에서 어떤 순서로 실행되는지 그림이 그려집니다.

    C 언어, 자료구조와 알고리즘, 디지털 논리, 컴퓨터구조

  2. 02

    하드웨어 칩 바깥의 회로

    펌웨어 개발자도 회로도를 읽어야 합니다. 핀이 왜 풀업되어 있는지, 디커플링 커패시터가 왜 그 자리에 있는지 모르면 버그의 절반은 찾을 수 없습니다. 회로이론으로 계산하는 법을 익히고, 전자회로와 실무 소자, PCB, 계측 장비 순서로 손에 잡히는 쪽으로 내려갑니다.

    회로이론, 전자회로, 실무 회로소자, PCB 설계, 계측과 디버깅 장비

  3. 03

    펌웨어 MCU를 직접 다루기

    리셋 직후 main()까지 무슨 일이 일어나는지부터 시작해 GPIO, 타이머, 인터럽트, ADC 같은 주변장치를 데이터시트만 보고 설정하는 연습을 합니다. 이어서 UART, I2C, SPI, CAN 같은 통신과 RTOS, 오래 가는 펌웨어를 위한 설계와 품질을 다룹니다.

    기계어와 어셈블리, MCU 펌웨어, 통신 프로토콜, RTOS, 펌웨어 설계와 품질

  4. 04

    응용 가고 싶은 분야 고르기

    제어공학과 신호처리는 로봇, 드론, 모터 구동의 공통 언어입니다. 전력전자와 모터 제어는 인버터와 FOC로 이어지고, 임베디드 리눅스와 자동차 소프트웨어는 각각 고성능 보드와 차량 제어기 쪽으로 가는 길입니다. 전부 할 필요는 없고 목표에 맞는 과목을 고르면 됩니다.

    제어공학, 센서와 신호처리, 전력전자, 모터 제어, 임베디드 리눅스, 자동차 소프트웨어

공부할 때 권하는 방법

  • 순서대로, 그러나 완벽하게는 말고. 한 과목을 끝까지 파고 넘어가기보다 전체를 한 바퀴 돈 뒤 필요한 곳으로 돌아오는 편이 빠릅니다.
  • 읽은 것은 바로 돌려 보기. PWM 듀티, 인터럽트 타이밍, 모터 전류처럼 글로는 감이 오지 않는 주제는 3D 실험실에서 값을 바꿔 보세요.
  • 마지막은 직접 만들기. 스무 과목이 한 제품 안에서 어떻게 맞물리는지는 무언가를 끝까지 만들어 봐야 보입니다.

자주 묻는 질문

임베디드는 어떤 순서로 공부해야 하나요?

C 언어로 시작해 디지털 논리와 컴퓨터구조로 칩 안쪽을 이해하고, 회로이론과 전자회로로 칩 바깥을 읽는 눈을 만든 뒤, MCU 펌웨어와 통신 프로토콜, RTOS로 넘어가는 순서를 권합니다. 제어, 모터, 임베디드 리눅스, 자동차 소프트웨어 같은 응용 과목은 그 다음에 가고 싶은 분야에 맞춰 고르면 됩니다.

비전공자도 임베디드를 독학할 수 있나요?

할 수 있습니다. 다만 소프트웨어만 보거나 회로만 봐서는 막히는 지점이 반드시 나옵니다. 코드 한 줄이 핀의 전압으로 바뀌는 과정을 양쪽에서 같이 보는 것이 중요해서, 이 로드맵은 기초와 하드웨어를 나란히 놓았습니다.

아두이노부터 시작해도 되나요?

흥미를 붙이기에는 좋습니다. 하지만 라이브러리 함수만 부르다 보면 레지스터, 타이머, 인터럽트를 직접 다뤄 볼 기회가 없습니다. LED와 버튼을 한 번 돌려 본 뒤에는 데이터시트를 보고 레지스터를 직접 설정하는 MCU 펌웨어 과목으로 넘어가는 것을 권합니다.

C 언어는 어디까지 알아야 하나요?

포인터, 비트 연산, 구조체와 비트필드, volatile과 const, 함수 포인터, 빌드 과정까지입니다. 문법을 외우는 것보다 그 코드가 메모리의 어느 주소에 무엇을 쓰는지 설명할 수 있는 수준을 목표로 잡으면 됩니다.

수학은 얼마나 필요한가요?

펌웨어까지는 고등학교 수준의 수학이면 충분합니다. 제어공학, 신호처리, 모터 제어로 가면 복소수, 미분방정식, 라플라스 변환이 나옵니다. 그 과목에 들어갈 때 필요한 만큼 같이 익히면 됩니다.

어떤 보드로 실습하면 좋은가요?

자료가 많고 디버거가 붙어 있는 Cortex-M 계열 개발 보드 하나면 펌웨어 과목 대부분을 실습할 수 있습니다. 보드가 없어도 원리부터 확인할 수 있도록 이 사이트의 3D 실험실에서 PWM, 인터럽트, 모터 구동을 브라우저로 돌려 볼 수 있습니다.

FREE PDF무료 전자책 3권 받기이 주제를 한 권으로 이어서 읽고 싶다면. BLDC 모터 제어, 직렬통신, 센서를 책 분량으로 묶었습니다. 이메일만 남기면 바로 받습니다.무료로 받기 →