160 likes | 414 Views
Bootloader. 부트로더. Bootloader. Bootloader 부트로더 사용가능한 하드웨어를 초기화 시스템 구성을 위한 하드웨어 제어 명령 부트로더 존재의 이유 PC 와 달리 CMOS 를 이용할 수 없는 특수한 환경 Achro-4210 부트로더 소스 위치 부트로더 컴파일 소스 준비 크로스 컴파일러 설정. Bootloader. 기존 설정 초기화 컴파일 컴파일 완료. Bootloader. Achro-4210 부트로더 퓨징
E N D
Bootloader 부트로더
Bootloader • Bootloader • 부트로더 • 사용가능한 하드웨어를 초기화 • 시스템 구성을 위한 하드웨어 제어 명령 • 부트로더 존재의 이유 • PC와 달리 CMOS를 이용할 수 없는 특수한 환경 • Achro-4210 부트로더 소스 위치 • 부트로더 컴파일 • 소스 준비 • 크로스 컴파일러 설정
Bootloader • 기존 설정 초기화 • 컴파일 • 컴파일 완료
Bootloader • Achro-4210 부트로더퓨징 microSD메모리의 raw 영역이 지워진 상태에서 부트로더를퓨징하는 방법 • 생성된 BL1(u-boot.bin.crc)를 MicroSD에 기록 • BL2(u-boot.bin)을MicroSD에 기록 OM CPU 내부에 위치 MicroSD의 RAW 영역에 위치 BL2 (u-boot.bin) BL1 (u-boot 의 상위 16K) BL0 (iROM)
Bootloader • SD메모리 초기화 FLASH RAW AREA 최소요구 사항
Bootloader • ACHRO4210의 Fusing 방법 - DNW Host Linux Target Board MINICOM > DNW 0x4000… Bootloader컴파일 Kernel컴파일 FLASH SDRAM BL2 relocate Kernel, Bootloader를 /tftpboot디렉터리로 복사 호스트의 USB와 타깃의 USB OTG 가 연결되어야 함. Receive Data smdk-usbdl을 이용하여 Usb를 이용 데이터 전송 raw area TERMINAL # smdk-usbdl –f .. BL2
Bootloader • ACHRO4210의 Fusing 방법 - TFTP Host Linux Target Board MINICOM > TFTP … Bootloader컴파일 Kernel컴파일 FLASH SDRAM BL2 relocate Kernel, Bootloader를 /tftpboot디렉터리로 복사 호스트에는 tftpd 가 구동, 네트워크 로 연결되어야 함 Receive Data raw area Xinet Demon.. Service tftpd BL2
Bootloader • 부트로더기록 • 미니컴 실행 • 시리얼과 USB OTG케이블 연결
Bootloader • 보드 전원 인가 • 카운트가 0이 되기 전에 키보드의 아무키나 눌러 부트로더 상태로 진입 • dnw를 이용하여 호스트의 u-boot.bin을 다운로드할 준비
Bootloader • 보드로 부트로더 바이너리 전송 • 부트로더 소스 디렉터리가 아니라면 부트로더 소스 디렉터리로 이동 • dnw를 이용하여 호스트의 u-boot.bin을 다운로드할 준비 • 데이터전송 확인
Bootloader • 플래시 기록 • 메모리 영역(0x40008000)에 있는 이미지를 microSD로 기록 • 부트로더 명령 • 도움말 • 개발보드 정보 출력
Bootloader • 부트로더 명령 • 메모리 관련 명령 • cp • md
Bootloader • mm • mw
Bootloader • microSD Command • microSD(NAND) 관련 명령 • movi init : SD 정보 출력
Bootloader • movi read {u-boot | kernel} { addr}SD의 u-boot, kernel 이미지를 읽어 SDRAM 번지에 로드 • movi read rootfs {addr} [bytes(hex)] • movi write {u-boot | kernel} {addr}memoy의 u-boot, kernel 데이터를 읽어 SD에 기록
Bootloader • movi write rootfs {addr} [bytes(hex)]