타이밍·Race 진단 — Heisenbug 잡는 법
printf로 race가 사라지는 이유와 SWO/RTT·DWT 사이클 카운터·GPIO pulse로 non-intrusive하게 race를 가시화하는 방법.
Tech articles, book reviews, and presentations.
페이지 45 / 56
printf로 race가 사라지는 이유와 SWO/RTT·DWT 사이클 카운터·GPIO pulse로 non-intrusive하게 race를 가시화하는 방법.
Heap canary·MPU guard·data watchpoint·desktop ASan — 임베디드 메모리 오염을 잡는 도구를 정리합니다.
NVIC pending·priority·level vs edge·shared IRQ — 인터럽트 동작 이상의 흔한 원인을 잡습니다.
전원·reset·clock·vector table·main 진입까지 단계별로 isolation하는 부팅 디버깅 절차를 정리합니다.
UART 디버깅. 클럭·핀·baud·로직 레벨·종단·인쇄 단계별 체크.
Cortex-M HardFault 핸들러에서 stacked PC·LR·CFSR을 추출해 정확한 fault 위치를 찾는 절차를 정리합니다.
OpenOCD·pyOCD로 target에 붙고, .gdbinit으로 반복 작업을 자동화하는 패턴을 정리합니다.
JTAG·SWD 디버깅 체크리스트. Pin·voltage·clock·daisy chain·security 잠금.
가설-검증 사이클·binary search·changelog·rubber duck — 임베디드 디버깅의 사고 도구.
MPMC와 SPSC 차이, Vyukov 큐, Disruptor의 ring과 sequence, bounded와 unbounded 비교를 실측과 함께 정리합니다.