티스토리 뷰

목차

    반응형

    부트로더(bootloader) 개념-명령어, JTAG 퓨징 [임베디드 리눅스 기초]


    부트로더 (bootloader) 소개


    -시스템의 하드웨어를 초기화하고 운영체제의 커널을 메모리에 올려 실행시키는 시스템 프로그램

    - 부트로더의 위치

      : 일반적으로 시스템 메모리의 물리 주소 0번지부터 위치

      : 롬, 플래시, SRAM 등 정적인 메모리에 위치


    - 부트로더의 기능

      : bootloader는 메모리 초기화

      : 하드웨어 초기화

       - 직렬포트의 초기화

       - 네트워크 초기화

       - 프로세서 속도, 인터럽트의 초기화


    - 커널과 램 디스크 적재

      : 커널과 램 디스크를 램에 적재하여 실행

    부트로더의 동작 (1)

    - 부트로더의 실행 순서


    부트로더 bootloader 리눅스부트로더(bootloader) 개념-명령어, JTAG 퓨징 [임베디드 리눅스 기초]


    부트로더 bootloader 동작 (2)


    - 하드웨어 초기화

      : 프로세서 및 메모리 초기화

      : 네트워크 및 시리얼 포트 등의 디바이스 초기화


    - 자동 부트

      : 커널 등의 프로그램 이미지를 로딩하고 실행시킴

      : 자동 부트가 아닌 경우, 사용자 입력 대기 상태


    - 입력 명령 처리

      : 간단한 수준의 디버깅

      : IP 주소 설정 및 자동 부팅설정 등의 보드 환경 설정

      : 각종 상태 체크


    - 커널 로딩 및 스타트

      : 롬에 저장된 커널 및 램 디스크 이미지를 타겟 메모리에 로딩

      : 커널 프로그램의 시작번지로 점프하여 커널 부팅


    리눅스 부트로더부트로더(bootloader) 개념-명령어, JTAG 퓨징 [임베디드 리눅스 기초]


    부트로더 이미지 생성


    1
    2
    3
    4
    5
    6
    7
    # cd /temp_cd/Kernel/
    # tar  xvfj linux-2.4.19-pxa255_pro2.tar.bz2
    # cd ../Bootloader
    # tar  xvfj blob-20040507.tar.bz2
    # cd blob
    # ./configure --with-linux-prefix=/temp_cd/Kernel/linux2.4.19-pxa255_pro2 –with-board=pxa255_pro
    # make
    cs


    생성된 부트로더 이미지 위치


    1
    /temp_cd/Bootloader/blob/src/blob/
    cs


    타겟보드에 부트로더 JTAG 퓨징


    1
    2
    3
    4
    5
    # cd /temp_cd/Bootloader/blob/src/blob
    # jtag
     jtag) cable  parallel  0x378  PXA255
     jtag) detect
     jtag) flashmem 0 blob
    cs


    리눅스 부트로더 JTAG부트로더(bootloader) 개념-명령어, JTAG 퓨징 [임베디드 리눅스 기초]


    부트로더 bootloader - 명령어


    - boot [kernel options]

      : boot linux with optional kernel options

    - tftp : download blob/kernel/ramdisk image to RAM

    - flash : copy blob/kernel/ramdisk from RAM to flash

    - help : get this help

    - reblob : restart blob from RAM

    - reboot : reboot system

    - reset : reset terminal

    - speed : set download speed

    - status : display current status

    - btp : get ip

    - set : set MAC & IP address


    부트로더(bootloader) 개념-명령어, JTAG 퓨징 [임베디드 리눅스 기초]

    반응형