U-boot 소스얻기,compile,올리기

Slides:



Advertisements
Similar presentations
망고 100 보드로 놀아보자 -1 (u-boot,linux kernel,Android)
Advertisements

7 장. 원격지에서 리눅스서버를 관리하자. 텔넷서버를 설치 / 운영한다. SSH 서버를 운영한다. VNC 서버를 설치 / 운영한다.
Snort & Snorby.
EZ Board-M In-Ho, Roh Real Time System Lab.
임베디드 시스템 개발 환경 (1) Lecture #3.
Image & Video processing
U-boot(Universal Bootloader)
Consumer PC & AIO PC DMI Refresh 방법 설명 (UEFI DMI Ver)
Windows CE 시스템 개발 환경 구축.
제6장 FUSING.
Cross Compiler를이용한 커널 컴파일 및 포팅
Cross Compiler를이용한 커널 컴파일 및 포팅 1
PXA270 개발환경 설정 Ubuntu 실습용.
개발 환경 개발 환경 개요 PXA270과 타겟 시스템 툴체인 환경 구축 JTAG 유틸리티 미니컴 Make 유틸리티
크로스 컴파일 환경 구축.
Tool Chain, JTAG, Bootp, TFTP 의 설치
MYSQL 설치.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
Hadoop 2.완전 분산 처리.
Minicom,tftp,nfs설정,vnc설정
Bootloader Porting Lecture #6.
FUSING.
Tftp, nfs, samba 실습 임베디드 시스템 I.
목차 커널의 개념 및 기능 커널 포팅 램디스크.
나민영 서경대학교 컴퓨터공학과 CGVR Lab 같이만들어보자 5주차 OpenCV 설정 및 기초.
네트워크 스캔하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
UNIT 06 JTAG Debugger 로봇 SW 교육원 조용수.
Team Project : SSL 2008/05/27 정보보호 응용 발표자 : 신용철.
임베디드 리눅스 설치 및 동작 Lecture #5.
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
임베디드 시스템 개론 3주차 Embedded System..
Embedded System Porting (2)
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Root Filesystem Porting
임베디드 소프트웨어 동향. 임베디드 소프트웨어 동향 임베디드 S/W 시장분류 솔루션 측면 시스템 측면 운영체제 개발도구 설계도구 테스트도구 유선통신 무선통신 정보가전 자동차제어 산업자동화 사무자동화 군사/항공우주 의료장비 솔루션 공급 업체 임베디드 S/W시장 임베디드.
개발 환경.
FTP 프로그램 채계화 박재은 박수민.
Root Filesystem Porting
부트로더와 Self Programming
WinCE Device Driver 실습 #2
Cross Compiler 설치.
Host PC & Target Board 환경설정 Embedded Linux Image 올리기
Boot Loader.
Cross Compiler를이용한 커널 컴파일 및 포팅
Method & library.
시스템 인터페이스 Lab3 Unix 사용법 실습.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
리눅스 시스템 & 커널 기초 P.46 – P.53 이름: nsh009 학번: 112 1/20.
㈜시스원이 제공하는 시스템 관리 통합 솔루션 SysmanagerOne Agent설치 안내서
Device Driver 임베디드 시스템 I.
cafe.naver.com/embeddedcrazyboys
망고100 보드로 놀아보자 -12 커널 디렉토리 설명
임베디드 시스템 개론 임베디드 타겟 보드 포팅 및 H/W 제어 3일차 강의 자료 Embedded System Lab.
Xscale Educational Kit
툴 설치 가이드 Formality SynopsysMentor.
리눅스 커널 프로그래밍 환경 구축 IT EXPERT 리눅스 커널 프로그래밍 Author : Byungki Kim
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Kernel, Ramdisk, JFFS2 Porting
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
OpenCV 설정 2.21 만든이 딩딩.
DK-128 개발환경 설정 아이티즌 기술연구소
시스템 인터페이스 Lab#5 쉡 실습.
시스템 인터페이스 Lab1 X-window 및 명령어 사용.
임베디드 시스템 개론 3주차.
과제 4: Thread (5월 9일까지) 4장 연습문제 풀이
FTP 스캔 설정 방법 강사 : 이성휘 대리.
Kernel Porting Lecture #7.
임베디드 리눅스 설치 및 동작 Lecture #5.
Docker Study 6~7.
Presentation transcript:

U-boot 소스얻기,compile,올리기 망고100 보드로 놀아보자-5 U-boot 소스얻기,compile,올리기 cafe.naver.com/embeddedcrazyboys

cafe.naver.com/embeddedcrazyboys U-Boot란? & 특징 부트로더 간단하게 특정 cpu에 OS 혹은 어떤 프로그램을 돌릴 수 있도록 cpu가 동작하는데 필요한 아주 기초적인 부분이나 ROM(or flash), RAM, UART등의 기본적인 디바이스들을 동작할 수 있게 만드는 프로그램. Universal Bootloader 의 약자로 간단하게 PowerPC와 ARM에 기반을 둔 임베디드 보드를 위한 부트로더. Ppcboot와 ARMboot를 썼던 사람들에게 익숙하다.. 발전을 해가면서 다양한 platform에 포팅(ppc, arm, mips, x86...) 코드가 깔끔하고 구조가 좋음. 굉장히 강력하고 그나마 쉬운(?) 환경 설정: 많이 쓰이는 cpu를 사용한 상용 evaluation board에 대한 기본 sample코드 존재(수정하여 사용가능) 다른cpu에 대해 같은 명령어 체계를 사용하므로, 다른 platform에 적용을 하더라도 큰 어려움 없이 쉽게 접근가능 cafe.naver.com/embeddedcrazyboys

cafe.naver.com/embeddedcrazyboys U-boot 최신 소스 얻는 법 http://www.denx.de/wiki/U-Boot CPU 칩 Band 업체에서 얻는 것이 가장 좋다. 망고100 보드 :http://crztech.iptime.org:8080 최신 소스 사용 cafe.naver.com/embeddedcrazyboys

U-boot Download , Compile #mkdir ~/work #tar xvf mango100-uboot-2010-0629.tgz #cd mango100_uboot_2010_06_29 #make mango100_config #make cafe.naver.com/embeddedcrazyboys

Custom Board용 u-boot설정 1) copy: board/samsung/mango100 => board/samsung/newmango 2) copy: include/configs/mango100.h => include/configs/newmango.h로 복사 3) vi Makefile mango100_config : unconfig @./mkconfig $(@:_config=) arm s5pc1xx mango100 samsung s5pc100 => 밑에 두줄 추가 newmango_config : unconfig @./mkconfig $(@:_config=) arm s5pc1xx newmango samsung s5pc100 4) board/samsung/newmango/u-boot.lds -> board/samsung/newmango/lowlevel_init.o 으로 수정 4) compile make clobber make newmango_config make cafe.naver.com/embeddedcrazyboys

cafe.naver.com/embeddedcrazyboys Source tree 구조 /board ---/mango100 : cpu 디렉토리에 있는 cpu들로 만들어진 보드에 대한코드 ... 보드에 밀접한 코드들로 보드 초기화 코드, memory bank 설정코드 flash코드, 부트로더가 dram에 위치해야하는 relocation address를 기록한 config.mk, 전체코드의 배치를 지정하는 u-boot.lds라는 링커 스크립트 파일 /common : 각종 명령어, user interface main routine /cpu ---/cpu/s5pc1xx : cpu에 대한 startup코드(cpu초기화)와 serial, ... clock, timer등의 cpu specific한 코드 /doc : 각종 readme file /drivers : 각종 network과 같은 driver /examples : 부트로더상에서 실행시키는 standalone app example /fs ---/jffs2 : OS(특히 linux)지원 file system /include ---/include/asm-arm : 해당 platform에 대한 코드는 include/asm-arm같은식으로 존재. 중요한 파일로 u-boot.h에 board description structure가 존재함. (ppc에서 매우 중요함, arm에서는 덜 중요) ... /include/configs : 각 보드에 대한 설정파일들이 있습니다, [보드이름].h의 형태. /lib_arm : u-boot의 arm쪽 C 메인코드들이 있습니다. /net : tftp등의 네트워크 코드 /rtc : Real Time Clock driver /tools : mkimage등의 툴 cafe.naver.com/embeddedcrazyboys

cafe.naver.com/embeddedcrazyboys Source Flow startup(cpu/s5pc1xx/start.S) cpu초기화, dram초기화, 그 후에 부트로더의 ram으로의 relocation, C코드에서의 main인 start_armboot()를 호출함. c쪽의 start코드(lib_arm/board.c) dram초기화 이후의 flash, uart등등의 주변 디바이스 초기화 메인루프(command line shell: common/main.c) 유닉스 shell과 같은 명령어 처리 루틴. autoboot delay동안 enter키 입력을 기다리는데 그동안 키 입력이 안되면 바로 boot command(설정파일을 보면 나옴)를 실행시킴. app의 실행 혹은 리눅스등의 OS로 부팅(lib_arm/armlinux.c) 헤더가 붙은 커널의 헤더를 읽어서 압축을 풀고 리눅스로 제어권을 넘겨주는 코드 cafe.naver.com/embeddedcrazyboys

Mango100 tftp 로 u-boot write >#minicom 전원인가 설명:ipaddr :망고보드 ip, serverip :tftp host ip , gatewayip:Gatewayip ># tftp 21000000 u-boot.bin ># nand write 21000000 0 40000 cafe.naver.com/embeddedcrazyboys

망고100 USB OTG 이용 u-boot write http://cafe.naver.com/embeddedcrazyboys/5484 >#mincom 실행 >#dnw 21000000 cafe.naver.com/embeddedcrazyboys

cafe.naver.com/embeddedcrazyboys 망고100 SD booting 준비물 SDHC 4G Card 리눅스 설치 된 PC SD boot 망고100 Image cafe.naver.com/embeddedcrazyboys

망고100 SD booting Image Write MMC /SD Card 리눅스 Host 에 Insert SD boot Script 다운 받는곳(http://crztech.iptime.org:8080) >#./sdwriter /dev/장치 mango-image 완료가 되면, mmc card를 망고100에 삽입 SD 부팅 모드로 변경 6 5 4 3 2 1 SW100 ON SW101 1 2 3 4 5 6 cafe.naver.com/embeddedcrazyboys