본문 바로가기

운영체제/ARM Core

ezboot bootloader의 뜻 그리고 분석의 시작

임베디드가 되었든 PC가 되었든 부팅을 위한 시작 영역이 존해하며 이 시작영역점은 각각 다 다른 구조로 작동하게 되어있다.


어느것이든 처음 전원이 인가되면 Reset 루틴이 실행되도록 되어있으며 이 리셋 루틴은

PC의 경우 부트로더에 해당하는 맨 처음 512 MB 영역 즉 1섹터에 대한 데이터들을 복사하여 0x7c00번지에 올리게 되어있으므로 PC에서 부트로더를 작성시 상대 주소를 이를 기준으로 작성하도록 되어있다.


부트로더는 512MB라는 제한된 크기의 공간때문에 각종 하드웨어적인 초기화 루틴과 커널을 불러와서 메모리에 적제시키는 역할을 수행하는것이 일반적이다.

하지만 이러한 커널이 존재하지 않을 경우 PC(Personal Computer)에서는 오류메시지를 화면에 띄우고 더이상 진행시키지 않도록 되어져 있다.


임베디드도 비슷한 구조로 되어있으며 단지 커널을 로드하고 그부분으로 점프하도록 되어있는 PC의 구조와 비슷하게 메인함수나 초기화 함수부분으로 점프하여 진행되도록 되어있다.


이러한 임베디드 OS 시스템에서의 부트로더는 크게 3가지로 나누어 진다

bl0, bl1, bl2 이 3가지가 가장 중요한 부분이며 각각의 부분이 담당하는 역할은 매우 중요하다.


우선 bl0 에 대해 설명하고자 한다.


'운영체제 > ARM Core' 카테고리의 다른 글

ezboot 분석 bootloader bl0  (0) 2014.03.18
s5pv210 ez-boot bootloader 분석  (0) 2014.03.18
MCU s5pv210 대상으로 RTOS 제작 시작  (0) 2014.03.17