ݺߣ

ݺߣShare a Scribd company logo
망고100 보드로 놀아보자-5U-boot 소스기,dz辱,올리̱ڱ.Բ.dz/𳾲峦Dz
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
U-boot 최신 소스 얻는 법cafe.naver.com/embeddedcrazyboyshttp://www.denx.de/wiki/U-BootCPU 칩 Band 업체에서 얻는 것이 가장 좋다.망고100 보드 :http://crztech.iptime.org:8080 최신 소스 사용
U-boot Download , Compilecafe.naver.com/embeddedcrazyboys#mkdir ~/work#tar xvf mango100-uboot-2010-0629.tgz#cd mango100_uboot_2010_06_29#make mango100_config#make
Custom Board용 u-boot설정1) copy: board/samsung/mango100 => board/samsung/newmango2) copy: include/configs/mango100.h => include/configs/newmango.h로 복사3) vi Makefilemango100_config : unconfig @./mkconfig $(@:_config=) arm s5pc1xx mango100 samsung s5pc100=> 밑에 두줄 추가newmango_config: unconfig @./mkconfig $(@:_config=) arm s5pc1xx  newmango samsung s5pc1004) board/samsung/newmango/u-boot.lds -> board/samsung/newmango/lowlevel_init.o으로 수정4) compilemake clobbermake newmango_configmakecafe.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
Source Flowstartup(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 writecafe.naver.com/embeddedcrazyboys>#minicom전원인가 설명:ipaddr :망고보드 ip, serverip :tftp host ip , gatewayip:Gatewayip># tftp 21000000 u-boot.bin># nand write 21000000 0 40000
망고100 USB OTG 이용 u-boot writecafe.naver.com/embeddedcrazyboyshttp://cafe.naver.com/embeddedcrazyboys/5484>#mincom실행>#dnw 21000000
망고100 SD booting  준비물cafe.naver.com/embeddedcrazyboysSDHC 4G Card 리눅스 설치 된 PCSD boot 망고100 Image
망고100 SD booting Image Writecafe.naver.com/embeddedcrazyboysMMC /SD Card 리눅스 Host 에 Insert SD boot Script 다운 받는곳(http://crztech.iptime.org:8080)>#./sdwriter  /dev/장치  mango-image완료가 되면, mmc card를 망고100에 삽입SD 부팅 모드로 변경654321SW100ONSW101123456

More Related Content

What's hot (20)

Java 개발자가 하드웨어를 만나게 된다면??
Java 개발자가 하드웨어를 만나게 된다면??Java 개발자가 하드웨어를 만나게 된다면??
Java 개발자가 하드웨어를 만나게 된다면??
유명환 FunFun Yoo
이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)
이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)
이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)
Ubuntu Korea Community
Introduction to Linux #1
Introduction to Linux #1Introduction to Linux #1
Introduction to Linux #1
UNIST
백업을 위한 USB운영체제 완료세미나
백업을 위한 USB운영체제 완료세미나백업을 위한 USB운영체제 완료세미나
백업을 위한 USB운영체제 완료세미나
Daniel Shin
1주차 리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져
1주차   리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져1주차   리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져
1주차 리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져
Chulgyu Shin
강좌 03 개발환경 구축
강좌 03 개발환경 구축강좌 03 개발환경 구축
강좌 03 개발환경 구축
chcbaram
Relationship between firmware and module(drvier)
Relationship between firmware and module(drvier)Relationship between firmware and module(drvier)
Relationship between firmware and module(drvier)
Jaeock Shim
ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)
Chulgyu Shin
시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203
doo rip choi
3D카툰메이커 완료세미나(복구됨)
3D카툰메이커 완료세미나(복구됨)3D카툰메이커 완료세미나(복구됨)
3D카툰메이커 완료세미나(복구됨)
Daniel Shin
cross compile
cross compilecross compile
cross compile
he4722
코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(2)
코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(2)코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(2)
코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(2)
유익ѫ데미
우분투에 시스템콜 추가하기
우분투에 시스템콜 추가하기우분투에 시스템콜 추가하기
우분투에 시스템콜 추가하기
Hoyoung Jung
강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계
chcbaram
20170713 tech day_7th_pxe 부팅-김주한
20170713 tech day_7th_pxe 부팅-김주한20170713 tech day_7th_pxe 부팅-김주한
20170713 tech day_7th_pxe 부팅-김주한
ymtech
우분투 커널 컴파일
우분투 커널 컴파일우분투 커널 컴파일
우분투 커널 컴파일
he4722
Multi mechanize
Multi mechanizeMulti mechanize
Multi mechanize
SungMin OH
caanoo Ernice
caanoo Ernicecaanoo Ernice
caanoo Ernice
jumiss
[0820 석재호]게임 입력의 기록 및 재생
[0820 석재호]게임 입력의 기록 및 재생[0820 석재호]게임 입력의 기록 및 재생
[0820 석재호]게임 입력의 기록 및 재생
Jaeho Seok
Java 개발자가 하드웨어를 만나게 된다면??
Java 개발자가 하드웨어를 만나게 된다면??Java 개발자가 하드웨어를 만나게 된다면??
Java 개발자가 하드웨어를 만나게 된다면??
유명환 FunFun Yoo
이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)
이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)
이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)
Ubuntu Korea Community
Introduction to Linux #1
Introduction to Linux #1Introduction to Linux #1
Introduction to Linux #1
UNIST
백업을 위한 USB운영체제 완료세미나
백업을 위한 USB운영체제 완료세미나백업을 위한 USB운영체제 완료세미나
백업을 위한 USB운영체제 완료세미나
Daniel Shin
1주차 리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져
1주차   리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져1주차   리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져
1주차 리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져
Chulgyu Shin
강좌 03 개발환경 구축
강좌 03 개발환경 구축강좌 03 개발환경 구축
강좌 03 개발환경 구축
chcbaram
Relationship between firmware and module(drvier)
Relationship between firmware and module(drvier)Relationship between firmware and module(drvier)
Relationship between firmware and module(drvier)
Jaeock Shim
ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)
Chulgyu Shin
시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203
doo rip choi
3D카툰메이커 완료세미나(복구됨)
3D카툰메이커 완료세미나(복구됨)3D카툰메이커 완료세미나(복구됨)
3D카툰메이커 완료세미나(복구됨)
Daniel Shin
cross compile
cross compilecross compile
cross compile
he4722
코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(2)
코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(2)코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(2)
코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(2)
유익ѫ데미
우분투에 시스템콜 추가하기
우분투에 시스템콜 추가하기우분투에 시스템콜 추가하기
우분투에 시스템콜 추가하기
Hoyoung Jung
강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계
chcbaram
20170713 tech day_7th_pxe 부팅-김주한
20170713 tech day_7th_pxe 부팅-김주한20170713 tech day_7th_pxe 부팅-김주한
20170713 tech day_7th_pxe 부팅-김주한
ymtech
우분투 커널 컴파일
우분투 커널 컴파일우분투 커널 컴파일
우분투 커널 컴파일
he4722
caanoo Ernice
caanoo Ernicecaanoo Ernice
caanoo Ernice
jumiss
[0820 석재호]게임 입력의 기록 및 재생
[0820 석재호]게임 입력의 기록 및 재생[0820 석재호]게임 입력의 기록 및 재생
[0820 석재호]게임 입력의 기록 및 재생
Jaeho Seok

Viewers also liked (20)

소셜 네트워크 앱 개발
소셜 네트워크 앱 개발소셜 네트워크 앱 개발
소셜 네트워크 앱 개발
Kenu, GwangNam Heo
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
흥래 김
사용자 경험 극대화를 위한 웹 서버 아키텍처
사용자 경험 극대화를 위한 웹 서버 아키텍처사용자 경험 극대화를 위한 웹 서버 아키텍처
사용자 경험 극대화를 위한 웹 서버 아키텍처
trustinlee
142 리눅스와 모바일 day1-track4_2_v1.5
142 리눅스와 모바일 day1-track4_2_v1.5142 리눅스와 모바일 day1-track4_2_v1.5
142 리눅스와 모바일 day1-track4_2_v1.5
NAVER D2
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
JaeChun Lee
DB 설계 과제
DB 설계 과제DB 설계 과제
DB 설계 과제
Dong-Jin Park
SoftLayer 서비스 설명 1차 - SoftLayer 소개
SoftLayer 서비스 설명 1차 - SoftLayer 소개SoftLayer 서비스 설명 1차 - SoftLayer 소개
SoftLayer 서비스 설명 1차 - SoftLayer 소개
IBM Korea
Firebase for web (웹개발을 위한 파이어베이스) 2 Authentication
Firebase for web (웹개발을 위한 파이어베이스) 2 AuthenticationFirebase for web (웹개발을 위한 파이어베이스) 2 Authentication
Firebase for web (웹개발을 위한 파이어베이스) 2 Authentication
승빈이네 공작소
Art of hacking 발표자료
Art of hacking 발표자료Art of hacking 발표자료
Art of hacking 발표자료
Dennis Kim
안드로이드 DB, 서버 연동하기
안드로이드 DB, 서버 연동하기안드로이드 DB, 서버 연동하기
안드로이드 DB, 서버 연동하기
은아 정
Network 초보자를 위한 Netty
Network 초보자를 위한 NettyNetwork 초보자를 위한 Netty
Network 초보자를 위한 Netty
Choulhyouc Lee
분석과 설계
분석과 설계분석과 설계
분석과 설계
Haeil Yi
Hacking IoT
Hacking IoTHacking IoT
Hacking IoT
유명환 FunFun Yoo
The Internet of Things: Privacy and Security Issues
The Internet of Things: Privacy and Security IssuesThe Internet of Things: Privacy and Security Issues
The Internet of Things: Privacy and Security Issues
European Union Agency for Network and Information Security (ENISA)
Top 10 Questions about HTML5
Top 10 Questions about HTML5Top 10 Questions about HTML5
Top 10 Questions about HTML5
Jonathan Jeon
Netty 시작하기 (1)
Netty 시작하기 (1)Netty 시작하기 (1)
Netty 시작하기 (1)
Daehyun Kim
The 5 elements of IoT security
The 5 elements of IoT securityThe 5 elements of IoT security
The 5 elements of IoT security
Julien Vermillard
Security in the Internet of Things
Security in the Internet of ThingsSecurity in the Internet of Things
Security in the Internet of Things
ForgeRock
데이터분석과통계2 - 최재걸님
데이터분석과통계2 - 최재걸님데이터분석과통계2 - 최재걸님
데이터분석과통계2 - 최재걸님
NAVER D2
IoT security (Internet of Things)
IoT security (Internet of Things)IoT security (Internet of Things)
IoT security (Internet of Things)
Sanjay Kumar (Seeking options outside India)
소셜 네트워크 앱 개발
소셜 네트워크 앱 개발소셜 네트워크 앱 개발
소셜 네트워크 앱 개발
Kenu, GwangNam Heo
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
흥래 김
사용자 경험 극대화를 위한 웹 서버 아키텍처
사용자 경험 극대화를 위한 웹 서버 아키텍처사용자 경험 극대화를 위한 웹 서버 아키텍처
사용자 경험 극대화를 위한 웹 서버 아키텍처
trustinlee
142 리눅스와 모바일 day1-track4_2_v1.5
142 리눅스와 모바일 day1-track4_2_v1.5142 리눅스와 모바일 day1-track4_2_v1.5
142 리눅스와 모바일 day1-track4_2_v1.5
NAVER D2
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
JaeChun Lee
SoftLayer 서비스 설명 1차 - SoftLayer 소개
SoftLayer 서비스 설명 1차 - SoftLayer 소개SoftLayer 서비스 설명 1차 - SoftLayer 소개
SoftLayer 서비스 설명 1차 - SoftLayer 소개
IBM Korea
Firebase for web (웹개발을 위한 파이어베이스) 2 Authentication
Firebase for web (웹개발을 위한 파이어베이스) 2 AuthenticationFirebase for web (웹개발을 위한 파이어베이스) 2 Authentication
Firebase for web (웹개발을 위한 파이어베이스) 2 Authentication
승빈이네 공작소
Art of hacking 발표자료
Art of hacking 발표자료Art of hacking 발표자료
Art of hacking 발표자료
Dennis Kim
안드로이드 DB, 서버 연동하기
안드로이드 DB, 서버 연동하기안드로이드 DB, 서버 연동하기
안드로이드 DB, 서버 연동하기
은아 정
Network 초보자를 위한 Netty
Network 초보자를 위한 NettyNetwork 초보자를 위한 Netty
Network 초보자를 위한 Netty
Choulhyouc Lee
분석과 설계
분석과 설계분석과 설계
분석과 설계
Haeil Yi
Top 10 Questions about HTML5
Top 10 Questions about HTML5Top 10 Questions about HTML5
Top 10 Questions about HTML5
Jonathan Jeon
Netty 시작하기 (1)
Netty 시작하기 (1)Netty 시작하기 (1)
Netty 시작하기 (1)
Daehyun Kim
Security in the Internet of Things
Security in the Internet of ThingsSecurity in the Internet of Things
Security in the Internet of Things
ForgeRock
데이터분석과통계2 - 최재걸님
데이터분석과통계2 - 최재걸님데이터분석과통계2 - 최재걸님
데이터분석과통계2 - 최재걸님
NAVER D2

Similar to 망고100 보드로 놀아보자 5 (20)

망고100 보드로 놀아보자 13
망고100 보드로 놀아보자  13망고100 보드로 놀아보자  13
망고100 보드로 놀아보자 13
종인 전
caanoo Device driver
caanoo Device drivercaanoo Device driver
caanoo Device driver
jumiss
안드로이드 플랫폼 설명
안드로이드 플랫폼 설명안드로이드 플랫폼 설명
안드로이드 플랫폼 설명
Peter YoungSik Yun
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스
Seunghwa Song
Startup JavaScript 7 - Node.JS 기초
Startup JavaScript 7 - Node.JS 기초Startup JavaScript 7 - Node.JS 기초
Startup JavaScript 7 - Node.JS 기초
Circulus
망고100 보드로 놀아보자 6
망고100 보드로 놀아보자 6망고100 보드로 놀아보자 6
망고100 보드로 놀아보자 6
종인 전
MCU(nanheekim)
MCU(nanheekim)MCU(nanheekim)
MCU(nanheekim)
Nanhee Kim
컴퓨터개론06
컴퓨터개론06컴퓨터개론06
컴퓨터개론06
Edward Hwang
CoreOS를 이용한 Docker 관리툴 소개
CoreOS를 이용한 Docker 관리툴 소개CoreOS를 이용한 Docker 관리툴 소개
CoreOS를 이용한 Docker 관리툴 소개
충섭 김
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
Sunggon Song
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
Ubuntu Korea Community
소프트웨어의 동작 방식 이해
소프트웨어의 동작 방식 이해소프트웨어의 동작 방식 이해
소프트웨어의 동작 방식 이해
중선 곽
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)
Ubuntu Korea Community
[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅
NAVER D2
Linux Performan tuning Part I
Linux Performan tuning Part ILinux Performan tuning Part I
Linux Performan tuning Part I
sprdd
망고100 메뉴얼 환경부터포팅까지-2011-0324
망고100 메뉴얼 환경부터포팅까지-2011-0324망고100 메뉴얼 환경부터포팅까지-2011-0324
망고100 메뉴얼 환경부터포팅까지-2011-0324
종인 전
Foss open sorucesw_6902
Foss open sorucesw_6902Foss open sorucesw_6902
Foss open sorucesw_6902
승우 백
(111217) #fitalk rootkit tools and debugger
(111217) #fitalk   rootkit tools and debugger(111217) #fitalk   rootkit tools and debugger
(111217) #fitalk rootkit tools and debugger
INSIGHT FORENSIC
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
Ubuntu Korea Community
망고100 보드로 놀아보자 13
망고100 보드로 놀아보자  13망고100 보드로 놀아보자  13
망고100 보드로 놀아보자 13
종인 전
caanoo Device driver
caanoo Device drivercaanoo Device driver
caanoo Device driver
jumiss
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스
Seunghwa Song
Startup JavaScript 7 - Node.JS 기초
Startup JavaScript 7 - Node.JS 기초Startup JavaScript 7 - Node.JS 기초
Startup JavaScript 7 - Node.JS 기초
Circulus
망고100 보드로 놀아보자 6
망고100 보드로 놀아보자 6망고100 보드로 놀아보자 6
망고100 보드로 놀아보자 6
종인 전
CoreOS를 이용한 Docker 관리툴 소개
CoreOS를 이용한 Docker 관리툴 소개CoreOS를 이용한 Docker 관리툴 소개
CoreOS를 이용한 Docker 관리툴 소개
충섭 김
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
Sunggon Song
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
Ubuntu Korea Community
소프트웨어의 동작 방식 이해
소프트웨어의 동작 방식 이해소프트웨어의 동작 방식 이해
소프트웨어의 동작 방식 이해
중선 곽
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)
Ubuntu Korea Community
[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅
NAVER D2
Linux Performan tuning Part I
Linux Performan tuning Part ILinux Performan tuning Part I
Linux Performan tuning Part I
sprdd
망고100 메뉴얼 환경부터포팅까지-2011-0324
망고100 메뉴얼 환경부터포팅까지-2011-0324망고100 메뉴얼 환경부터포팅까지-2011-0324
망고100 메뉴얼 환경부터포팅까지-2011-0324
종인 전
Foss open sorucesw_6902
Foss open sorucesw_6902Foss open sorucesw_6902
Foss open sorucesw_6902
승우 백
(111217) #fitalk rootkit tools and debugger
(111217) #fitalk   rootkit tools and debugger(111217) #fitalk   rootkit tools and debugger
(111217) #fitalk rootkit tools and debugger
INSIGHT FORENSIC
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
Ubuntu Korea Community

More from 종인 전 (20)

Quick start guide-mango-am335x
Quick start guide-mango-am335xQuick start guide-mango-am335x
Quick start guide-mango-am335x
종인 전
(망고210& Gingerbread) u-boot 컴파일 및 다운로드
(망고210& Gingerbread) u-boot 컴파일 및 다운로드(망고210& Gingerbread) u-boot 컴파일 및 다운로드
(망고210& Gingerbread) u-boot 컴파일 및 다운로드
종인 전
망고210 android fastboot nand write 방법
망고210 android fastboot nand write 방법망고210 android fastboot nand write 방법
망고210 android fastboot nand write 방법
종인 전
망고210 매뉴얼 2010 12-30
망고210 매뉴얼 2010 12-30망고210 매뉴얼 2010 12-30
망고210 매뉴얼 2010 12-30
종인 전
망고100 보드로 놀아보자 19
망고100 보드로 놀아보자 19망고100 보드로 놀아보자 19
망고100 보드로 놀아보자 19
종인 전
망고100 보드로 놀아보자 18
망고100 보드로 놀아보자 18망고100 보드로 놀아보자 18
망고100 보드로 놀아보자 18
종인 전
망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌
망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌
망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌
종인 전
망고100 보드로 놀아보자 17
망고100 보드로 놀아보자 17망고100 보드로 놀아보자 17
망고100 보드로 놀아보자 17
종인 전
망고100 보드로 놀아보자 16
망고100 보드로 놀아보자 16망고100 보드로 놀아보자 16
망고100 보드로 놀아보자 16
종인 전
망고100 보드로 놀아보자 15
망고100 보드로 놀아보자 15망고100 보드로 놀아보자 15
망고100 보드로 놀아보자 15
종인 전
망고100 보드로 놀아보자 14
망고100 보드로 놀아보자 14망고100 보드로 놀아보자 14
망고100 보드로 놀아보자 14
종인 전
망고100 보드로 놀아보자 11
망고100 보드로 놀아보자  11망고100 보드로 놀아보자  11
망고100 보드로 놀아보자 11
종인 전
망고100 보드로 놀아보자 10
망고100 보드로 놀아보자 10망고100 보드로 놀아보자 10
망고100 보드로 놀아보자 10
종인 전
Mango64 u boot 업데이트 하기
Mango64 u boot 업데이트 하기Mango64 u boot 업데이트 하기
Mango64 u boot 업데이트 하기
종인 전
망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9
종인 전
망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9
종인 전
망고64(s3 c6410) 부팅모드
망고64(s3 c6410) 부팅모드망고64(s3 c6410) 부팅모드
망고64(s3 c6410) 부팅모드
종인 전
망고64 부품도
망고64 부품도망고64 부품도
망고64 부품도
종인 전
망고100 보드로 놀아보자 8
망고100 보드로 놀아보자 8망고100 보드로 놀아보자 8
망고100 보드로 놀아보자 8
종인 전
망고100 보드로 놀아보자 7
망고100 보드로 놀아보자 7망고100 보드로 놀아보자 7
망고100 보드로 놀아보자 7
종인 전
Quick start guide-mango-am335x
Quick start guide-mango-am335xQuick start guide-mango-am335x
Quick start guide-mango-am335x
종인 전
(망고210& Gingerbread) u-boot 컴파일 및 다운로드
(망고210& Gingerbread) u-boot 컴파일 및 다운로드(망고210& Gingerbread) u-boot 컴파일 및 다운로드
(망고210& Gingerbread) u-boot 컴파일 및 다운로드
종인 전
망고210 android fastboot nand write 방법
망고210 android fastboot nand write 방법망고210 android fastboot nand write 방법
망고210 android fastboot nand write 방법
종인 전
망고210 매뉴얼 2010 12-30
망고210 매뉴얼 2010 12-30망고210 매뉴얼 2010 12-30
망고210 매뉴얼 2010 12-30
종인 전
망고100 보드로 놀아보자 19
망고100 보드로 놀아보자 19망고100 보드로 놀아보자 19
망고100 보드로 놀아보자 19
종인 전
망고100 보드로 놀아보자 18
망고100 보드로 놀아보자 18망고100 보드로 놀아보자 18
망고100 보드로 놀아보자 18
종인 전
망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌
망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌
망고100(s5 pc100),망고64(s3c6410) 구입멤버대상 안드로이드포팅강좌
종인 전
망고100 보드로 놀아보자 17
망고100 보드로 놀아보자 17망고100 보드로 놀아보자 17
망고100 보드로 놀아보자 17
종인 전
망고100 보드로 놀아보자 16
망고100 보드로 놀아보자 16망고100 보드로 놀아보자 16
망고100 보드로 놀아보자 16
종인 전
망고100 보드로 놀아보자 15
망고100 보드로 놀아보자 15망고100 보드로 놀아보자 15
망고100 보드로 놀아보자 15
종인 전
망고100 보드로 놀아보자 14
망고100 보드로 놀아보자 14망고100 보드로 놀아보자 14
망고100 보드로 놀아보자 14
종인 전
망고100 보드로 놀아보자 11
망고100 보드로 놀아보자  11망고100 보드로 놀아보자  11
망고100 보드로 놀아보자 11
종인 전
망고100 보드로 놀아보자 10
망고100 보드로 놀아보자 10망고100 보드로 놀아보자 10
망고100 보드로 놀아보자 10
종인 전
Mango64 u boot 업데이트 하기
Mango64 u boot 업데이트 하기Mango64 u boot 업데이트 하기
Mango64 u boot 업데이트 하기
종인 전
망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9
종인 전
망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9망고100 보드로 놀아보자 9
망고100 보드로 놀아보자 9
종인 전
망고64(s3 c6410) 부팅모드
망고64(s3 c6410) 부팅모드망고64(s3 c6410) 부팅모드
망고64(s3 c6410) 부팅모드
종인 전
망고100 보드로 놀아보자 8
망고100 보드로 놀아보자 8망고100 보드로 놀아보자 8
망고100 보드로 놀아보자 8
종인 전
망고100 보드로 놀아보자 7
망고100 보드로 놀아보자 7망고100 보드로 놀아보자 7
망고100 보드로 놀아보자 7
종인 전

망고100 보드로 놀아보자 5

  • 1. 망고100 보드로 놀아보자-5U-boot 소스기,dz辱,올리̱ڱ.Բ.dz/𳾲峦Dz
  • 2. 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
  • 3. U-boot 최신 소스 얻는 법cafe.naver.com/embeddedcrazyboyshttp://www.denx.de/wiki/U-BootCPU 칩 Band 업체에서 얻는 것이 가장 좋다.망고100 보드 :http://crztech.iptime.org:8080 최신 소스 사용
  • 4. U-boot Download , Compilecafe.naver.com/embeddedcrazyboys#mkdir ~/work#tar xvf mango100-uboot-2010-0629.tgz#cd mango100_uboot_2010_06_29#make mango100_config#make
  • 5. Custom Board용 u-boot설정1) copy: board/samsung/mango100 => board/samsung/newmango2) copy: include/configs/mango100.h => include/configs/newmango.h로 복사3) vi Makefilemango100_config : unconfig @./mkconfig $(@:_config=) arm s5pc1xx mango100 samsung s5pc100=> 밑에 두줄 추가newmango_config: unconfig @./mkconfig $(@:_config=) arm s5pc1xx newmango samsung s5pc1004) board/samsung/newmango/u-boot.lds -> board/samsung/newmango/lowlevel_init.o으로 수정4) compilemake clobbermake newmango_configmakecafe.naver.com/embeddedcrazyboys
  • 6. 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
  • 7. Source Flowstartup(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
  • 8. Mango100 tftp로 u-boot writecafe.naver.com/embeddedcrazyboys>#minicom전원인가 설명:ipaddr :망고보드 ip, serverip :tftp host ip , gatewayip:Gatewayip># tftp 21000000 u-boot.bin># nand write 21000000 0 40000
  • 9. 망고100 USB OTG 이용 u-boot writecafe.naver.com/embeddedcrazyboyshttp://cafe.naver.com/embeddedcrazyboys/5484>#mincom실행>#dnw 21000000
  • 10. 망고100 SD booting 준비물cafe.naver.com/embeddedcrazyboysSDHC 4G Card 리눅스 설치 된 PCSD boot 망고100 Image
  • 11. 망고100 SD booting Image Writecafe.naver.com/embeddedcrazyboysMMC /SD Card 리눅스 Host 에 Insert SD boot Script 다운 받는곳(http://crztech.iptime.org:8080)>#./sdwriter /dev/장치 mango-image완료가 되면, mmc card를 망고100에 삽입SD 부팅 모드로 변경654321SW100ONSW101123456