임베디드 컴파일러 최적화 분석 — -O0~-O3·-Os·-LTO 비교
-O0/-O1/-O2/-O3/-Os/-Og — 옵션별 차이와 디버깅 가능성.
152개의 포스트 · 6/7 페이지
-O0/-O1/-O2/-O3/-Os/-Og — 옵션별 차이와 디버깅 가능성.
Stack/heap/static — 누가 어디 사는가.
crt0·.data 복사·.bss 클리어·ctors·atexit.
Reset_Handler·vector table·__libc_init_array·main 진입.
LMA vs VMA·KEEP·AT>·overlay·custom section.
MEMORY·SECTIONS·alignment·기본 layout.
Header·sections·symbols — `readelf`로 dissect.
Preprocess·compile·assemble·link — `-E -S -c` 분해.
arm-none-eabi-gcc/clang — 호스트와 타겟이 다른 컴파일러 체인.
ARM memory barrier 실전. DMB/DSB/ISB 사용 시점. DMA·MMIO·self-modifying code.
Cortex-M33의 Secure/Non-Secure 분리·SAU/IDAU·NSC.
Page table·TLB·virtual address·Linux의 4-level paging.
Region setup·attributes·fault analysis — 메모리 보호의 실전.
I-Cache/D-Cache·write-through vs write-back·invalidate/clean.
Code·SRAM·Peripheral·System 영역 — bitband·MPU 활용.
NVIC·vector table·tail-chaining·late-arrival의 hardware 기반.
R0-R15·xPSR·CONTROL·PRIMASK·BASEPRI — register set 전체 지도.
A53/A72/A78/Neoverse — 임베디드 Linux용 application 코어.
M0/M0+/M3/M4/M7/M33/M55/M85 — 어느 코어를 언제 쓰나.
고속 차동 신호 (LVDS·LVPECL·CML)·impedance matching.
Multi-drop·terminating·fail-safe biasing·노이즈 강한 환경.
CAN_H/CAN_L 차동 신호·120Ω termination·1Mbit 한계.
Duty·frequency·dead-time·center-aligned·complementary 출력.
R-2R·delta-sigma DAC·glitch energy·monotonicity.