CAN 통신 기초 — 신입을 위한 입문

2선 차동 버스부터 프레임 구조·아비트레이션·종단저항까지 — BMS가 바깥과 대화하는 CAN 통신을 처음 배우는 사람을 위한 글.

June 29, 2026 · 4 min

Load-Cell #2 - 숫자가 멈췄다, 살아있는 척하는 모듈

부하를 주는 동안 무게값이 멈춘다. CAN, 펌웨어, 모듈을 한 층씩 격리해보니 모듈이 체크섬까지 유효한 프레임으로 옛 값을 14초간 반복하고 있었다. 미문서 ADC raw 명령을 찾아 블랙박스 필터를 통째로 우회한 기록.

June 12, 2026 · 6 min

STM32 부트로더 개발기 #1 - 왜 커스텀 부트로더인가

ST-Link 없이 현장에서 펌웨어 업데이트하고 싶다.

December 17, 2024 · 1 min

STM32 부트로더 개발기 #13 - 프로토콜 설계

PC와 부트로더가 CAN으로 어떻게 대화할지 정해야 한다.

December 17, 2024 · 2 min

STM32 부트로더 개발기 #14 - 상태 머신 구현

프로토콜 상태를 체계적으로 관리하자.

December 17, 2024 · 2 min

STM32 부트로더 개발기 #15 - 데이터 수신 및 쓰기

CAN으로 8바이트씩 받아서 Flash에 쓴다.

December 17, 2024 · 2 min

STM32 부트로더 개발기 #17 - Python 업로더

PC에서 CAN으로 펌웨어 전송하는 Python 스크립트.

December 17, 2024 · 2 min

Ghidra STM32 역분석 #28 - CAN IAP 모듈 복원

CAN 통신과 IAP 프로토콜 처리 코드 복원.

December 14, 2024 · 2 min

Ghidra STM32 역분석 #31 - CAN 스니핑 검증

역분석한 프로토콜이 맞는지 실제 통신으로 검증.

December 14, 2024 · 2 min

Ghidra STM32 역분석 #32 - Python 업로더

역분석 결과로 Python CAN 업로더 제작.

December 14, 2024 · 3 min