본문 바로가기

운영체제/ARM Core

ezboot 분석 bootloader bl0 우선 시작하기에 앞서 bl0 부분이 뭐하는 부분이고 뭘 담당하는지를 알아보고자 한다. bl0 이라하면 iROM code section 을 의미하는 것으로써 internel Memory(iROM)에 상주 하면서 각종 하드웨어적인 초기화를 담당하게 된다. 이러한 초기화 과정에서 CPU의 상태를 인지하도록 되어있으며 부팅 저장소를 결정하도록 되어있다.이러한 부팅 저장소로는 SD-Card / T-Flash, SATA, SSD 등이 될 수 있다. 자 !! 그럼 여기서 iRom이 뭔지 궁금할 수 있다.각종 인터넷의 자료를 찾아보면 CPU의 내부영역 즉 Internal 영역에는 각각 작은 메모리 저장공간인 ROM과 RAM 이란것이 존재하며 이는 CPU내부에 존재한다 하여 Internal 을 축약해 iROM, iRAM.. 더보기
ezboot bootloader의 뜻 그리고 분석의 시작 임베디드가 되었든 PC가 되었든 부팅을 위한 시작 영역이 존해하며 이 시작영역점은 각각 다 다른 구조로 작동하게 되어있다. 어느것이든 처음 전원이 인가되면 Reset 루틴이 실행되도록 되어있으며 이 리셋 루틴은 PC의 경우 부트로더에 해당하는 맨 처음 512 MB 영역 즉 1섹터에 대한 데이터들을 복사하여 0x7c00번지에 올리게 되어있으므로 PC에서 부트로더를 작성시 상대 주소를 이를 기준으로 작성하도록 되어있다. 부트로더는 512MB라는 제한된 크기의 공간때문에 각종 하드웨어적인 초기화 루틴과 커널을 불러와서 메모리에 적제시키는 역할을 수행하는것이 일반적이다.하지만 이러한 커널이 존재하지 않을 경우 PC(Personal Computer)에서는 오류메시지를 화면에 띄우고 더이상 진행시키지 않도록 되어져.. 더보기
s5pv210 ez-boot bootloader 분석 s5pv210 MCU는 ARM 계열의 코어를 사용하며 ARM Cortex-A8 의 Core CPU 입니다.영문 위키를 찾아본 결과 Armv7 아키텍쳐를 사용한다고 되어있습니다. ez-boot 의 분석은 편할것 같습니다.대부분이 한글로 작성되어진 것때문이죠. 우선 맨처음 살펴볼 것은 Makefile 입니다. 각종 컴파일 옵션이 존재하지만 우선적으로 make 명령을 사용하여 컴파일을 실행할 경우 MCU 옵션과 BOARD_DEFINE 옵션을 이용하여 타켓 보드와 아키텍쳐를 설정할 수 있는것을 알 수 있습니다. 이 파일에서는 필요한 하위 디렉토리까지 함께 make 시키는 역활을 하고 있는것 이외에는 특별한 기능을 수행하지 않습니다. Makefile을 살펴본 바로는 컴파일 순서가 lib/lwip 우선 라이브러리를.. 더보기
MCU s5pv210 대상으로 RTOS 제작 시작 falinux 에서 판매하는 g100-s5pv210 보드를 대상으로 Real Time OS 제작을 시작합니다. http://wiki.falinux.com/doku.php?id=product:g100-s5pv210위사이트에서 EZ-Boot 와 Kernel 소스를 다운받습니다. 이후 분석은 이 카테고리에서 진행됩니다.시간나는대로 U-Boot도 분석합니다. 더보기