기초 · 과목 02
자료구조와 알고리즘
MCU에는 메모리가 수십 KB뿐입니다. 어떤 구조로 데이터를 쌓느냐가 곧 안정성입니다.
목표: 한정된 메모리와 시간 안에서 데이터를 다루는 구조를 고를 수 있다.
먼저 볼 과목 C 언어
다음 과목 RTOS
지도에서 보기 →시간과 메모리 복잡도
작은 MCU에서 계산량과 메모리 사용량을 왜 먼저 따져야 하는지 봅니다.
링 버퍼
UART로 들어오는 데이터를 잃지 않고 쌓는 원형 큐. 인터럽트와 메인 루프 사이의 다리.
큐와 스택
작업 대기열과 함수 호출이 각각 어떤 구조인지, 배열로 직접 구현합니다.
연결 리스트와 메모리 풀
동적 할당 없이 미리 잡아 둔 메모리 풀로 리스트를 쓰는 방법.
상태 머신
복잡한 동작 순서를 상태와 전이로 정리합니다. 펌웨어 설계의 기본 도구입니다.
탐색과 룩업 테이블
이진 탐색, 그리고 sin 같은 계산을 표로 미리 만들어 두는 룩업 테이블.
CRC와 체크섬
통신 데이터가 중간에 깨졌는지 확인하는 계산을 직접 짭니다.
고정소수점 연산
FPU가 없는 MCU에서 정수로 소수를 다루는 Q 포맷.