이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. www.hardkernel.com Rev1.0               삼성 Exynos-4210 듀얼코어 프로세서로       ...
Agenda      www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.00.   시작하기에 앞서1.   기초 과정: 안드로이드 플랫...
시작하기에 앞서(1)    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0본 과정은 ODROID-A4를 사용하여 안드로이드 시스...
시작하기에 앞서(2)     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0본 과정은 ㈜하드커널의 엔지니어들에 의해 초안이 만들...
용어설명(1)      www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0안드로이드 : 휴대 전화를 비롯한 휴대용 장치를 위한 운영...
용어설명(2)     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Fastboot : Fastboot는 개발 전용 통신 프로토...
용어설명(3)      www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0임베디드 리눅스 : 임베디드 리눅스(Embedded Lin...
용어설명(4)        www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0안드로이드 플랫폼 빌드 : 부트로더, 리눅스 커널, 안...
용어설명(5)     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0안드로이드 플랫폼 개발 보드 : 안드로이드 플랫폼을 이식하여...
용어설명(6)     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0플래시(Flash) 메모리 : 비휘발성 메모리로 전원이 차단...
용어설명(7)      www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0블루투스 : IEEE 802.15.1 규격을 사용하는 블루...
용어설명(8)      www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0인터럽트 (Interrupt) : 실행 중인 프로그램을 일...
용어설명(9)        www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0I2S (Integrated Interchip Soun...
이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. www.hardkernel.com Rev1.0     1. 기초 과정 :        안드로이드 플랫폼을 빌드하고 수정하는 방법 ...
Agenda      www.hardkernel.com    이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0ODROID-A4 SYSTEM 구성 및 Android Bo...
이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. www.hardkernel.com Rev1.0                      ODROID-A4 SYSTEM 구성 및    ...
Agenda    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0ODROID-A4 SYSTEM 구성ODROID-A4 Androi...
ODROID-A4 SYSTEM 구성        www.hardkernel.com    이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0                 ...
ODROID-A4 Android boot process from power on    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev...
ODROID-A4 Bootloader loading process     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0    ...
ODROID-A4 Kernel/Ramdisk/Android loading process         www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 ...
이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. www.hardkernel.com Rev1.0          ODROID-A4 안드로이드 시스템 개발 환경 구축         ...
Agenda     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0안드로이드 Build를 위한 시스템 사양Windows7 64-...
안드로이드 Build를 위한 시스템 사양   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0안드로이드 시스템 개발은 Ubuntu...
Windows7 64-bit BIOS 설정변경    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0BIOS에 들어가 다음을 En...
Oracle VM Virtual Box(1)     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0VirtualBox란? htt...
Oracle VM Virtual Box(2)     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0버추얼박스 플랫폼 꾸러미 다운...
Oracle VM Virtual Box(3)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0다운 받은 설치 파일을 실행 한다...
Oracle VM Virtual Box(4)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.01.설치할 구성 요소를 선택한다....
Oracle VM Virtual Box(5)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.02. 바로 가기 설정을 선택한다....
Oracle VM Virtual Box(6)  www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0설치 중에 네트워크 연결이 끊길 수...
Oracle VM Virtual Box(7)  www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0설치할 준비가 되었다는 안내이다. ...
Oracle VM Virtual Box(8)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0설치 중...    www.har...
Oracle VM Virtual Box(9)  www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0설치가 완료 되었다.   www.h...
Oracle VM Virtual Box(10)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 버추얼박스 확장 기능 패키지 ...
Oracle VM Virtual Box(11)    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0PUEL 라이선스를 동의 하라...
Installing Ubuntu With VirtualBox(1)  www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0새 가상 머신...
Installing Ubuntu With VirtualBox(2)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0가상 머신 ...
Installing Ubuntu With VirtualBox(3)  www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0새 가상 머신...
Installing Ubuntu With VirtualBox(4)    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0새 가상 ...
Installing Ubuntu With VirtualBox(5)  www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0새 가상 머신...
Installing Ubuntu With VirtualBox(6)  www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0새 가상 머신...
Installing Ubuntu With VirtualBox(7)  www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0새 가상 머신...
Installing Ubuntu With VirtualBox(8)  www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0새 가상 머신...
Installing Ubuntu With VirtualBox(9)  www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0새 가상 머신...
Installing Ubuntu With VirtualBox(10)  www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0새 가상 머...
Installing Ubuntu With VirtualBox(11)           www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev...
Installing Ubuntu With VirtualBox(12)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Ubunt...
Installing Ubuntu With VirtualBox(13)  www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0설치 가상 ...
Installing Ubuntu With VirtualBox(14)    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0아래 링...
Installing Ubuntu With VirtualBox(15)  www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0가상이미지 ...
Installing Ubuntu(1)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0언어 설정를 한국어 선택하고, Ubunt...
Installing Ubuntu(2)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Ubuntu 깔면서 업데이트 확인 하고,...
Installing Ubuntu(3)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0디스크를 지우고 Ubuntu 깔기, 시간...
Installing Ubuntu(4)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0글자판 배치, 계정 이름 , 비밀 번호 ...
Installing Ubuntu(5)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0깔기 중 …   www.hardkerne...
Installing Ubuntu(6)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0다 깔렸으며, 컴퓨터를 다시 시작   w...
Installing Ubuntu(7)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0불완전한 언어 지원 : 이미 설치되어진 ...
Installing Ubuntu(8)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0게스트 확장 설치   www.hardke...
Installing Ubuntu(9)    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Terminal 실행하기    www....
안드로이드 시스템 build를 위한 추가 프로그램 설치(1)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Terminal에...
안드로이드 시스템 build를 위한 추가 프로그램 설치(2)        www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0필수 꾸...
안드로이드 시스템 build를 위한 추가 프로그램 설치(3)    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0아래의 명령을 ...
안드로이드 시스템 build를 위한 추가 프로그램 설치(4)     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0아래의 명령을...
안드로이드 시스템 build를 위한 추가 프로그램 설치(5)    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Sourcery...
안드로이드 시스템 build를 위한 추가 프로그램 설치(6)    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Sourcery...
안드로이드 시스템 build를 위한 추가 프로그램 설치(7)    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Sourcery...
안드로이드 시스템 build를 위한 추가 프로그램 설치(8)    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Sourcery...
안드로이드 시스템 build를 위한 추가 프로그램 설치(9)    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Sourcery...
안드로이드 시스템 build를 위한 추가 프로그램 설치(10)     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 Sourc...
안드로이드 시스템 build를 위한 추가 프로그램 설치(11)     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 Sourc...
안드로이드 시스템 build를 위한 추가 프로그램 설치(12)     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 Sourc...
안드로이드 시스템 build를 위한 추가 프로그램 설치(13)     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 Sourc...
Cross compile 환경설정     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0  cd ~.bashrc  gedit ~...
ODROID와 USB 통신설정    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0GNU/Linux 시스템에서 기본적으로 일반 ...
VirtualBox 사용 팁   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0VirtualBox에서는 모든 USB장치들을 마운...
이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. www.hardkernel.com Rev1.0                            Android SDK 설치하기   ...
Agenda    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Ubuntu에서 Eclipse 설치하기Android SDK설치하...
Ubuntu에서 Eclipse 설치하기(1)     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0http://developer...
Ubuntu에서 Eclipse 설치하기(2)      www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0  Eclipse를 처음 실...
Ubuntu에서 Eclipse 설치하기(3)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Help->Install New ...
Ubuntu에서 Eclipse 설치하기(4)     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Add… 누르고 http://...
Ubuntu에서 Eclipse 설치하기(5)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0전체를 선택하고 Next를 누른다...
Ubuntu에서 Eclipse 설치하기(6)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0업데이트를 시작한다. 업데이트가 ...
Android SDK설치하기(1)    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Help -> Install New Sof...
Android SDK설치하기(2)     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0https://dl-ssl.google....
Android SDK설치하기(3)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Next를 누르고 I accept… 를 선택...
Android SDK설치하기(4)  www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0소프트웨어가 설치되고 경고메세지가 뜬다. OK...
Android SDK설치하기(5)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0업데이트가 끝나면 Restart Now를 한...
Android SDK설치하기(6)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Yes를 선택하고 Finish를 누른다. 설...
Android SDK설치하기(7)   www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Accept All을 선택하고 Install...
Android SDK설치하기(8)  www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0설치되고 있는 중이다.  www.hardker...
Android SDK path 환경변수 설정        www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0.bashrc gedit...
Android SDK 정의(1)            www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0공식 Google releas...
Android SDK정의(2)         www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Application Framewor...
Android SDK(3)          www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Application Framework...
Sample app     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0제시된 어플리케이션 예제는 유닛 컨버터 이다. 동작 방...
이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. www.hardkernel.com Rev1.0            Compile ODROID-A4 U-boot and instal...
Agenda    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0ODROID-A4 U-Boot Source 준비하기U-Boot ...
ODROID-A4 U-Boot Source 준비하기          www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0       ...
U-Boot Build          www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0                       ...
ODROID-A4의 Boot Device Partition의 구조          www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1....
U-Boot BL1 구조             www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0    Build되어진 u-boot...
U-Boot BL1 생성        www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0                        ...
U-Boot Fusing(1)     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Uboot Fusing에 사용될 T-Flas...
U-Boot Fusing(2)      www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Host PC(Linux)에서 fdisk ...
U-Boot Fusing(3)            www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0     Host PC(Linu...
Debugging 환경 설정(1)       www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0          Host PC(Li...
Debugging 환경 설정(2)www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0   Host PC(Linux)에 Serial T...
Debugging 환경 설정(3)     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Host PC(Linux)에서 ls co...
Debugging 환경 설정(4)    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Minicom 환경 설정 (minicom ...
Debugging 환경 설정(5)       www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Minicom Serial port ...
Debugging 환경 설정(6)    www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0환경설정 저장 및 minicom 실행   ...
Debugging 환경 설정(7)www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0                 Minicom 초기...
Debugging 환경 설정(8)     www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Minicom 종료            ...
U-Boot 실행      www.hardkernel.com   이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0    TARGET(ODROID-A4)의 Power O...
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Exynos4210 beginnerrev10
Upcoming SlideShare
Loading in …5
×

Exynos4210 beginnerrev10

2,979 views

Published on

  • Be the first to comment

  • Be the first to like this

Exynos4210 beginnerrev10

  1. 1. 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. www.hardkernel.com Rev1.0 삼성 Exynos-4210 듀얼코어 프로세서로 배우는 안드로이드 플랫폼 학습 www.hardkernel.com 1
  2. 2. Agenda www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.00. 시작하기에 앞서1. 기초 과정: 안드로이드 플랫폼을 빌드하고 수정하는 방법2. 중급 과정: 안드로이드 기반의 임베디드 시스템 구성 및 API활용3. 하드웨어 확장 및 활용4. 부록 Google Open Accessory Library www.hardkernel.com 2
  3. 3. 시작하기에 앞서(1) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0본 과정은 ODROID-A4를 사용하여 안드로이드 시스템 개발에서부터 앱 개발까지의 과정을 포함하고 있다.ODROID-A4는 안드로이드 OS가 설치되어진 8GB T-Flash카드와 시스템을 디버깅할 수 있는 디버그보드, 컴퓨터와 통신할 수 있는 TTA20 to USB케이블로 구성되어 있다. www.hardkernel.com ODROID-A4 IO Board (별도판매)안드로이드 시스템을 개발하기 위해서는 USB to Serial변환장치가 별도로 필요하다.옆의 사진은 전 과정을 수행하기 위한 개발환경이다.기초과정에서는 Debug Board를 바로 ODROID-A4에 연결하여 사용하면 된다. 3
  4. 4. 시작하기에 앞서(2) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0본 과정은 ㈜하드커널의 엔지니어들에 의해 초안이 만들어지고 비엔지니어가 검증을했다. 많은 시행착오가 있었고, 따라하는 사람들의 시행착오를 최소화하고자 노력을많이 했다. 그러나… 컴퓨터에 환경에 따라 바뀌는 요소들은 구글링으로 열심히 찾아보는 것만이 유일한 방법이었다.혹시라도 진행하다 환경설정이 안되는 곳은 구글링을 해서 방법을 찾자. 이 글을 작성 www.hardkernel.com하고 검증한 사람들의 PC에서 나타나지 않은 부분은 해결해주기 어렵다.개발환경과 안드로이드 버전이 지속적으로 업그레이드 되고 있다. 이 글을 작성한 시점이 2012년 3월이라는 점을 감안하자.환경설정이 끝나고 본 개발에 있어서 궁금한 내용은 게시판에 질문을 남기자. 단, 다른사람이 한 질문 중에 내가 아는 답이 있으면 꼭 답을 달아주자. 혹시 아는가? 답을 잘달아주는 사람은 하드커널에서 선물이라도 보내줄지.http://com.odroid.com/sigong/nf_board/nboard.php?brd_id=odroidaf 4
  5. 5. 용어설명(1) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0안드로이드 : 휴대 전화를 비롯한 휴대용 장치를 위한 운영 체제와 미들웨어, 사용자 인터페이스 그리고 표준 응용 프로그램(웹 브라우저, 이메일 클라이언트, 단문 메시지 서비스(SMS), 멀티미디어 메시지 서비스(MMS)등)을 포함하고 있는 소프트웨어 스택이자 모바일 운영 체제이다. 안드로이드는 개발자들이 자바 언어로 응용 프로그램을 작성할 수 있게 하였으며, 컴파일된 바이트코드를 구동할 수 있는 런타임 라이브러리를 제공한다. 또한 안드로이드 소프트웨어 개발 키트(SDK: SoftwareDevelopment Kit)를 통해 응용 프로그램을 개발하기 위해 필요한 각종 도구들과 응용 프로그램 프로그래밍 인터페이스(API)를 제공한다. NDK(Native Development Kit)은 C/C++로 응용 프로그램을 개발할 수 있는 컴파일러/라이브러리/디버거로 구성 www.hardkernel.com되어, SDK에 추가로 설치하여 개발에 사용한단.안드로이드는 리눅스 커널 위에서 동작하며, 다양한 안드로이드 시스템 구성요소에서 사용되는 C/C++ 라이브러리들을 포함하고 있다. 안드로이드는 기존의 자바 가상 머신과는 다른 가상 머신인 달빅가상 머신을 통해 자바로 작성된 응용 프로그램을 별도의 프로세스에서 실행하는 구조로 되어 있다. 구글은 안드로이드의 모든 소스 코드(PDK: Platform development kit)를 오픈 소스 라이선스인 아파치 v2 라이선스로 배포하고 있어 기업이나 사용자는 각자 안드로이드 프로그램을 독자적으로 개발을 해서 탑재할 수 있다. 안드로이드는 지속적으로 버전업되고 있으며, 2011년 말에 Android 4.0 Ice Cream Sandwich(ICS)가 출현하였다.오드로이드 (ODROID) : Open + Android 합성어. 안드로이드와 관련된 솔루션을 만드는 (주)하드커널의 제품 브랜드 이름.ADB : Android Debug Bridge의 약자로, 안드로이드 어플리케이션 등을 개발할 때 에뮬레이터 혹은 실제 안드로이드폰과 인터페이스를 하여 여러가지 작업을 진행할때 안드로이드 관련 장치들을 조작할 수 있는 다리 역할을 하는 것이다. 주로 파일을 복사하거나 시스템/응용프로그램 상황을 모니터링/디버깅하는데 사용한다. 개발용 컴퓨터에 해당 USB 디바이스 드라이버를 설치하여야 하며, OS에 따라 설치 방법이 다르다. 5
  6. 6. 용어설명(2) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Fastboot : Fastboot는 개발 전용 통신 프로토콜로 OS관련 자료가 저장된 플래시 메모리를 수정하는데 사용하고, 부트로더에Fastboot기능을 포함시킨다. 새로 변경해서 빌드된 안드로이드 시스템 파일을 USB를 통해 전송할 때 Fastboot를 사용한다.내부에서는 ADB 프로토콜의 일부분을 사용하고 있다. ADB용 USB 드라이버와는 별도로 Fastboot용 드라이버 설정이 필요하다.임베디드 시스템 : 임베디드 시스템(Embedded system, 내장형 시스템)은 컴퓨터 시스템으로 한가지 또는 몇 가지의 기능만수행되도록 설계된 것인데 때로 실시간 계산 제한이 따른다. 하드웨어와 기계 부분을 포함하는 전체 장치의 일부로 내장된다. www.hardkernel.com시스템을 동작시키는 소프트웨어를 하드웨어에 내장하여 특수한 기능만을 수행하게 되는 컴퓨터 시스템인 것이다. 일반적으로 "임베디드 시스템"이란 용어는 엄밀하게 정의된 것은 아닌 것이, 대부분의 시스템은 어느 정도의 확장성 또는 재프로그램능력을 갖추고 있다. 예를 들어 스마트폰은 임베디드 시스템과 유사한 운영 체제와 프로세서를 사용할 수 있지만, 다른 응용 프로그램을 설치하거나 다른 주변장치를 연결하는 것이 허용된다. 더 나아가서 재프로그램성을 주요 기능으로 임베디드 시스템도 보통 소프트웨어 업데이트를 지원할 필요가 있다.리눅스 : 컴퓨터 운영 체제이며, 그 커널을 뜻하기도 한다. 리눅스는 자유 소프트웨어와 오픈 소스 개발의 가장 유명한 표본으로 들 수 있다. 리눅스는 다중 사용자, 다중 작업(멀티태스킹), 다중 스레드를 지원하는 네트워크 운영 체제(NOS)이다.엄밀하게 따지면 이 ‘리눅스’라는 용어는 리눅스 커널만을 뜻하지만, 리눅스 커널과 GNU 프로젝트의 라이브러리와 도구들이포함된, 전체 운영 체제(GNU/리눅스라고도 알려진)를 나타내는 말로 흔히 쓰인다.처음에 인텔 386 마이크로프로세서를 위해 개발되었으나 현재는 다양한 컴퓨터 아키텍처를 지원한다. 리눅스는 개인용 컴퓨터에서부터 슈퍼컴퓨터는 물론 휴대 전화, 개인용 비디오 레코더와 같은 임베디드 시스템까지 광범위하게 이용되고 있다. 안드로이드의 커널은 표준 리눅스를 아주 일부분만 변경하여 사용하고 있다. 6
  7. 7. 용어설명(3) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0임베디드 리눅스 : 임베디드 리눅스(Embedded Linux)는 휴대전화, 개인 정보 단말기(PDA), 미디어 플레이어, 셋톱 박스, 그 밖의 가전 기기, 네트워킹 장비, 기계 제어, 자동화, 내비게이션 장비, 의료 기구와 같은 임베디드 컴퓨터 시스템에서의 리눅스를 이용하는 일이다.어플리케이션 프로세서 (Application Processor) : 스마트 기기에 들어가는 고집적 CPU를 어플리케이션 프로세서(AP)라고 부른다. 삼성전자의 Exynos, TI의 OMAP, Freescale의 i.MX 등등 많은 제조사에서 AP를 만들고 있다. 하드커널의 ODROID 기기는 주로 삼성의 ExynosAP를 기반으로 하고 있음Exynos : 삼성에선 만드는 AP의 브랜드 이름입니다. 그리스어로 "스마트" + "그린" 이라는 두 단어를 합성한 엑시노스. 엑시노스는 삼성 갤 – www.hardkernel.com럭시 폰과 ODROID 시리즈에 탑재되어 그 높은 성능이 널리 알려졌다. Exynos3110은 S5PC110/S5PV210으로 ARM Cortex-A8 싱글 코어 – S5PC110은 512MByte의 모바일 DDR RAM이 PoP(Package on Package)형태로 칩위 내장되어 있고, – S5PV210은 SCP(Single Chip Package)로 외부에 DRAM을 연결하여야 한다. – S5PC110은 갤럭시S 및 갤럭시탭(7인치)에 탑재되었다. – Exynos4210은 S5PC210/S5PV310으로 ARM Cortex-A9 듀얼 코어 – S5PC210은 1GByte의 저전력(Low power) DDR2 RAM이 PoP(Package on Package)형태로 칩위 내장되어 있고, – S5PV310은 SCP(Single Chip Package)로 외부에 DRAM을 연결하여야 한다. – S5PC210은 갤럭시 S2 및 해외용 갤럭시 노트에 탑재되었다. 7
  8. 8. 용어설명(4) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0안드로이드 플랫폼 빌드 : 부트로더, 리눅스 커널, 안드로이드 소스 코드를 안드로이드 기기에 전송할 수 있는 형태로 컴파일하는 과정을 말한다. 안드로이드 빌드는 윈도우즈 계열의 OS에서는 불가능하여 리눅스나 맥OS같은 유닉스 계열에서 수행한다. 구글은 공식적으로 Ubuntu라는 리눅스 배포판에서 안드로이드 빌드를 지원하고 있다.호스트 PC : 플랫폼을 빌드하고 안드로이드 기기와 통신을 할 수 있는 개발용 컴퓨터를 호스트 PC라고 부른다. 보통은 우분투리눅스 배포판을 설치하여 사용하고, 스스로 문제 해결이 가능하고 익숙하다면 다른 리눅스 배포판도 가능하다. 최신 안드로이드 4.0 ICS의 경우 인텔 i5 쿼드코어 프로세서 기반의 쿼드코어 프로세서에서 2시간 이상의 빌드 시간이 필요한 경우도 있다 www.hardkernel.com. 따라서 코어가 많고 클럭이 빠른 최신 프로세서로 Host PC를 구성할 필요가 있다. ADB/Fastboot를 위한 USB 포트와는 별도로 콘솔 통신을 위한 RS232C 포트가 필요하다.RS232C 포트가 내장된 컴퓨터는 거의 없으므로, USB형 RS232C 어댑터를 별도로 구입해야만 한다. "USB Serial", "USB RS232" 등으로 검색하면 저렴한 제품들이 시중에 많이 있다. 오드로이드의 경우디버그 보드를 본체에 꽂고 RS232를 연결한다.콘솔 통신 : 시리얼 통신, TTY 통신, 시리얼 모니터링, 시리얼 터미널 등등 다양한 이름으로 불리고 있으며, 일반적으로 개발보드에 탑재된 프로세서의 직렬(UART) 통신 포트와 호스트 PC의 직렬 통신 포트를 연결하여 보드의 상태를 점검하거나 개발에 필요한 명령어/데이터를 보내고 그 결과를 볼 수 있는 기본적인 통신을 말한다. 호스트 PC에는 minicom이나 그래픽 UI가가능한 PuTTY같은 프로그램을 이용한다. PuTTY는 리눅스/윈도우용이 모두 있다. 일반적으로 직렬 통신 설정은 115200-N81이며, Hardware 흐름 제어는 사용하지 않는다.http://www.plugcomputer.org/plugwiki/index.php/Serial_terminal/Linux/Programs 8
  9. 9. 용어설명(5) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0안드로이드 플랫폼 개발 보드 : 안드로이드 플랫폼을 이식하여 실행시킬 수 있는 고성능 프로세서, 대용량 RAM과 플래시(Flash) 메모리, 디스플레이, 통신 장치, 각종 입출력 버스 및 부가 요소로 구성된 기기를 말하며 회로 PCB와 각종 부품이 조립된 형태이다. 전체 회로도와 주요 부품에 대한 자료가 제공되어 응용 기기를 만들 수 있도록 도와주며, 안드로이드와 유기적으로 동작 가능한 각종 장치들을 구동할 수 있는 드라이버 및 플랫폼 소스코드를 포함한다. 구매할때 최신 장치들이 다양하게 장착되어 있는지 확인이 필요하고, BSP 업데이트 이력과 커뮤니티에 의한 지원이 가능한지도 점검해 본다.BSP : 임베디드 시스템에서 BSP(Board Support Package)는 특정 AP와 개발 보드를 지원하는 운영체제 및 관련 소프트웨어 www.hardkernel.com묶음을 말한다. 부트로더, 커널, 운영체제의 소스 코드와 AP 내부 및 외부 추가 장치들을 운영하는 드라이버 소스 코드로 구성되어 있다. 루트 파일 시스템(Root File System), 툴 체인(toolchain) 그리고 각종 장치를 위한 설정이 함께 지원된다.루트 파일 시스템 (Root File System : RFS) : 커널 부팅 직후 가장 먼저 마운트(연결)하여 설정/로그인/초기화에 필요한 파일들과 시스템 라이브러리, 개발 지원 유틸, 사용자를 위한 각종 파일과 어플리케이션용 파일들이 모여 있는 것을 루트 파일 시스템이라고 부른다. 안드로이드 루트 파일 시스템은 일반적으로 램디스크 이미지와 System partition으로 구성된다.툴체인 : 컴파일러, 링커, 디버거와 같은 개발용 툴의 묶음을 툴체인(Tool-chain)이라고 한다. 안드로이드 OS 소스는C/C++/JAVA로 구성되어 있으며, 무료로 공개된 GNU 컴파일러 및 Oracle의 Java를 툴체인을 사용하고 있다. 그 외에도 빌드과정을 자세히 보면 Python이나 Perl도 설정과 패키징에 사용되고 있다는 것을 알 수 있다. 9
  10. 10. 용어설명(6) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0플래시(Flash) 메모리 : 비휘발성 메모리로 전원이 차단되어도 기록된 내용이 계속 유지된다. 반도체 구성에 따라 다양한 제품 존재하나, 최근에는 대용량 구성에 유리한 NAND 구조의 메모리와 이를 지원하는 컨트롤러가 합체된 형태의 제품이 널리사용된다. eMMC/SD/MicroSD/SSD 등등 반도체 메모리 기반의 저장 장치들이 그렇다. 오드로이드 시리즈에서는 크기가 작고착탈이 가능한 Micro-SD 카드를 이용하고 있다. 이 카드에 부트로더, 커널, 램디스크, 안드로이드 시스템까지 모두 기록한다.저렴하고 구입이 쉬워 유지보수가 편리하고, JTAG같은 고가의 장비없이 저렴한 "메모리 카드 리더기" 만으로 부트로더 기록이 가능하다. www.hardkernel.com램디스크 : 전원이 꺼지면 내용이 사라지는 램의 속성을 갖고 있는 가상의 디스크 장치를 말한다. 안드로이드에서는 미리 호스트 PC에서 만들어진 램 디스크 이미지를 플래시 메모리에 저장해 놓고, 부팅하면서 램으로 복사해서 사용한다. 따라서 램디스크 내용은 사용중에 변경해도 전원을 다시 켜면 초기 상태로 돌아가게 된다. 이 덕분에 시스템이 안정적으로 복원 가능하며 보안에도 강해질 수 있다. 또한 읽기/쓰기 속도가 빨라 부팅속도나 운영속도를 많이 올려준다. 그렇다고해서 크기를 너무 크게만들면 실제 OS나 응용프로그램이 사용할 메모리(램)공간이 줄어들게 되므로 적절한 사이즈로 만들어야 한다. 안드로이드에서 램디스크는 / root directory이며 init.rc같은 초기화 스크립트 및 시스템 관련 파일들로 구성되어 있으며, 빌드하는 과정에서램디스크 이미지 파일에 자동으로 포함된다.무선랜 : IEEE 802.11은 흔히 무선랜, 와이파이(Wi-Fi)라고 부르는 좁은 지역(Local Area)을 위한 컴퓨터 무선 네트워크에 사용되는 기술로, IEEE의 LAN/MAN 표준 위원회 (IEEE 802)의 11번째 워킹 그룹에서 개발된 표준 기술을 의미한다. 주파수 대역과 속도에 따라 a/b/g/n 으로 구분된다. 안드로이드에서는 AP를 통한 인터넷 통신뿐 아니라, 이동통신 데이터 망을 공유할수 있는 모바일 AP기능, 고속으로 1:1 통신이 가능한 WiFi-Direct 등 최신 응용 기술들이 탑재되고 있다. 10
  11. 11. 용어설명(7) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0블루투스 : IEEE 802.15.1 규격을 사용하는 블루투스는 PANs(Personal Area Networks)의 산업 표준이다. 블루투스는 다양한기기들이 안전하고 저렴한 비용으로 전 세계적으로 이용할 수 있는 무선 주파수(ISM 대역인 2.45GHz)를 이용해 서로 통신할수 있게 한다. 안드로이드 블루투스 프레임웍은 리눅스 표준으로 사용되는 Bluez Stack을 기반으로 동작한다. RFCOMM 기반의 안드로이드 API가 제공되어 SPP를 지원하는 주변장치와의 데이터 통신을 간단히 구현할 수 있다. 802.11 PAL(ProtocolAdaptation Layer)를 채용해서 속도를 최대 24Mbps로 향상시킨 블루투스 3.0이 일부 안드로이드 기기에 도입되었으나, 블루투스 로우 에너지를 포함한 4.0의 적용은 현재 이루어 지지 않고 있다. www.hardkernel.comUSB (Universal Serail Bus) : 안드로이드에서 USB는 파일전송을 위한 Mass Storage 기능외에도, ADB/Fastboot와 같은 개발에 꼭 필요한 인터페이스로 사용된다. 휴대폰에서는 내부 배터리 충전을 위한 전원 소스로 사용되기도 한다. 호스트 기능을 탑재된 안드로이드 기기도 점차 많아지고 있는 추세이다.ADK (Accessory Development Kit) :구글의 Open Accessory Library를 이용해서 스마트 기기용 주변장치를 개발할 수 있는 하드웨어/펌웨어 기반의 키트를 의미한다. 일반적으로 안드로이드 기기에 내장된 USB-device포트와 ADK에 내장된 MCU의USB-host 포트를 연결하여 통신을 한다.GPIO (General Purpose Input Output) : 범용 입출력 포트로 0과 1 디지털 값에 의해 하드웨어 핀의 상태를 변경하거나 읽을수 있다. 다용도 입출력 포트(GPIO)를 소프트웨어와 연동시키면 전기적 입력을 받거나 출력으로 특정 디바이스를 제어하게할 수 있다. 간단한 LED 제어 및 키/버튼 입력을 포함해서 대부분의 전기적 On/Off 입출력이 필요한 곳에 사용된다. 11
  12. 12. 용어설명(8) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0인터럽트 (Interrupt) : 실행 중인 프로그램을 일시 중단하고 다른 프로그램을 끼워 넣어 실행시키는 것. 인터럽트 요인이 되는조건이 생겼을 때 실행 중인 프로그램을 중단하여 강제적으로 특정한 주소로 제어를 옮기고, 준비되어 있는 인터럽트 처리 프로그램을 실행시키며, 그 처리가 끝나면 원래의 프로그램으로 되돌아가서 계속 실행시킨다. 프로그램 처리의 효율화, 입출력장치의 동시 동작 온라인 처리의 효율화를 기할 수 있다. 인터럽트 요인의 종류로는 입출력 하드웨어 인터럽트, 타이머 인터럽트, 프로그램에 의한 소프트웨어 인터럽트, 워치독 호출, 장해 인터럽트 등이 있다. 안드로이드 시스템에는 수십가지 이상의인터럽트와 해당 서비스(인터럽트 처리 프로그램)가 동작하고 있다. www.hardkernel.comUART (universal asynchronous receiver transmitter) :비동기 통신 방식으로 모뎀이나 기타 다른 직렬 장치들과 통신하거나 데이터를 주고받을 수 있게 한다. UART는 병렬 데이터를 직렬 비트 스트림으로 변환, 또는 복원하고, 패리티 비트를 추가하거나패리티를 검출, 제거하며, 비동기 통신을 위해 시작 비트와 정지 비트를 추구하고 삭제하는 기능들을 수행한다. 또한, UART직렬 통신 측의 속도와 중앙 처리 장치(CPU) 속도에는 큰 차이가 있어 완충기(buffer)를 내장하기도 한다 안드로이드 기기에서는 블루투스, GPS, 디버그 포트 등 3개 이상의 UART가 사용되고 있다.I2C (Inter Integrated Circuit, "I Square C") : I2C 는 필립스(NXP)에서 개발한 인터페이스 방식으로 소자간 통신으로 널리 사용되는 버스 중 하나이다. 속도면에서는 다른 방식에 비하여 느리지만 하드웨어적으로 간단한 구성과 대화형 프로토콜을 만들수 있고 하나의 버스에 많은 수의 노드를 연결 할 수 있다는 큰 장점이 있다. 100Khz/400Khz 두가지 속도가 표준이다. 안드로이드에서는 카메라 제어, 각종 센서, 배터리 게이지, 터치스크린, PMIC 전원 제어, 진동 모터 드라이버 등등 10여 종류 이상의장치들이 I2C 인터페이스를 사용하고 있다. 12
  13. 13. 용어설명(9) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0I2S (Integrated Interchip Sound, "I Square S") : Digital Audio 장치의 직렬 BUS 표준 통신(인터페이스) 방법을 의미한다. 사운드 입출력(이어폰,스피커,마이크)을 담당하는 오디오 코덱 IC를 연결하여 데이터를 주고 받는데 이용하는 동기 방식의 시리얼 통신이다. 모바일/스마트기기에서는 PCM 인터페이스나 AC97 인터페이스 보다는 I2S 인터페이스가 보편적으로 사용된다.SDIO (Secure Digital Input Output) : SDA 협회에서 만든 인터페이스 방식으로 주로 SD/SDHC 메모리카드를 연결하기위해 사용한다. 무선랜 칩과 어플리케이션 프로세서를 연결하기 위해서도 SDIO가 사용되고 있다. 이론적으로 4비트 데이터 통신의 경우 25Mhz 클럭일때 최대 100Mbps까지 전송 가능하다.PWM (Pulse Width Modulation) : PWM 은 Pulse Width Modulation의 약자로 펄스폭 변조 라고 한다. 이는 On Off의 비율을 변화 시켜서 제어하는 방법으 www.hardkernel.com로 모터의 속도 제어나 LED등 조명 제품들의 조광(광량제어)등에 많이 사용된다. 디지털 방식으로 아날로그를 표현할 수 있어 편리하게 사용할 수 있다.PWM의 주기 중에서 높은 전원으로 동작하는 부분이 넓어지면 LED의 밝기가 더 밝아지게 된다. 이런 방법으로 안드로이드 LCD 디스플레이 장치의 백라이트를 밝기를 제어 할 수 있다.ADC (Analog Digital Converter) : AD 컨버터(Analog-digital converter)는 연속된 아날로그 입력을 불연속의 디지털 출력으로 변환하는 회로이다. 자연계의여러 가지 신호는 대부분 신간에 따라 아날로그적(연속적)으로 변화한다. 우리는 이 신호들을 시간에 따라 그 크기를 알아내야 할 필요가 있으며 그 값들을 프로세서를 통해 처리하고 분석하기도 한다. 이 아날로그 신호를 프로세서에서 처리할 수 있는 디지털 값으로 변환해 주는 장치가 AD 컨버터 이다.루팅 (Rooting) : 일반적으로 안드로이드 응용프로그램에서 시스템 파일/장치를 제어하려면 권한이 필요하므로 init.rc이라는 초기화 스크립트에 해당 파일/장치의 권한(permission)을 변경하는 구문을 추가해서 개발한다. 그러나 개발 초기에 여러 파일/장치를 테스트하고 실험할 때 이런 과정이 번거롭게 느껴질 수 있다. 이럽 번거로운 과정없이 루팅을 적용한 개발 기기의 응용프로그램은 SuperUser 권한으로 안드로이드 시스템의 모든 파일 및 장치에 접근할수 있다. 13
  14. 14. 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. www.hardkernel.com Rev1.0 1. 기초 과정 : 안드로이드 플랫폼을 빌드하고 수정하는 방법 www.hardkernel.com 14
  15. 15. Agenda www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0ODROID-A4 SYSTEM 구성 및 Android Booting ProcessODROID-A4 안드로이드 시스템 개발환경 구축Android SDK 설치하기Compile ODROID-A4 U-boot and installCompile Kernel and install www.hardkernel.comBuild Android and installInstall NDK and make a simple app루팅의활용과 방법, 구글 모바일 서비스 테스트 15
  16. 16. 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. www.hardkernel.com Rev1.0 ODROID-A4 SYSTEM 구성 및 Android Booting Process www.hardkernel.com 16
  17. 17. Agenda www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0ODROID-A4 SYSTEM 구성ODROID-A4 Android boot process from power onODROID-A4 Bootloader loading processODROID-A4 Kernel/Ramdisk/Android loading process www.hardkernel.com 17
  18. 18. ODROID-A4 SYSTEM 구성 www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 Exynos 4210 SOC CAM I/F Carmera Cortex A9 - Dual IIS Audio codec DDR2 1GB Touchscreen www.hardkernel.com Boot device (SD/MMC) HS-MMC/SD/SDIO IIC Sensors VibratorWIFI/Bluetooth UART Regulator LCD I/F SPI GPIO Battery Monitor LCD Keypad Battery Charger BOOT Device DEBUG Port SDMMC Channel 2 UART 2 18
  19. 19. ODROID-A4 Android boot process from power on www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 ODROID Power on Bootloader Clock, Memory 초기화 및 Kernel, Ramdisk download. www.hardkernel.com Kernel MMU, Interrupt controller 초기화 및 스케줄링 설정. 주변 장치 드라이버 load 및 초기화. Init.rc parsing, System property 초기화 및 등록. Init 데몬 실행 및 System service 등록. Zygote Dalvik machine 초기화 및 실행. System Server 각각의 System Service 실행. 19
  20. 20. ODROID-A4 Bootloader loading process www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 DRAM Exynos 4210 SOC DRAM Controller Controller Cortax A9 Booting device 4 Nand 5 Onenand (SD/MMC) SD/MMC eMMC Uboot_bl1.bin www.hardkernel.com Security sub system USB OTG 3 2 Uboot.bin Internal ROM(64KB) Internal SRAM IROM (128KB) 1 OM(Operating Mode) PIN1. OM Pin을 읽어 Boot Device를 결정한다.2. Boot Device로 부터 BL1영역의 16Kbytes를 Internal SRAM에 복사한다.3. Security sub system으로 부터 16Kbytes의 BL1의 Checksum을 검사한다.4. Load되어진 BL1으로 부터 System clock 및 DRAM controller를 초기화 한다.5. Bootloader를 DRAM에 복사하고 실행한다. 20
  21. 21. ODROID-A4 Kernel/Ramdisk/Android loading process www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 DRAM Exynos 4210 SOC RAMDISK 3 Init Daemon DRAM KERNEL Controller Zygote UBOOT 1 4 5 Dalvik VM 6 Controller 2 Nand System Onenand Booting device server www.hardkernel.com SD/MMC (SD/MMC) eMMC System(EXT4) USB OTG KERNEL Runtime Data(EXT4) library RAMDISK Cache(EXT4) Service Normal Partition 7 registration Raw Partition VFAT 1. Uboot로 부터 Boot device의 Ramdisk영역을 읽어 DRAM에 복사한다. 2. Uboot로 부터 Boot device의 Kernel영역을 읽어 DRAM에 복사 및 실행한다. 3. Kernel은 Ramdisk를 mount하여 root에 있는 init을 실행한다. 4. Init에서는 Init.rc를 parsing하고 system property를 설정하며 Android에서 사용할 partition을 mount 한다. 5. Init.rc에 등록되어있는 각각의 Service를 실행한다. 6. Zygote가 실행되어 Dalvik VM을 초기화 하고 System server를 구동한다. 7. System server로 부터 각각의 Service들을 registration 한다. 21
  22. 22. 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. www.hardkernel.com Rev1.0 ODROID-A4 안드로이드 시스템 개발 환경 구축 www.hardkernel.com 22
  23. 23. Agenda www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0안드로이드 Build를 위한 시스템 사양Windows7 64-bit BIOS 설정변경Oracle VM Virtual BoxInstalling Ubuntu With VirtualBoxInstalling Ubuntu www.hardkernel.com안드로이드 시스템 build를 위한 추가 프로그램 설치Cross compile 환경설정ODROID와 USB 통신설정VirtualBox 사용 팁 23
  24. 24. 안드로이드 Build를 위한 시스템 사양 www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0안드로이드 시스템 개발은 Ubuntu 10.04 이상을 추천한다.Windows7 PC에서 개발하는 경우 Virtual Box라는 가상머신을 이용하여Ubuntu를 설치할 수 있다. 안드로이드 버전2.3부터는 64bit에서만 시스템Compile이 가능하다. www.hardkernel.com안드로이드 빌드 시간은 CPU, MEMORY ,I/O 의존적이다.시스템 사양 별 ICS 전체 빌드 시간– AMD FX8150 - 40분– Intel i7-3820 - 40분 , 4G으로 오버 클로킹 – 35분 , CCACHE 사용 – 23분 24
  25. 25. Windows7 64-bit BIOS 설정변경 www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0BIOS에 들어가 다음을 Enable로 설정을 바꿔준다. 그렇지 않을 경우VirtualBox 실행이 안되는 것으로 보인다. 다음 설정은 Intel CPU의 경우를 가정으로 한다.– Intel Virtualization Technology– Intel® I-OAT– Intel® VT-d www.hardkernel.com 25
  26. 26. Oracle VM Virtual Box(1) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0VirtualBox란? http://www.virtualbox.org/하나의 OS위에 다른 OS를 설치할 수 있게 해주는 Bridge 역할을 한다.2008년 2월 12일, 썬 마이크로시스템즈는 버추얼박스를 개발한 회사인 이노텍(Innotek)을 인수하였다. 2009년 4월 20일 오라클이 썬 마이크로시스템즈를 인수하면 www.hardkernel.com서 현재 Oracle VM VirtualBox로 배포되고 있다.현재 개발PC가 Windows7인 경우 Ubuntu를 설치하기 위해 VirtualBox를 먼저 설치한다.현재 개발PC가 Ubuntu인 경우는 이 과정을 생략한다. 26
  27. 27. Oracle VM Virtual Box(2) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0버추얼박스 플랫폼 꾸러미 다운로드아래의 링크에서 현재 사용중인 운영체제를 선택하여 다운 받는다.https://www.virtualbox.org/wiki/Downloads www.hardkernel.com 27
  28. 28. Oracle VM Virtual Box(3) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0다운 받은 설치 파일을 실행 한다. www.hardkernel.com Next 버튼을 누른다. 28
  29. 29. Oracle VM Virtual Box(4) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.01.설치할 구성 요소를 선택한다. www.hardkernel.com 그냥 Next 버튼을 꾹 누른다. 29
  30. 30. Oracle VM Virtual Box(5) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.02. 바로 가기 설정을 선택한다. www.hardkernel.com 그냥 Next 버튼을 꾹 누른다. 30
  31. 31. Oracle VM Virtual Box(6) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0설치 중에 네트워크 연결이 끊길 수 있다는 경고 안내이다. www.hardkernel.com 무시하고 그냥 Yes을 꾹 누른다. 31
  32. 32. Oracle VM Virtual Box(7) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0설치할 준비가 되었다는 안내이다. www.hardkernel.com 마음의 준비가 되었으면 Install을 꾹 누른다. 32
  33. 33. Oracle VM Virtual Box(8) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0설치 중... www.hardkernel.com 33
  34. 34. Oracle VM Virtual Box(9) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0설치가 완료 되었다. www.hardkernel.com Finish을 꾹 누른다. 34
  35. 35. Oracle VM Virtual Box(10) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 버추얼박스 확장 기능 패키지 다운로드 오픈소스 버전에서는 몇 가지 기능이 빠져 있기 때문에 운영체제에 상관없이 확장 팩 을 내려 받는다. www.hardkernel.com바로 실행하기를 하거나 다운받아서 확장 기능 패키지을 설치한다. 35
  36. 36. Oracle VM Virtual Box(11) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0PUEL 라이선스를 동의 하라는 안내입니다. www.hardkernel.com 맨 밑으로 스크롤을 하고 라이선스를 “동의합니다” 버튼을 누른다. 확장 기능 패키지 36
  37. 37. Installing Ubuntu With VirtualBox(1) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0새 가상 머신 만들기– 바탕화면에 설치된 VirtualBox를 실행한다. www.hardkernel.com 37
  38. 38. Installing Ubuntu With VirtualBox(2) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0가상 머신 생성 – 새로 만들기 www.hardkernel.com 38
  39. 39. Installing Ubuntu With VirtualBox(3) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0새 가상 머신 만들기 – 운영체제 이름과 종류 설정– 최신 안드로이드 버전을 개발하기 위해서는 반드시 Linux Ubuntu(64 bit)를 설치 해야만 하므로 그렇게 만들기로 한다. www.hardkernel.com 39
  40. 40. Installing Ubuntu With VirtualBox(4) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0새 가상 머신 만들기– 기본 메모리 크기 설정• 가상화 우분투의 용도에 따라서 설정 해야 하는 크기가 달라 질수 있으나 자신의 시스템의 사용크기를 생각해서 정하는 것이 좋다.• 안드로이드를 빌드 하기 위해서는 가능한 많이 잡는 것이 좋다. 만약에 시스템 메 모리가 충분하다면, 기본 메모리 크기 설정은 8192MB 이상의 설정을 권장한다.• 파란색 눈금을 넘어서 메모리 크기 www.hardkernel.com 를 설정하면, 호스트 PC의 시스템 메모리 부족으로, 호스트 PC가 느려 질 수 있다.• 메모리 크기 설정을 자기 시스템에 알맞은 크기를 정하고, 다음을 누른다. 40
  41. 41. Installing Ubuntu With VirtualBox(5) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0새 가상 머신 만들기– 새 가상 디스크 만들기 www.hardkernel.com 41
  42. 42. Installing Ubuntu With VirtualBox(6) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0새 가상 머신 만들기– 새 가상 디스크 파일 형식을 선택하기 www.hardkernel.com 42
  43. 43. Installing Ubuntu With VirtualBox(7) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0새 가상 머신 만들기– 새 가상 디스크 저장소 설정– 동적 크기로 선택하는 것이 컴파일이 더 빠르다. www.hardkernel.com 43
  44. 44. Installing Ubuntu With VirtualBox(8) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0새 가상 머신 만들기– 새 가상 디스크 파일 위치와 크기– 하드디스크 공간이 여유가 있다면, 100GB 정도를 할당 하는 것을 추천한다. www.hardkernel.com 44
  45. 45. Installing Ubuntu With VirtualBox(9) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0새 가상 머신 만들기– 다음 설정을 사용하여 새 가상 디스크를 만든다 www.hardkernel.com 45
  46. 46. Installing Ubuntu With VirtualBox(10) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0새 가상 머신 만들기– 가상 디스크를 만들기가 진행중이다. www.hardkernel.com 46
  47. 47. Installing Ubuntu With VirtualBox(11) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 새 가상 머신 만들기– Ubuntu11.10로 가상 디스크 만들기 완료 이제 일부 설정을 변경해 주어야 한다. [설정]을 누른다. www.hardkernel.com! 참고 : 2012년 3월 현재 Ubuntu12.04로 진행하고자 하였으나, 빌드가 안되는 문제가 있어서 11.10으로 진행한다. 설치과정은동일하다. 47
  48. 48. Installing Ubuntu With VirtualBox(12) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Ubuntu11.10 설치 이미지 설정 www.hardkernel.com 48
  49. 49. Installing Ubuntu With VirtualBox(13) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0설치 가상 디스크 이미지 선택하기 www.hardkernel.com 49
  50. 50. Installing Ubuntu With VirtualBox(14) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0아래 링크에서 내려 받은 이미지를 선택– http://ubuntu.com/download/ubuntu/download www.hardkernel.com 50
  51. 51. Installing Ubuntu With VirtualBox(15) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0가상이미지 부팅 시작하기 www.hardkernel.com 51
  52. 52. Installing Ubuntu(1) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0언어 설정를 한국어 선택하고, Ubuntu 깔기 www.hardkernel.com 52
  53. 53. Installing Ubuntu(2) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Ubuntu 깔면서 업데이트 확인 하고, 까는 유형 선택 하기 www.hardkernel.com 53
  54. 54. Installing Ubuntu(3) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0디스크를 지우고 Ubuntu 깔기, 시간 대 선택 www.hardkernel.com 54
  55. 55. Installing Ubuntu(4) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0글자판 배치, 계정 이름 , 비밀 번호 설정– 이 비밀번호는 관리자 권한으로 계속 확인이 필요하므로 잊어버리지 않도록 해야 한다. www.hardkernel.com 55
  56. 56. Installing Ubuntu(5) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0깔기 중 … www.hardkernel.com 56
  57. 57. Installing Ubuntu(6) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0다 깔렸으며, 컴퓨터를 다시 시작 www.hardkernel.com 57
  58. 58. Installing Ubuntu(7) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0불완전한 언어 지원 : 이미 설치되어진 경우 메시지가 안나올 수도 있다. www.hardkernel.com 58
  59. 59. Installing Ubuntu(8) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0게스트 확장 설치 www.hardkernel.com 59
  60. 60. Installing Ubuntu(9) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Terminal 실행하기 www.hardkernel.com 60
  61. 61. 안드로이드 시스템 build를 위한 추가 프로그램 설치(1) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Terminal에서 꾸러미(Package) 정보 갱신하고, 업그레이드 하기 – 아래의 명령어를 실행한다. sudo apt‐get update ‐‐yes && sudo apt‐get upgrade ‐‐yes www.hardkernel.com 61
  62. 62. 안드로이드 시스템 build를 위한 추가 프로그램 설치(2) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0필수 꾸러미 깔기 • Git 1.5.4 또는 그 이상 • JDK 1.6 • flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev (optional), build- essential, zip, curl, libgl1-mesa-dev. • www.hardkernel.com 아래의 명령을 한줄씩 실행한다. sudo apt‐get install git‐core gnupg flex bison gperf build‐essential sudo apt‐get install zip curl zlib1g‐dev libc6‐dev lib32ncurses5‐dev  sudo apt‐get install ia32‐libs x11proto‐core‐dev libx11‐dev xsltproc sudo apt‐get install lib32readline‐gplv2‐dev lib32z‐dev libgl1‐mesa‐dev  sudo apt‐get install  g++‐multilib mingw32 tofrodos python‐markdown libxml2‐utils • 더 자세한 설명은 http://source.android.com/source/initializing.html 에서 확인할 수 있다. 62
  63. 63. 안드로이드 시스템 build를 위한 추가 프로그램 설치(3) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0아래의 명령을 실행한다.Sun Java 6 깔기 sudo sudo apt‐get install python‐software‐properties&& sudo add‐apt‐repository ppa:ferramroberto/java && sudo apt‐get update  && sudo apt‐get install sun‐java6‐jdk sun‐java6‐plugin ‐‐yes – 위 터미널창의 내용을 전체 선택해서 붙여넣기를 한다. www.hardkernel.com – 화살표키로 확인을 선택하고 yes를 선택한다.Libx11-dev:i386 깔기 sudo apt‐get install libx11‐dev:i386 ‐‐yes 63
  64. 64. 안드로이드 시스템 build를 위한 추가 프로그램 설치(4) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0아래의 명령을 실행한다.GCC-4.4 깔기 sudo apt‐get install gcc‐4.4 g++‐4.4 g++‐4.4‐multilib  gcc‐4.4‐multilib ‐‐yes www.hardkernel.com echo "export CC=gcc‐4.4 CXX=g++‐4.4" >> ~/.bashrc source ~/.bashrcU-boot-tools 깔기 sudo apt‐get install u‐boot‐tools 64
  65. 65. 안드로이드 시스템 build를 위한 추가 프로그램 설치(5) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Sourcery G++ Lite 2010q1-188 for ARM GNU/Linux 깔기-1Ubuntu에서 Firefox브라우저에서 아래 링크에서 IA32 GNU/Linux Installer를 내려받기 https://sourcery.mentor.com/sgpp/lite/arm/portal/release1294 www.hardkernel.com 65
  66. 66. 안드로이드 시스템 build를 위한 추가 프로그램 설치(6) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Sourcery G++ Lite 2010q1-188 for ARM GNU/Linux 깔기-2 – 다운로드를 받으면 기본적으로 다운로드 폴더안에 저장된다. – 아래의 명령을 실행한다. 리눅스에 한영 전환 버튼 한영또는 Shift + space cd ~/다운로드 www.hardkernel.com sudo chmod a+x arm‐2010q1‐188‐arm‐none‐eabi.bin sudo dpkg‐reconfigure ‐plow dash 66
  67. 67. 안드로이드 시스템 build를 위한 추가 프로그램 설치(7) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Sourcery G++ Lite 2010q1-188 for ARM GNU/Linux 깔기-3 – 아니오 를 선택하고 Enter를 친다. www.hardkernel.com 67
  68. 68. 안드로이드 시스템 build를 위한 추가 프로그램 설치(8) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Sourcery G++ Lite 2010q1-188 for ARM GNU/Linux 깔기-4 – 아래의 명령을 실행한다. ./arm‐2010q1‐188‐arm‐none‐eabi.bin www.hardkernel.com 68
  69. 69. 안드로이드 시스템 build를 위한 추가 프로그램 설치(9) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Sourcery G++ Lite 2010q1-188 for ARM GNU/Linux 깔기-5 www.hardkernel.com 69
  70. 70. 안드로이드 시스템 build를 위한 추가 프로그램 설치(10) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 Sourcery G++ Lite 2010q1-188 for ARM GNU/Linux 깔기-6 www.hardkernel.com 70
  71. 71. 안드로이드 시스템 build를 위한 추가 프로그램 설치(11) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 Sourcery G++ 2010q1-188 for ARM GNU/Linux 깔기-7 www.hardkernel.com 71
  72. 72. 안드로이드 시스템 build를 위한 추가 프로그램 설치(12) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 Sourcery G++ Lite 2010q1-188 for ARM GNU/Linux 깔기-8 www.hardkernel.com 72
  73. 73. 안드로이드 시스템 build를 위한 추가 프로그램 설치(13) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 Sourcery G++ Lite 2010q1-188 for ARM GNU/Linux 깔기-9 www.hardkernel.com 73
  74. 74. Cross compile 환경설정 www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 cd ~.bashrc gedit ~/.bashrc www.hardkernel.com – geditor가 열리고 아래와 같이 추가해준다. – geditor 는 Ubuntu를 설치하면 자동으로 설치된다. export CROSS_COMPILE=arm-none-eabi- export ARCH=arm PATH=$PATH:/home/odroid/CodeSourcery/Sourcery_G++_Lite/bin; – 저장 후 나와서 위의 명령창에 변경사항 적용을 위해서 아래와 같이 입력한다. source ~/.bashrc 74
  75. 75. ODROID와 USB 통신설정 www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0GNU/Linux 시스템에서 기본적으로 일반 사용자가 USB 장치를 직접 접근 할수 없다. 접근 하기 위해서 설정이 필요하다.– /etc/udev/rules.d/51-android.rules 권리자 권한으로 생성한다. 아래의 명령을 실 행한다. sudo gedit /etc/udev/rules.d/51-android.rules www.hardkernel.com– geditor 창이 나타난다.– 아래 내용을 기입하고 저장한다. SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666"– 모든 사용자에게 읽기와 실행 권한을 준다. 아래의 명령을 실행한다. sudo chmod a+rx /etc/udev/rules.d/51-android.rules– udev 서비스를 다시 시작한다. 아래의 명령을 실행한다. sudo service udev restart 75
  76. 76. VirtualBox 사용 팁 www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0VirtualBox에서는 모든 USB장치들을 마운트 해줘야 사용이 가능하다.마운트하는 방법은 해당 장치들을 선택만 해주면 된다.예를 들면 USB장치가 연결이 되어있는데 adb가 연결이 되지 않았다면 USB장치를 마운트하지 않았나 확인해보자. www.hardkernel.com 76
  77. 77. 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. www.hardkernel.com Rev1.0 Android SDK 설치하기 www.hardkernel.com 77
  78. 78. Agenda www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Ubuntu에서 Eclipse 설치하기Android SDK설치하기Android SDK path 환경변수 설정Android SDK 정의Sample app www.hardkernel.com 78
  79. 79. Ubuntu에서 Eclipse 설치하기(1) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0http://developer.android.com 에서 Installing the SDK 참고. – Eclipse 설치하기 sudo apt‐get install eclipse ‐‐yes www.hardkernel.com – Eclipse 실행하기 eclipse 79
  80. 80. Ubuntu에서 Eclipse 설치하기(2) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 Eclipse를 처음 실행하면 아래와 같이 작업공간 경로 설정하는 화 면 나오고, 확인을 누리면, 하면 옆에 화면과 같이 Welcome 화면 이 뜬다. www.hardkernel.com다음 실행부터 작업 공간 경로 확인 절차를 넘 어 가려면 위 내용을 체크를 한다. 80
  81. 81. Ubuntu에서 Eclipse 설치하기(3) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Help->Install New Software… 를 누르면, 아래 와 같은 화면이 표시 된다. www.hardkernel.com 81
  82. 82. Ubuntu에서 Eclipse 설치하기(4) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Add… 누르고 http://download.eclipse.org/releases/indigo 를 Location에 입력 하고, Indigo를Name에 입력하고 확인을 누른다. Pending 상태에서 빠져 나올 때 까지, 경우에 따라서는 몇 십분이상 걸릴 수 있다. 맨 아래에 “Web.XML.Java EE and OSGI Enterprise Development LinuxTools”항목을 선택하고,Next를 누른다. www.hardkernel.com 82
  83. 83. Ubuntu에서 Eclipse 설치하기(5) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0전체를 선택하고 Next를 누른다. I accept … 를 선택하고 Finish를 누른다. www.hardkernel.com 83
  84. 84. Ubuntu에서 Eclipse 설치하기(6) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0업데이트를 시작한다. 업데이트가 끝나면 Restart Now를 클릭한다. www.hardkernel.com 84
  85. 85. Android SDK설치하기(1) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Help -> Install New Software 로 가서, Add 를 클릭을 한다. www.hardkernel.com 85
  86. 86. Android SDK설치하기(2) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0https://dl-ssl.google.com/android/eclipse/ OK를 누르고, Pending 상태에서 빠져 나오기 까를 Work with에 기입하고, Name은 ADT Plugin 지는 경우에 따라서는 수십 분 이상이 시간이 소을 기입하고 OK를 누른다. 문제가 있다면 https:// 요될 수 있다.를 http:// 으로 변경해 본다. 체크박스를 선택하고 Next를 누른다. www.hardkernel.com 86
  87. 87. Android SDK설치하기(3) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Next를 누르고 I accept… 를 선택하고, 라이선스에 동 Finish를 누른다. www.hardkernel.com 87
  88. 88. Android SDK설치하기(4) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0소프트웨어가 설치되고 경고메세지가 뜬다. OK를 누른다. www.hardkernel.com 88
  89. 89. Android SDK설치하기(5) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0업데이트가 끝나면 Restart Now를 한다. Install new SDK를 선택하고 Next를 누 른다. 어디에 설치했는지 잘 기억하자. www.hardkernel.com 89
  90. 90. Android SDK설치하기(6) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Yes를 선택하고 Finish를 누른다. 설치한다. www.hardkernel.com 90
  91. 91. Android SDK설치하기(7) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Accept All을 선택하고 Install을 누른다. 설치된다. www.hardkernel.com 91
  92. 92. Android SDK설치하기(8) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0설치되고 있는 중이다. www.hardkernel.com 92
  93. 93. Android SDK path 환경변수 설정 www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0.bashrc gedit ~/.bashrc – geditor가 열리고 아래와 같이 추가해준다. export PATH=${PATH}:~/android-sdks/platform-tools www.hardkernel.com – 저장 후 나와서 위의 명령 창에 변경사항 적용을 위해서 아래와 같이 입력한다. source ~/.bashrc – 위의 Android SDK 환경 설정을 적용하면, 터미날의 어느 위치에서나 adb, fastboot 등의 명령을 사용 할 수 있다.Java-6-sun jar 교체 – /usr/lib/jvm/java-6-sun/bin/jar 에 해당하는 번호를 입력 한다. sudo update-alternatives --config jar 93
  94. 94. Android SDK 정의(1) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0공식 Google release에 의하면 다음과 같이 정의되어 있다.“Android는 모바일 디바이스를 위한 OS, 미들웨어 그리고 key어플리케이션을 포함하는 소프트웨어 스택이다. Android SDK는 Java 프로그램 언어를 사용하여 어플리케이션을 개발하기위해 필요한 툴과 API를 제공한다”Features: Application framework 는 components의 재사용과 교체가 가능하다. Dalvik 가상머신은 모바일 디바이스에 맞게 최적화 되어 있다. www.hardkernel.com Integrated browser based on the open source WebKit engine 내부에 포함된 브라우저는 open source WebKit 엔진에 기반을 두고 있다. 최적화된 그래픽 성능을 위한 custom 2D graphics library; 3D graphics은 OpenGL ES 1.0에 기반한다(하드웨어 가속은 옵션) 구조화된 data저장을 위해 SQLlite를 사용 일반적인 오디오,비디오와 이미지 포멧의 미디어를 지원 (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM Telephony 지원(하드웨어에 따름) Bluetooth, EDGE, 3G, and WiFi (하드웨어에 따름) Camera, GPS, compass, and accelerometer (하드웨어에 따름) 디바이스 에뮬레이터와 디버깅 툴,메모리와 성능 프로파일링(performance profiling) 도구, 94그리고 Eclipse IDE를 위한 Plugin등이 포함된 최신 개발 환경을 제공한다.
  95. 95. Android SDK정의(2) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Application FrameworkAndroid는 개발자에세 오픈 개발 플랫폼을 제공함으로써, 아주 진부하고 혁진적인 어플리케이션을 빌드할수 있도록 해준다. 개발자에게는 디바이스의 하드웨어의 향상된 기능을 사용하고,위치정보를 억세스하고, 또는 백그라운드 서비스를 실행하며, 알람을 셑팅하고 상태바에 알림을 추가하는 등의 많고 많은 기능들을 사용하는데 제한이 없다. www.hardkernel.com개발자는 코어 어플리케이션에서 같은 프래임워크 API를 모두 억세스할수 있다. 어플리케이션아키텍춰는 간단하게 컨포넌트들을 재사용 할 수 있도록 디자인 되었다. 어떤 어플리케이션은자기의 기능을 다른 어떤 어플리케이션이든지 사용할 수 있도록 만들 수도 있다(단, 프레임워크에 의해 관리되는 보안 제약에 기초함). 이 같은 메커니즘은 사용자에 의해서 컨포넌트들이 교체 될 수 있는 것을 허용한다. 95
  96. 96. Android SDK(3) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Application Framework(continued...)아래의 모든 어플리케이션들은 서비스와 시스템에 포함된 것들이다: 풍부하고 확장 가능한 Views는 리스트(list), 그리드(grid), 텍스트 박스(text box), 버튼(button), 심지어 임베딩 가능한 웹 브라우저에서와 같은 어플리케이션을 빌드할 때에 사용될수 있다. www.hardkernel.com Content Providers 는 어플리케이션이 다른 어플리케이션(주소록과 같은)으로 부터 데이터를 억세스 하거나 자기 것을 공유할 수 있게 해준다. Resource Manager는 지역화된 문자들(localized strings), 그래픽 그리고 레이아웃 파일(layout files) 같이 비코드(non-code) 리소스들을 억세스할 수 있도록 해준다. Activity Manager는 어플리케이션의 라이프 사이클(lifecycle)을 관리하며, 일반적인 어플리케이션의 네비게이션 히스토리를 관리한다. (단, back stack, 즉 뒤로 돌아가기 기능만 지원함) 96
  97. 97. Sample app www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0제시된 어플리케이션 예제는 유닛 컨버터 이다. 동작 방법은 단순하다. – 타입을 선택하고 – 시작과 끝의 유닛을 선택 – 변환어플리케이션에 관련된 래퍼런스는 다음과 같다: www.hardkernel.comhttp://developer.android.com/guide/topics/fundamentals/activities.htmlhttp://developer.android.com/reference/android/widget/LinearLayout.htmlhttp://developer.android.com/reference/android/widget/TextView.htmlhttp://developer.android.com/reference/android/widget/Spinner.htmlhttp://developer.android.com/reference/android/widget/EditText.html 97
  98. 98. 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. www.hardkernel.com Rev1.0 Compile ODROID-A4 U-boot and install www.hardkernel.com 98
  99. 99. Agenda www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0ODROID-A4 U-Boot Source 준비하기U-Boot BuildBoot Device Partition의 구조U-Boot BL1 구조U-Boot BL1 생성 www.hardkernel.comU-Boot FusingDebugging 환경 설정U-Boot 실행Lab/Exam – U-Boot를 수정하여 Power LED On/OFF 하기 99
  100. 100. ODROID-A4 U-Boot Source 준비하기 www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 1 2 www.hardkernel.com 3 41. 터미널을 실행시킨다.2. mkdir –p project/odroid-a4 명령을 실행하여 작업 디렉토리를 생성한다.3. ODROID-A4와 함께 배포되어진 source pagkage(source.tar)파일을 작업 디렉토리로 복사한다.4. Source package 묶음을 해제 하여 Uboot.tar.gz 파일을 확인한다. (tar xf 명령을 사용한다.)5. Uboot source 파일의 압축을 해제한다. (tar xfz 명령을 사용한다.)6. uboot 폴더가 생성되며 uboot 폴더 안에 source code가 준비된다. 100
  101. 101. U-Boot Build www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 1 2 3 4 www.hardkernel.com 51. uboot build를 위하여 uboot 폴더로 이동한다.2. make distclean 명령을 통하여 기존에 생성되었던 object, config를 초기화한다.3. Uboot의 환경설정 파일로 /include/configs/smdkv310.h를 사용한다.4. make 명령을 통하여 uboot.bin 과 uboot bl1을 생성한다.5. 정상적으로 build되는 경우 u-boot.bin 파일이 생성 되었음을 확인 할 수 있다. 101
  102. 102. ODROID-A4의 Boot Device Partition의 구조 www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 Partition Type Start Sector Partition Name Partition Size Media (VFAT) Normal CACHE (EXT4) 128MB Partition DATA (EXT4) 1GB 131072 SYSTEM (EXT4) 512MB www.hardkernel.com 50561 17793 Reserved RAMDISK 16MB 1409 KERNEL 8MB Low Level 1507 U-BOOT Env 16KB Partition 33 U-BOOT 512KB 1 1 U-BOOT BL1 16KB 2 0 MBR 512B1. Uboot build하여 생성되는 u-boot.bin 파일이 기록되는 위치.2. mkbl2 app을 사용하여 생성되는 u-boot bl1.bin 파일이 기록되는 위치. 102
  103. 103. U-Boot BL1 구조 www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 Build되어진 u-boot.bin 16 Kbytes – 16 bytes U-boot.bin U-boot bl1 생성 app U-boot bl1 생성 app U-boot BL1.bin 생성 16 bytes Header 16 Kbytes – 16 bytes www.hardkernel.com U-boot BL1 Check sum 및 Header 생성 codeUboot/sd_fuse/c210-mkbl1.c…for(i = 0, checksum = 0;i < 16368;i++) { Buf1[i+16] = Buf[i]; checksum += Buf1[i+16];}*(unsigned long *)(Buf1+0) = 0x1f; *(unsigned long *)(Buf1+4) = checksum;Buf1[ 0] ^= 0x53; Buf1[ 1] ^= 0x35; Buf1[ 2] ^= 0x50; Buf1[ 3] ^= 0x43;Buf1[ 4] ^= 0x32; Buf1[ 5] ^= 0x31; Buf1[ 6] ^= 0x30; Buf1[ 7] ^= 0x20;Buf1[ 8] ^= 0x48; Buf1[ 9] ^= 0x45; Buf1[10] ^= 0x41; Buf1[11] ^= 0x44;Buf1[12] ^= 0x45; Buf1[13] ^= 0x52; Buf1[14] ^= 0x20; Buf1[15] ^= 0x20;for(i = 1; i < 16; i++) Buf1[i] ^= Buf1[i-1];… 103
  104. 104. U-Boot BL1 생성 www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 1 2 3 4 5 www.hardkernel.com 6* 기존에 c210-mkbl1 실행 파일을 생성 하였다면 1-5 번 까지는 실행하지 않는다.1.U-boot BL1 생성 Application source가 있는 folder로 이동한다.2.Application source가 있는지 확인한다.3.make 명령으로 c210-mkbl1 application을 build 한다.4.Application 실행 파일이 생성 되었는지 확인 한다.5.Uboot 폴더로 돌아간다.6.C210-mkbl1 app를 사용하여 u-boot_bl1.bin파일을 생성 및 확인한다. 104
  105. 105. U-Boot Fusing(1) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Uboot Fusing에 사용될 T-Flash와 T-Flash Reader를 준비 한다. www.hardkernel.com 105
  106. 106. U-Boot Fusing(2) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Host PC(Linux)에서 fdisk 명령을 사용하여 T-Flash mount point 를 찾아낸다. Host PC와 Card Reader 연결 전 fdisk –l 명령어 실행 www.hardkernel.com Host PC와 Card Reader 연결 후 fdisk –l 명령어 실행 새롭게 감지된 Device node (T-Flash mount point : /dev/sde) 106
  107. 107. U-Boot Fusing(3) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 Host PC(Linux)에서 dd 명령을 사용하여 T-Flash에 uboot를 fusing 한다. 1 2 www.hardkernel.com 3 41. 새롭게 감지 되어진 Device node에 Host PC와 접속 되어진 모든 mount를 해제한다.2. Boot device partition 중 u-boot 영역에 새로 build되어진 u-boot.bin 파일을 기록한다.3. Boot device partition 중 u-boot bl1 영역에 새로 생성된 u-boot_bl1.bin 파일을 기록한다.4. Host PC에서 T-Flash로 아직 전송되지 않고 대기중인 데이터를 T-Flash에 모두 Write한다. 107
  108. 108. Debugging 환경 설정(1) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 Host PC(Linux)와 Target(ODROID-A4) 연결하기 Host PC(Linux)의 USB Port에 연결 USB to SERIAL Converter www.hardkernel.comPower ON Button (JOG Push) RS232 Cable DEBUG Board TARGET(ODROID- A4) 108
  109. 109. Debugging 환경 설정(2)www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 Host PC(Linux)에 Serial Terminal(Minicom) 설치www.hardkernel.com 109
  110. 110. Debugging 환경 설정(3) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Host PC(Linux)에서 ls command 를 사용하여 접속된 USB to SERIAL Converter의 Device node 알아낸다. Host PC와 USB to SERIAL Converter 연결 전 ls 명령어 실행 www.hardkernel.com Host PC와 USB to SERIAL Converter 연결 후 ls 명령어 실행 새롭게 감지되어진 Device node (USB to SERIAL Converter Device node : /dev/ttyUSB0) 110
  111. 111. Debugging 환경 설정(4) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Minicom 환경 설정 (minicom –s command) Minicom 환경 설정 command www.hardkernel.com Minicom 환경 설정 초기화면 111
  112. 112. Debugging 환경 설정(5) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Minicom Serial port setup Serial Port 설정 메뉴 선택 www.hardkernel.com 각 메뉴에 할당되어진 Key를 입력하여 설정값을 수정한다. USB to SERIAL Converter device node로 변경한다. Baudrate 설정 및 flow control설정 115200, 8 bits, No parity, 1 stop bit H/W, S/W Flow control OFF 로 변경한다. 설정 완료 후 Enter key를 입력하여 이전 메뉴로 돌아간다. 112
  113. 113. Debugging 환경 설정(6) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0환경설정 저장 및 minicom 실행 www.hardkernel.com 현재 환경설정을 저장한다. 환경 설정을 마치고 minicom program을 실행한다. 113
  114. 114. Debugging 환경 설정(7)www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 Minicom 초기 화면 현재 환경설정을 표시한다.www.hardkernel.com HELP 화면을 표시한다. 114
  115. 115. Debugging 환경 설정(8) www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0Minicom 종료 CTRL-A Z Key를 입력하여 Help화면을 표시한다. www.hardkernel.com X 또는 Q Key를 입력하여 minicom을 종료한다. 115
  116. 116. U-Boot 실행 www.hardkernel.com 이 자료는 ㈜하드커널에 모든 권리가 있습니다. 어떠한 상업적인 사용도 허용되지 않습니다. Rev1.0 TARGET(ODROID-A4)의 Power ON Button을 눌러 U-Boot를 실행한다. www.hardkernel.comVirtualbox에서 진행하는 경우는 디바이스를 찾아서 마운트 해주어야 한다. 116

×