BLOB : Boot Loader OBject
(1) 소개
- 네덜란드에서 개발한 Open Source의 Boot Loader 프로그램으로 Intel SA-1100 Micro-Processor를 사용한 LART(Linux Advanced Radio Terminal)라는 내장형 컴퓨터에 처음 사용됨.
- blob-2.0.5-pre3 버전 소스 분석
- ARM 기반에서 사용하는 대표적인 Boot Loader
1.BLOB 기능
- 하드웨어 초기화
- 레지스터 설정을 통한 시스템의 활성화
- 저장 매체로부터 Kernel을 읽어서 메모리의 적절한 위치로 적재
- 압축을 풀고 Kernel로 제어를 옮김
- 그 외 serial이나 ethernet 장치를 통해 Kernel이나 Ramdisk 등의 image를 다운로드
2.BLOB 흐름도
(1) Start stage : 하드웨어의 기본적인 초기화 및 레지스터 설정을 담당
(2) Rest stage : Boot Loader의 부가적인 기능을 제공
3. 단계별 분석
3.1 Start Stage
3.1.1 Boot Loader 시작
3.1.2 start.S
3.1.3 rest
3.1.3.1 Disable All Interrupt
3.1.3.2 CPU Speed Setup
3.1.3.3 Memory Setup
3.1.3.3.1 DRAM Configuration Register
3.1.3.3.2 DRAM CAS Waveform Shift Register
3.1.3.3.3 DRAM refresh Controller Register
3.1.3.3.4 Enable SDRAM BANKS
3.1.3.3.5 Static Memory Register Configuration
3.1.3.3.6 SMROM Register Configuration
3.1.3.4 LED Conguration( GPIO )
kkkkk
kkkk