BSP Development
BSP의 본질 분해 — 새 보드 부팅을 위한 코드의 자리
Board Support Package의 정의·범위·구성요소 — 보드를 부팅 가능한 시스템으로 만드는 모든 것.
SoC 데이터시트 읽기 — Pin Mux·Clock·Memory Map 파악법
Reference Manual에서 BSP에 필요한 정보를 찾는 방법 — clock tree, memory map, pin mux.
새 보드 Device Tree 설계 — node·property·phandle 작성 흐름
보드 토폴로지를 DT로 표현 — SoC dtsi 상속, 보드 dts 작성, overlay 활용.
Pin Mux와 Clock Tree 분석 — 보드 부팅의 첫 두 관문
보드의 가장 보드-특화된 초기화 — pin 멀티플렉싱과 clock tree 설정.
DDR 매개변수 결정 — 보드별 Timing·Training 추출
DDR controller 설정값이 어디서 오는지 — vendor tool, SPD, 데이터시트 timing 표.
U-Boot 새 보드 포팅 — defconfig·board.c·DTS 작성 흐름
BSP 관점에서의 U-Boot 추가 — defconfig·board.c·DT 통합 흐름.
TF-A·TrustZone 통합 — BL31·secure world·SMC 흐름 적용
ARM Trusted Firmware-A를 BSP에 통합 — BL31 빌드, U-Boot와 BL33 결합, secure/non-secure 분리.
Linux 커널 BSP 설정 — defconfig·Kconfig·DT 통합
BSP에서 커널을 빌드합니다. defconfig 선택과 커스터마이즈, DT 통합, 모듈 vs 빌트인 결정을 정리합니다.
Multi-core SMP Bring-up — PSCI·Secondary CPU 깨우기
보드의 다른 코어를 깨우는 절차를 정리합니다. PSCI, spin-table, ARM CPU hotplug의 흐름을 살펴봅니다.
첫 부팅 추적 — 0%부터 login prompt까지의 단계 분석
보드 켜는 순간부터 login prompt까지의 단계별 체크포인트를 정리합니다. 어디서 멈추는지를 미리 알아 둡니다.
부트로그 디버깅 — earlyprintk·loglevel·serial 추적
부트 실패 패턴을 카탈로그로 정리합니다. 시리얼 garbage, hang, panic, late hang의 진단과 대응을 살펴봅니다.
BSP 드라이버 추가 — 보드별 Peripheral 통합 흐름
BSP에서 새 드라이버 통합 — 기존 드라이버 활용, DT binding 추가, 새 드라이버 작성 결정 기준을 정리합니다.
BSP Power Management — Suspend/Resume·Runtime PM·Regulator
BSP의 전력 관리 — suspend-to-RAM, runtime PM, regulator framework, CPU idle/freq를 정리합니다.
BSP Thermal과 Watchdog — Trip Point·Cooling Device·Hardware Reset
보드 안전 장치를 정리합니다. thermal zone과 trip point, hardware watchdog 통합을 살펴봅니다.
BSP 부트 시간 최적화 — Bootchart·initcall_debug·Parallel Init
boot에서 application까지 시간을 줄이는 기법 — measurement, Falcon, deferred init, kernel slim.
BSP RootFS 통합 — Buildroot·Yocto와 보드별 패키지 묶기
BSP에서 rootfs 빌드 시스템 선택과 통합 — Buildroot 외부 트리, Yocto 메타레이어.
BSP 이미지 패키징 — Flash Layout·Partition·GPT 설계
최종 이미지 조립 — 파티션 테이블, flash layout, SD/eMMC/UFS 굽기 워크플로.
BSP OTA와 Field Recovery — A/B 슬롯·롤백·BootCount
현장 배포된 보드의 펌웨어 업데이트와 복구 — RAUC/SWUpdate 통합, recovery 파티션, USB recovery.
BSP Stability Testing — Stress·Soak·Power Cycle 시나리오
양산 BSP의 안정성 검증 — stress 도구, 장기간 soak, thermal 사이클, EMC 영향.
BSP 양산 환경 구축 — CI/CD·재현 가능 빌드·서명
BSP를 양산으로 옮기는 단계 — CI 빌드, 재현성, 코드 서명, 키 관리.
BSP 유지보수 — 업스트림 기여·커널 버전업·LTS 전략
BSP의 장기 유지 — 업스트림 기여로 부담 줄이기, LTS 버전 선택, 커널 버전업 전략.