SlideShare a Scribd company logo
1 of 11
망고100 보드로 놀아보자-5 U-boot 소스얻기,compile,올리기 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
U-boot 최신 소스 얻는 법 cafe.naver.com/embeddedcrazyboys http://www.denx.de/wiki/U-Boot CPU 칩 Band 업체에서 얻는 것이 가장 좋다. 망고100 보드 :http://crztech.iptime.org:8080 최신 소스 사용
U-boot Download , Compile cafe.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/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
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 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 cafe.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 write cafe.naver.com/embeddedcrazyboys http://cafe.naver.com/embeddedcrazyboys/5484 >#mincom실행 >#dnw 21000000
망고100 SD booting  준비물 cafe.naver.com/embeddedcrazyboys SDHC 4G Card  리눅스 설치 된 PC SD boot 망고100 Image
망고100 SD booting Image Write cafe.naver.com/embeddedcrazyboys 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

More Related Content

What's hot

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 #1UNIST
 
백업을 위한 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
 
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은jieun kim
 
ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)Chulgyu Shin
 
시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203doo rip choi
 
3D카툰메이커 완료세미나(복구됨)
3D카툰메이커 완료세미나(복구됨)3D카툰메이커 완료세미나(복구됨)
3D카툰메이커 완료세미나(복구됨)Daniel Shin
 
cross compile
cross compilecross compile
cross compilehe4722
 
코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(2)
코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(2)코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(2)
코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(2)유익아카데미
 
우분투에 시스템콜 추가하기
우분투에 시스템콜 추가하기우분투에 시스템콜 추가하기
우분투에 시스템콜 추가하기Hoyoung Jung
 
운영체제 Sig2
운영체제 Sig2운영체제 Sig2
운영체제 Sig2YoungGun Na
 
강좌 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 mechanizeSungMin OH
 
caanoo Ernice
caanoo Ernicecaanoo Ernice
caanoo Ernicejumiss
 

What's hot (20)

Java 개발자가 하드웨어를 만나게 된다면??
Java 개발자가 하드웨어를 만나게 된다면??Java 개발자가 하드웨어를 만나게 된다면??
Java 개발자가 하드웨어를 만나게 된다면??
 
이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)
이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)
이호민 - 우분투 환경에서의 임베디드 개발환경 구축 및 어플리케이션 개발 (2010Y06M24D)
 
Introduction to Linux #1
Introduction to Linux #1Introduction to Linux #1
Introduction to Linux #1
 
백업을 위한 USB운영체제 완료세미나
백업을 위한 USB운영체제 완료세미나백업을 위한 USB운영체제 완료세미나
백업을 위한 USB운영체제 완료세미나
 
1주차 리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져
1주차   리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져1주차   리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져
1주차 리눅스의 이해 및 설치, 파티션과 파일 시스템, 부팅매니져
 
강좌 03 개발환경 구축
강좌 03 개발환경 구축강좌 03 개발환경 구축
강좌 03 개발환경 구축
 
Relationship between firmware and module(drvier)
Relationship between firmware and module(drvier)Relationship between firmware and module(drvier)
Relationship between firmware and module(drvier)
 
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
 
ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)ITs 2주차_기본명령어(발표)
ITs 2주차_기본명령어(발표)
 
시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203
 
3D카툰메이커 완료세미나(복구됨)
3D카툰메이커 완료세미나(복구됨)3D카툰메이커 완료세미나(복구됨)
3D카툰메이커 완료세미나(복구됨)
 
cross compile
cross compilecross compile
cross compile
 
코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(2)
코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(2)코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(2)
코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(2)
 
우분투에 시스템콜 추가하기
우분투에 시스템콜 추가하기우분투에 시스템콜 추가하기
우분투에 시스템콜 추가하기
 
운영체제 Sig2
운영체제 Sig2운영체제 Sig2
운영체제 Sig2
 
강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계강좌 04 펌웨어 구조 설계
강좌 04 펌웨어 구조 설계
 
20170713 tech day_7th_pxe 부팅-김주한
20170713 tech day_7th_pxe 부팅-김주한20170713 tech day_7th_pxe 부팅-김주한
20170713 tech day_7th_pxe 부팅-김주한
 
우분투 커널 컴파일
우분투 커널 컴파일우분투 커널 컴파일
우분투 커널 컴파일
 
Multi mechanize
Multi mechanizeMulti mechanize
Multi mechanize
 
caanoo Ernice
caanoo Ernicecaanoo Ernice
caanoo Ernice
 

Viewers also liked

소셜 네트워크 앱 개발
소셜 네트워크 앱 개발소셜 네트워크 앱 개발
소셜 네트워크 앱 개발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.5NAVER 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 초보자를 위한 NettyChoulhyouc Lee
 
분석과 설계
분석과 설계분석과 설계
분석과 설계Haeil Yi
 
Top 10 Questions about HTML5
Top 10 Questions about HTML5Top 10 Questions about HTML5
Top 10 Questions about HTML5Jonathan 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 securityJulien Vermillard
 
Security in the Internet of Things
Security in the Internet of ThingsSecurity in the Internet of Things
Security in the Internet of ThingsForgeRock
 
데이터분석과통계2 - 최재걸님
데이터분석과통계2 - 최재걸님데이터분석과통계2 - 최재걸님
데이터분석과통계2 - 최재걸님NAVER D2
 

Viewers also liked (20)

소셜 네트워크 앱 개발
소셜 네트워크 앱 개발소셜 네트워크 앱 개발
소셜 네트워크 앱 개발
 
[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy[DevOn 2013] Dynamic web proxy
[DevOn 2013] Dynamic web proxy
 
사용자 경험 극대화를 위한 웹 서버 아키텍처
사용자 경험 극대화를 위한 웹 서버 아키텍처사용자 경험 극대화를 위한 웹 서버 아키텍처
사용자 경험 극대화를 위한 웹 서버 아키텍처
 
142 리눅스와 모바일 day1-track4_2_v1.5
142 리눅스와 모바일 day1-track4_2_v1.5142 리눅스와 모바일 day1-track4_2_v1.5
142 리눅스와 모바일 day1-track4_2_v1.5
 
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
14 06-20 정보공유세미나(vpn 및 공유기 해킹 사례)
 
DB 설계 과제
DB 설계 과제DB 설계 과제
DB 설계 과제
 
SoftLayer 서비스 설명 1차 - SoftLayer 소개
SoftLayer 서비스 설명 1차 - SoftLayer 소개SoftLayer 서비스 설명 1차 - SoftLayer 소개
SoftLayer 서비스 설명 1차 - SoftLayer 소개
 
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 발표자료
 
안드로이드 DB, 서버 연동하기
안드로이드 DB, 서버 연동하기안드로이드 DB, 서버 연동하기
안드로이드 DB, 서버 연동하기
 
Network 초보자를 위한 Netty
Network 초보자를 위한 NettyNetwork 초보자를 위한 Netty
Network 초보자를 위한 Netty
 
분석과 설계
분석과 설계분석과 설계
분석과 설계
 
Hacking IoT
Hacking IoTHacking IoT
Hacking IoT
 
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
 
Top 10 Questions about HTML5
Top 10 Questions about HTML5Top 10 Questions about HTML5
Top 10 Questions about HTML5
 
Netty 시작하기 (1)
Netty 시작하기 (1)Netty 시작하기 (1)
Netty 시작하기 (1)
 
The 5 elements of IoT security
The 5 elements of IoT securityThe 5 elements of IoT security
The 5 elements of IoT security
 
Security in the Internet of Things
Security in the Internet of ThingsSecurity in the Internet of Things
Security in the Internet of Things
 
데이터분석과통계2 - 최재걸님
데이터분석과통계2 - 최재걸님데이터분석과통계2 - 최재걸님
데이터분석과통계2 - 최재걸님
 
IoT security (Internet of Things)
IoT security (Internet of Things)IoT security (Internet of Things)
IoT security (Internet of Things)
 

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

망고100 보드로 놀아보자 13
망고100 보드로 놀아보자  13망고100 보드로 놀아보자  13
망고100 보드로 놀아보자 13종인 전
 
caanoo Device driver
caanoo Device drivercaanoo Device driver
caanoo Device driverjumiss
 
안드로이드 플랫폼 설명
안드로이드 플랫폼 설명안드로이드 플랫폼 설명
안드로이드 플랫폼 설명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
 
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 Isprdd
 
망고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 debuggerINSIGHT FORENSIC
 
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)Ubuntu Korea Community
 

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

망고100 보드로 놀아보자 13
망고100 보드로 놀아보자  13망고100 보드로 놀아보자  13
망고100 보드로 놀아보자 13
 
caanoo Device driver
caanoo Device drivercaanoo Device driver
caanoo Device driver
 
안드로이드 플랫폼 설명
안드로이드 플랫폼 설명안드로이드 플랫폼 설명
안드로이드 플랫폼 설명
 
shell and process
shell and processshell and process
shell and process
 
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스
이기종 멀티코어 프로세서를 위한 프로그래밍 언어 및 영상처리 오픈소스
 
Startup JavaScript 7 - Node.JS 기초
Startup JavaScript 7 - Node.JS 기초Startup JavaScript 7 - Node.JS 기초
Startup JavaScript 7 - Node.JS 기초
 
망고100 보드로 놀아보자 6
망고100 보드로 놀아보자 6망고100 보드로 놀아보자 6
망고100 보드로 놀아보자 6
 
MCU(nanheekim)
MCU(nanheekim)MCU(nanheekim)
MCU(nanheekim)
 
컴퓨터개론06
컴퓨터개론06컴퓨터개론06
컴퓨터개론06
 
CoreOS를 이용한 Docker 관리툴 소개
CoreOS를 이용한 Docker 관리툴 소개CoreOS를 이용한 Docker 관리툴 소개
CoreOS를 이용한 Docker 관리툴 소개
 
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
실무로 배우는 시스템 성능 최적화 8부 - 1,2,3장
 
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
김성윤 - 우분투로 슈퍼컴 만들기 (2011Y03M26D)
 
소프트웨어의 동작 방식 이해
소프트웨어의 동작 방식 이해소프트웨어의 동작 방식 이해
소프트웨어의 동작 방식 이해
 
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)
박진호 - 우분투 부팅 과정에 대한 이야기 (2012Y07M28D)
 
[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅[232] 성능어디까지쥐어짜봤니 송태웅
[232] 성능어디까지쥐어짜봤니 송태웅
 
Linux Performan tuning Part I
Linux Performan tuning Part ILinux Performan tuning Part I
Linux Performan tuning Part I
 
망고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
 
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
강분도 - 나만의 우분투 배포판 만들기 (2011Y06M25D)
 

More from 종인 전

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종인 전
 

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
 

망고100 보드로 놀아보자 5

  • 1. 망고100 보드로 놀아보자-5 U-boot 소스얻기,compile,올리기 cafe.naver.com/embeddedcrazyboys
  • 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/embeddedcrazyboys http://www.denx.de/wiki/U-Boot CPU 칩 Band 업체에서 얻는 것이 가장 좋다. 망고100 보드 :http://crztech.iptime.org:8080 최신 소스 사용
  • 4. U-boot Download , Compile cafe.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/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
  • 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 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
  • 8. Mango100 tftp로 u-boot write cafe.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 write cafe.naver.com/embeddedcrazyboys http://cafe.naver.com/embeddedcrazyboys/5484 >#mincom실행 >#dnw 21000000
  • 10. 망고100 SD booting 준비물 cafe.naver.com/embeddedcrazyboys SDHC 4G Card 리눅스 설치 된 PC SD boot 망고100 Image
  • 11. 망고100 SD booting Image Write cafe.naver.com/embeddedcrazyboys 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