망고 100 보드로 놀아보자 -1 (u-boot,linux kernel,Android)
리눅스 역사 (history) Linux 역사 – 핀란드 대학원생 Linus B. Torvalds –1991 version 0.01 발표 1994 년에는 리눅스 커널 버전 년 년 2.2 버전의 발표로, 엔터프라이즈 환경에 진입할 수 있는 초석 마련 최근 2.4 버전이 주로 사용되고 2.6 발표 상태 –A. Tanenbaum 교수의 Minix 기반 ( –Philosophy of COPYLEFT(open source) –GNU support –Various Distributions : Redhat, Debian, Slackware, Alzza, MontaVista, Lineo, Gmate, Zaurus, Samsung, IBM,..
리누스 토발즈 (Linus Torvalds) - 최초의 리눅스 커널을 만듦 - 리눅스 소스코드를 GNU 의 GPL 에 따라 인터넷에 공개 리차드 스톨만 (Richard Stollman) -GNU 프로젝트의 리더로 FSF 를 설립 - 카피레프트 (CopyLeft) 주장 래리 월 (Larry Wall) - 펄의 제작자 - 오픈 소스 프로그램과 여러 가지 게임 만듦 밥 영 (Bob Young) -RedHat 의 공동 창립자, 오픈소스 운동의 선구자 Linux/GNU 를 만들어가는 사람들
리눅스와 GNU GNU (GNU’s not Unix) –80 년대 초반 리차드 스톨만 (Richard Stallman) 에 의하 여 시작 –GPL (GNU Public License) GPL 에 의거한 모든 소프트웨어는 무료 변경 사항을 포함해서 재판매 하는 것은 허용하나 소스는 공 개해야 함 프로그래머는 자신의 소프트웨어로 발생하는 어떤 위험이나 손해에 대한 법률적 책임이 없음 –Linux 에 gcc, emacs 등을 이식 –BSD 의 많은 유용한 유틸리티를 포함하게 하는 게기가 됨 리눅스는 GPL 에 의거하여 배포
리눅스 커널 버전의 선택 커널 버전 – 역사 : – 버전 숫자 : X.Y.ZZ X : 커널의 버전 Y : 릴리즈 번호, 홀수 -> 개발 중, 짝수 -> 안정된 버전 ZZ : Modifications, 사소한 변화를 의미 – 최신 버전 새로운 다양한 기능이 이미 추가되어 있음 크기가 매우 크다는 단점이 있음 커널 버전의 선택 – 임베디드 시스템의 크기를 고려 – 필요한 기능을 고려 – 확장성을 고려
안드로이드란 ? 운영체제와 미들웨어 그리고 핵심 애플리 케이션을 포함하고 있는 모바일 디바이스 를 위한 소프트웨어 스택 안드로이드 SDK 는 Java 프로그램밍 언어 를 사용하여 안드로이드 플랫폼상의 어플 리케이션을 개발하기 위해 필요한 도구들 과 API 를 제공
안드로이드 주요특징 어플리케이션 프레임 워크 달빅 (Dalvik) 가상머신 통합 브라우저 : 오픈소스 웹킷 엔지기반 최적화된 그래팩 :3D 그래픽 강화 SQLite: 정형화된 데이터 저장공간을 위한 것 미디어 지 원 :MPEG4,H.264,MP3,AAC,AMR,JPG,PNG, GIF) GSM 테크놀러지, 블루투스,EDGE,3G 와 WiFi: 하드웨어 의존적 카메라,GPS: 하드웨어 의존적 풍부한 개발환경
망고 100 특징 Cortex-A8 Core 기반으로 삼성 CPU S5PC100 탑재 (667Mhz) 3D Hardware 가속기 CPU 에 기본 내장 Wince 6.0, Android,Embedded linux 체험 및 프로젝트에 적합한 보드 듀얼 카메라 지원 HDMI,TV out 기능 지원 가로 100 mm, 세로 70mm 로 휴대 간편
망고 100 하드웨어
망고 100 하드웨어 1Micro-SD card Connector 2HDMI connector 3B2B Expansion Connector440Pin ZIF ATA Connector 5RTC Battery620Pin Camera Expansion Connector
망고 100 구조도
망고 100 부팅과정
망고 100 부팅 Mode #SW100SW101 1XOM0NFMOD0 2XOM1NFMOD1 3XOM2NFMOD2 4XOM3NFMOD3 5XOM4NFMOD4 6NCNFMOD5
S5PC100 부팅 모드
망고 100 부팅모드 USB Boot Mode Nand Boot Mode SD Boot Mode
망고 100 USB Mode
망고 100 Nand Boot Mode ‘OM[2:1]=0b00’ ‘NFMOD[2:0]=0b110’ Nand Large Block, 4 Addr Cycle 6 번 0 인 경우 Nand Booting SW101
망고 100 SD Boot Mode SW100 SW101 ON OM[2:1]:0b10 MMC boot mode
Boot Mode 실습 Booting Mode 실습 DNW Tool 다운받기 ( 5701) UART Port 설정 “ 장치관리자 ” 확인
Mango100 USB Boot Mode 실 습 DNW Tool 실행 망고 100 보드에 전원,UART, USB 연결 SW101 Boot 스위치 조정 전원인가 후 아래와 같이 나오면 OK
망고 100 UART 연결 “ 내 컴퓨터 -> 장치관리자 ” PORT 확인 DNW Tool Configuration 설정 “Serial Port -> Connect “ 클릭
망고 100 USB BootLoader 실행하기 “USB Port ->Transmit -> Transmit” 선택 “mango100_bl_umon.bin” 선택
망고 100 Nand Mode boot 실습 DNW 실행 UART 연결 후 NAND Mode Booting Wince 구동 되는 모습
망고 100 SD Boot 실행 모습 SDHC Card 를 보드에 Insert Default : GNOME File System Android 부팅 방법 (setenv bootargs 'root=/dev/mmcblk0p2 rw rootfstype=ext3 console=ttySAC1, rootdelay=1‘)