자료구조와 알고리즘 노트
MCU에는 메모리가 수십 KB뿐입니다. 어떤 구조로 데이터를 쌓느냐가 곧 안정성입니다.
자료구조와 알고리즘
시간과 메모리 복잡도: 작은 MCU에서 먼저 따질 것
RAM 20KB, 클럭 72MHz인 MCU에서는 알고리즘을 고르기 전에 계산량과 메모리를 먼저 따져야 합니다.
자료구조와 알고리즘링 버퍼: 인터럽트와 메인 루프 사이의 다리
UART로 들어오는 바이트를 잃지 않고 쌓아 두는 원형 큐. 인터럽트가 쓰고 메인 루프가 읽는 구조입니다.
자료구조와 알고리즘큐와 스택: 먼저 온 것과 나중에 온 것
작업 대기열은 큐, 함수 호출은 스택입니다. 두 구조를 배열로 직접 구현하며 차이를 봅니다.
자료구조와 알고리즘연결 리스트와 메모리 풀
malloc 없이 미리 잡아 둔 메모리 풀로 연결 리스트를 쓰는 방법. 단편화와 실패를 피하는 임베디드식 할당입니다.
자료구조와 알고리즘상태 머신: 펌웨어 설계의 기본 도구
복잡한 동작 순서를 상태와 전이로 정리합니다. 플래그가 늘어나 if문이 얽히기 시작하면 상태 머신으로 바꿀 때입니다.
자료구조와 알고리즘탐색과 룩업 테이블
정렬된 표에서 이진 탐색으로 빠르게 찾고, sin이나 센서 보정처럼 비싼 계산은 표로 미리 만들어 둡니다.
자료구조와 알고리즘CRC와 체크섬: 깨진 데이터 알아내기
통신 중 비트가 뒤집혔는지 확인하는 계산. 단순 합 체크섬과 CRC의 차이, 그리고 구현 방법을 정리했습니다.
자료구조와 알고리즘고정소수점 연산: 정수로 소수 다루기
FPU가 없는 MCU에서 소수를 빠르게 계산하는 Q 포맷. 스케일, 곱셈 후 시프트, 포화 처리를 정리했습니다.