임베디드 기초 2편 - 메모리 구조와 변수 저장 원리

들어가며 1편에서 펌웨어가 플래시에 저장되고, 변수는 RAM에서 동작한다고 정리했다. 그런데 막상 “전역변수는 어디 저장돼요?”, “const는요?” 라는 질문을 받으면 정확하게 대답하기가 쉽지 않다. Flash vs RAM 다시 짚기 플래시(Flash) 비휘발성(non-volatile) — 전원을 꺼도 데이터가 유지된다 읽기는 자유롭지만, 쓰기는 Erase → Write 순서로 페이지/섹터 단위로만 가능하다 속도가 RAM보다 느리다 코드(명령어), 상수, 전역변수 초기값이 저장된다 RAM 휘발성(volatile) — 전원을 끄면 데이터가 사라진다 자유롭게 읽기/쓰기 가능하고 속도가 빠르다 실행 중 변하는 데이터(전역변수, 지역변수, 동적 할당(dynamic allocation))가 올라간다 메모리 섹션: .text / .data / .bss 링커는 빌드 결과물을 목적에 따라 여러 섹션으로 분리해서 관리한다. ...

2026년 5월 10일 · 4 min · 서보민

Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation

한 줄 요약: 두 가우시안 PDF의 곱이 또 다른 가우시안이라는 단 하나의 성질만으로 칼만 필터의 측정 업데이트 방정식 전체를 유도할 수 있다. 논문 정보 항목 내용 제목 Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation 저자 Ramsey Faragher 저널 / 학회 IEEE Signal Processing Magazine 연도 2012 DOI / 링크 https://doi.org/10.1109/MSP.2012.2203621 분야 Kalman Filter State Estimation Bayesian Filtering Sensor Fusion 읽게 된 이유 마이크로컴퓨터 수업에서 칼만 필터를 처음 접할 때, 교과서의 접근 방식은 대부분 벡터 대수와 최소 평균 제곱 추정(MMSE) 관점에서 시작한다. 수식은 나열되지만 “왜 이 형태인가"에 대한 물리적·직관적 답변은 부재한다. ...

2026년 5월 9일 · 7 min · 서보민

임베디드 기초 1편 - 임베디드 시스템과 펌웨어란 무엇인가

들어가며 학부 때 ESP32로 재활 자전거 IoT 모니터링 시스템을 만들고, 석사에서는 Tinker Board 2S와 STM32를 써서 HBOT 챔버 제어 시스템을 구축했다. 그 과정에서 꽤 다양한 것들을 다뤘다. 근데 기술 스택을 쌓는 데 집중하다 보면 정작 가장 기본적인 개념들이 흐릿해지기 마련이다. 그래서 지금까지 해온 것들의 기반이 되는 기초 개념들을 처음부터 다시 정리해보기로 했다. 당연하게 써왔던 것들의 의미를 되짚어보는 시리즈다. 임베디드 시스템 임베디드 시스템(Embedded System) 은 특정 목적을 위해 만들어진 컴퓨터 시스템이다. ...

2026년 5월 7일 · 3 min · 서보민

Optimum Settings for Automatic Controllers

한 줄 요약: 수학 없이도 현장에서 PID 파라미터를 빠르게 결정할 수 있는 두 가지 실험적 튜닝 절차를 제시한, 제어 공학의 출발점이 된 논문. 논문 정보 항목 내용 제목 Optimum Settings for Automatic Controllers 저자 J. G. Ziegler, N. B. Nichols 저널 / 학회 Transactions of the ASME 연도 1942 DOI / 링크 https://doi.org/10.1115/1.2899060 분야 control embedded 읽게 된 이유 고압산소챔버(HBOT) 제어 시스템을 구현하면서 압력을 목표값까지 안정적으로 올리는 것이 핵심 과제였다. 4–20mA 비례 밸브로 압력을 제어하는 구조였는데, PID를 쓰려면 $K_P$, $T_I$, $T_D$ 를 어떻게든 정해야 했다. ...

2026년 5월 6일 · 4 min · 서보민

PID Control System Analysis, Design, and Technology

한 줄 요약: 산업 현장에서 90% 이상 사용되는 PID 제어기는 단순한 구조 덕분에 살아남았지만, derivative 항 하나를 잘못 튜닝하면 오히려 시스템을 불안정하게 만들 수 있다. 논문 정보 항목 내용 제목 PID Control System Analysis, Design, and Technology 저자 Kiam Heong Ang, Gregory Chong, Yun Li 저널 / 학회 IEEE Transactions on Control Systems Technology 연도 2005 DOI / 링크 https://doi.org/10.1109/TCST.2005.847331 분야 control embedded 읽게 된 이유 석사 연구 중에 HBOT 챔버 회사에 재직 중인 선배님께 조언을 구할 기회가 있었다. 그때 선배님이 짧게 한마디 하셨다. “미분항은 실제로 잘 안 써요.” ...

2026년 5월 2일 · 6 min · 서보민

MCU 소개 및 개발환경 설정

본격적인 코드리뷰에 앞서 내가 사용한 ATmega4809 MCU와 Microchip Studio 개발환경을 간단하게 소개한다.

2026년 4월 29일 · 1 min · 서보민

시작하며

학부 시절 ATmega4809로 작성했던 펌웨어 코드를 다시 꺼내 코드리뷰 형태로 정리하는 시리즈를 시작한다. 단순히 동작하는 코드가 아닌, 잘 짜여진 코드를 찾아가는 과정이다.

2026년 4월 25일 · 1 min · 서보민

HAL GPIO 내부 뜯어보기 및 레지스터 직접 제어

HAL_GPIO_ReadPin()과 HAL_GPIO_WritePin()이 내부에서 어떻게 동작하는지 분석하고, ODR 대신 BSRR을 사용하는 이유와 레지스터 직접 제어 방법까지 정리한 글

2026년 4월 22일 · 4 min · 서보민

GPIO 기본개념 및 입출력 실습

GPIO의 기본 개념과 Push-Pull, Open-Drain, Pull-up, Pull-down, 그리고 STM32F411 Nucleo에서 버튼 입력과 LED 출력을 실습한 글

2026년 4월 18일 · 4 min · 서보민

로드셀 영점 잡기와 분동 캘리브레이션 - EEPROM으로 저장하기

ADS1232 4채널 로드셀과 AS5600 각도 센서의 영점을 버튼 하나로 잡고, 분동으로 게인을 맞추고, EEPROM에 저장해 전원을 꺼도 유지되게 한 과정을 정리했다.

2026년 4월 17일 · 7 min · 서보민