다운로드


이 글은 App개발이 아닌, 안드로이드 플랫폼 개발에 대한 이야기 입니다.


EXYNOS-4210 듀얼코어 프로세서에 포팅된 안드로이드 4.0.x ICS 플랫폼을 빌드하고 수정하는 방법을 정리해 보았습니다. ODROID-A4를 중심으로 설명으로 하고 있지만, 다른 EXYNOS-4210 기반의 개발 보드에서도 대부분 적용이 가능합니다.

아래에 목차가 있으니 한번 꼭 보시고, 필요하다고 생각되면 바로 다운로드 하세요. ^.^


ODROID-A4 SYSTEM 구성 및 Android Booting Process
     - ODROID-A4 SYSTEM 구성
     - ODROID-A4 Android boot process from power on
     - ODROID-A4 Bootloader loading process
     - ODROID-A4 Kernel/Ramdisk/Android loading process

ODROID-A4 안드로이드 시스템 개발환경 구축
    - 안드로이드 Build를 위한 시스템 사양
     - Windows7 64-bit BIOS 설정변경
     - Oracle VM Virtual Box
     - Installing Ubuntu With VirtualBox
     - Installing Ubuntu
     - 안드로이드 시스템 build를 위한 추가 프로그램 설치
     - Cross compile 환경설정
     - ODROID와 USB 통신설정
     - VirtualBox 사용 팁

Android SDK 설치하기
     - Ubuntu에서 Eclipse 설치하기
     - Android SDK설치하기
     - Android SDK  path 환경변수 설정
     - Android SDK 정의
     - Sample app

Compile ODROID-A4 U-boot and install
    - ODROID-A4 U-Boot Source 준비하기
     - U-Boot Build
     - Boot Device Partition의 구조
     - U-Boot BL1 구조
     - U-Boot BL1 생성
     - U-Boot Fusing
     - Debugging 환경 설정
     - U-Boot 실행
     - Lab/Exam : U-Boot를 수정하여 Power LED On/OFF 하기

Compile Kernel and install
    - ODROID-A4 Kernel Source 준비하기
     - Kernel Compile
     - Kernel Fusing
     - Lab/Exam : Keypad 드라이버에 sysfs node를 추가하여 LED On/OFF 제어 하기

Build Android and install
    - ODROID-A4 Android Source 준비하기
     - 소스에 포함되지 않은 파일 ODROID에서 추출하기
     - Android Build
     - Install
     - Lab/Exam : ICS screenshot 기능이 가능하도록 플랫폼 수정해 보기

Install NDK and make a simple app
     - Download Android NDK
     - Installing Android NDK
     - Features of Android NDK
     - Lab/Exam(I) - Simple app (Fibonacci)
     - Lab/Exam(II) - Jni2LED

루팅의 활용과 방법, 구글 모바일 서비스 테스트
     - 파일 권한(Permission) 과 UID/GID
     - 정상적인 시스템 파일/장치의 퍼미션 수정
     - SuperUser.apk, su, Busybox설치
     - 어플리케이션 소프트웨어의 시스템 영역 접근 허락 과정 확인
     - 구글 모바일 서비스의 구성 및 라이선스
     - 플랫폼 개발을 목적으로 설치해보는 구글 모바일 서비스
     - 구글 모바일 서비스 동작 확인
     - Lab/Exam : 단원 요약 및 과제




추가로 다음과 같은 중급/응용 실습도 준비하고 있습니다. 4월 말에는 공개 가능합니다.


2.   중급 과정: 안드로이드 플랫폼 구조 및 안드로이드 API 활용
- CPU/램/플래시 메모리의 구조 및 사용 방법 (실험/예제: 시스템 클럭 스피드 임의 제어, 프로세스/메모리 상태 모니터링)
- LCD 프레임버퍼 드라이버 (실험/예제: Kernel splash screen 사용자 이미지로 바꾸기)
- 백라이트 제어 드라이버 (실험/예제: LCD 백라이트 제어 API, 조도센서 API를 이용한 자동 밝기 제어)
- 터치스크린 드라이버의 구조 (실험/예제: Touch protocol type-A에서 type-B로 변경 비교 실험)
- Key 입력 드라이버의 구조 (실험/예제: Timer polling 방식과 Interrupt 방식 변경 비교 실험)
- 오디오 입출력 드라이버의 구조 (실험/예제: 구글 음성인식 API를 이용 및 텍스트를 음성으로 변환하기)
- 카메라 드라이버의 구조 (실험/예제: 프리뷰 API 및 바코드 리더 만들어 보기)
- 센서 디바이스 드라이버의 구조 (실험/예제: 가속도센서, 지자기센서, 자이로스코프 API응용 앱 만들기)
- 배터리 잔량 측정 및 충전 드라이버의 구조 (실험/예제: 전원 관리 API를 이용한 배터리 모니터링 앱 만들기)
- 무선랜/블루투스 디바이스 드라이버의 구조 (실험/예제: WiFi/Bluetooth API를 이용한 무선 장치 검색 앱 만들기)
 
3.  실전 응용: 하드웨어 확장 및 활용
- Exynos-4210 및 ODROID-A4의 범용 입출력 장치의 종류 및 구성 (데이터시트 설명: UART, GPIO, I2C, ADC, PWM, ...)
- Exynos-4210의 GPIO 입력 및 인터럽트 (버튼 스위치를 이용한 입력 드라이버 및 App 만들기)
- Exynos-4210의 ADC 입력 드라이버 및 JNI 만들기 (Digital Storage Oscilloscope 앱 및 볼륨 반응 앱)
- Exynos-4210의 UART(비동기통신)를 이용하여 GPS기능 추가 및 Google Map API 연동
- Exynos-4210의 I2C를 이용하여 기압/온도 센서 연결 및 고도 측정 앱 만들기
- Exynos-4210의 I2C를 이용한 GPIO 확장 및 이를 이용한 3색 LED를 제어 및 Key 입력 드라이버와 앱 만들기