U-Boot 환경 변수와 bootcmd — 부팅 시나리오 정의하기
U-Boot 환경 변수 시스템 — saveenv·bootcmd·bootargs·distro_bootcmd 패턴.
129개의 포스트 · 4/6 페이지
U-Boot 환경 변수 시스템 — saveenv·bootcmd·bootargs·distro_bootcmd 패턴.
USB를 통한 부팅과 flash — fastboot, USB Mass Storage(UMS), USB host 부팅 흐름.
네트워크를 통한 부팅 — DHCP/BOOTP·TFTP·PXE의 단계와 U-Boot 명령.
부트 미디어별 동작 차이 — eMMC, SD, SATA, NAND, SPI NOR/NAND의 부트 모드.
DDR controller 초기화 시퀀스 — 레지스터 프로그래밍, training, 보드별 파라미터의 위치.
U-Boot 보드 초기화 흐름 — pre-relocation (board_init_f)과 post-relocation (board_init_r).
U-Boot Driver Model — uclass·driver·udevice 구조와 DT 기반 driver binding.
U-Boot가 DTB를 다루는 방식 — control DTB와 OS DTB, fdt 명령, 런타임 fixup.
U-Boot Falcon Mode — SPL이 U-Boot Proper를 건너뛰고 커널을 직접 부트. 부트 시간 단축의 핵심.
ARM64와 RISC-V의 다단 부트 — BL1·BL2·BL31·BL33, SPL·TPL·U-Boot Proper의 책임 분할.
U-Boot의 빌드 시스템 — Kconfig 옵션, Makefile 구조, defconfig 패턴, out-of-tree 빌드.
임베디드 부트로더 생태계 — Das U-Boot, ARM Trusted Firmware, EDK II의 역할 분담.
ROM부터 init까지의 전체 흐름과, 부트로더가 그 사이에서 채우는 자리.
RTOS를 사용하는 것이 아니라 이해하고 구현하는 법. Scheduler, context switch, memory allocator의 내부 동작을 소스 코드 수준에서 분석합니다.
범용 HAL 구조 — 벤더 종속성 격리, 다중 보드/MCU 지원, 시리즈 마무리.
UART, SPI, I2C — peripheral을 type-safe class로. Blocking, interrupt, DMA 패턴.
GPIO pin = type — 컴파일 타임에 핀 설정 검증, runtime 비용 0.
MMIO를 type-safe하게 — volatile, bit field, register wrapper class.
임베디드의 DI 패턴 — Construct-On-First-Use, static dependency injection, service locator.
constexpr state machine — 컴파일 타임에 전이 검증, runtime 코드 0.
타입 안전한 상태 머신 — enum + switch부터 std::variant, etl::fsm까지.
enum class + bit operators — type-safe 비트 플래그. 의도하지 않은 변환 차단.
SPSC queue, MPMC stack, ring buffer — lock-free 자료구조 구현 패턴.
Atomic, CAS, memory order — mutex 없이 동시성. 임베디드의 ISR-safe 패턴.