안드로이드 시스템 프로그래밍 완전정복(실전)
도서+교보Only(교보배송)을 함께 15,000원 이상 구매 시 무료배송
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
작가정보
저자 박선호는 서울대학교 컴퓨터공학과 학사
서울대학교 컴퓨터공학과 석사
현대전자주식회사 중대형컴퓨터 개발
VK주식회사 GSM 핸드폰 개발
코아로직 사업본부장
현) 씨알지테크놀러지 대표이사
네이버 embeddedcrazyboys 카페 필명 "설렁설렁"
저자(글) 오영환
저자 오영환은 고려대학교 전산과학과 학사
현대전자주식회사 CDMA 시스템 개발
뉴젠텔레콤 GSM 핸드폰 개발
코아로직 AP FAE 개발 팀장
현) 씨알지테크놀러지 수석연구원
네이버 embeddedcrazyboys 카페 필명 "푸우"
주요 공저 저술
망고스토리1, S3C2443/S3C6410/JTAG Embedded Board를 통한 ARM9/ARM11 Embedded 환경 체험
망고스토리2, 실전! ARM Cortex-M3 시스템 프로그래밍 완전정복 1
망고스토리3, 실전! ARM Cortex-M3 시스템 프로그래밍 완전정복 2
망고스토리4, 실전! Windows CE 시스템 프로그래밍 완전정복
목차
- 서 언 2
목 차 4
1부 - Introduction & 환경 구축 18
1. Introduction 19
1.1. 이 책의 목적
1.2. 안드로이드, Android 19
1.3. 안드로이드를 공부하기 위한 기반 지식 20
1.4. 안드로이드의 어느 부분을 공부할 것인가? 21
1.5. 안드로이드 버전 22
1.6. 개발 환경 갖추기 25
2. VMware & 리눅스(Ubuntu) 환경 구축 26
2.1. VMware 및 우분투 설치 26
2.2. 우분투 기초 활용 33
3. 리눅스(Ubuntu) 에디터 gedit & vim 46
3.1. gedit 46
3.2. vim 48
4. Host PC와 파일 공유 - VMware Tools & 삼바(Samba) 63
4.1. VMware Tools 63
4.2. VMware Tools를 이용한 파일 공유 69
4.3. 삼바 (Samba) 이용 73
5. 망고64 하드웨어와 부팅모드 설정 84
5.1. 망고 64 하드웨어 사양 84
5.2. 망고 64 부품 면 86
5.3. 망고 64 보드 LCD 면 87
5.4. 망고 64 구성도 88
5.5. Boot Option 선택 89
5.6. NAND Mode로 부팅하기 90
6. 망고100 하드웨어와 부팅모드 설정 91
6.1. Introduction 91
6.2. 하드웨어 사양 92
6.3. 보드 구성 93
6.4. Boot Option 선택 96
7. 우분투 minicom 및 네트워크 설정 104
7.1. 우분투 minicom 설정 104
7.2. 우분투 네트워크 설정 109
8. 툴체인(Cross-Compiler) 설치 119
8.1. Tool chain 이란? 119
8.2. GCC 4.2.2 다운로드 119
8.3. 툴체인 설치 120
8.4. 툴체인 환경 설정 121
8.5. 툴체인 확인 122
9. 안드로이드를 위한 환경 설정과 소스 코드 다운로드 124
9.1. Java 5 설치 124
9.2. 기타 패키지 설치 128
9.3. 안드로이드 소스 코드 다운로드 129
2부 - 망고64, 망고100에 안드로이드 포팅 137
10. (망고64) DNW 수행 및 U-Boot 구동 138
10.1. DNW 실행 및 설정 138
10.2. 망고보드 연결 및 U-Boot 구동 140
10.3. Cross-Cable을 이용한 직접 연결 147
11. (망고64) Kernel 및 안드로이드 파일시스템 포팅 150
11.1. Kernel 및 안드로이드 소스 다운로드 150
11.2. Kernel 소스 빌드 151
11.3. Kernel 다운로드 후 NAND 저장 및 부팅 155
11.4. 안드로이드 Cupcake 빌드 및 루트 파일시스템 생성 159
11.5. NAND Write 및 부팅 166
11.6. 안드로이드 포팅 과정 정리 169
12. (망고100) USB 부팅과 U-Boot Porting 171
12.1. USB 부팅 모드 시험 171
12.2. U-Boot Porting 및 NAND 부팅 모드 시험 178
13. (망고100) Kernel 및 안드로이드 파일시스템 포팅 189
13.1. Kernel 및 안드로이드 소스 다운로드 189
13.2. Kernel 소스 빌드 190
13.3. Kernel 다운로드 후 NAND 저장 및 부팅 194
13.4. 안드로이드 Eclair 빌드 및 루트 파일시스템 생성 201
13.5. NAND Write 및 부팅 205
14. (망고100) Eclair 빌드 과정 분석 214
14.1. CPU_JOB_NUM 계산 214
14.2. 시간 계산 215
14.3. make PRODUCT-mango100-eng 수행 216
14.4. 루트 파일시스템 용 폴더 작업 219
15. (망고100) SD Card를 이용한 쉬운 안드로이드 포팅 221
15.1. 이미지, 툴, 및 소스 코드 다운로드 221
15.2. SD Booting Image를 T-flash에 다운로드 하기 224
15.3. SD Booting 하기 229
15.4. SD를 이용한 NAND 파일시스템 구축 231
15.5. SD 부팅에서 직접 안드로이드 파일시스템 구동 239
16. (망고100) sdwriter & build_filesystem 스크립트 분석 242
16.1. sdwriter 내용 분석 242
16.2. build_filesystem 내용 분석 250
17. 커널 빌드 과정에서의 config 변경 263
17.1. make xxx_config 263
17.2. make menuconfig 264
17.3. make xconfig 267
18. NFS로 구동시키기 270
18.1. NFS (Network File System) 란? 270
18.2. NFS 서버 설정 271
18.3. 망고64 NFS 부팅 274
18.4. 망고100 NFS 부팅 279
3부 -안드로이드 SDK & Application 282
19. 리눅스와 안드로이드 개요 283
19.1. 리눅스 (Linux)의 개요 283
19.2. 안드로이드 (Android)의 개요 285
20. 안드로이드 SDK & EClipse 290
20.1. SDK 설치 전 준비 과정 290
20.2. SDK 설치 292
21. 최초 어플리케이션 Hello Android 315
21.1. Hello Android 프로젝트 생성 315
21.2. Android Virtual Device (AVD) 만들기 및 수행 320
21.3. Hello Android 내용 분석 323
22. ADB를 이용 망고 보드에 어플리케이션 구동 332
22.1. (망고64) NFS에 복사해서 구동시키기 332
22.2. (망고64) ADB를 이용해서 구동시키기 335
22.3. DDMS (Dalvik Debug Monitor Service) 사용 345
22.4. (망고64) Ethernet을 이용해서 ADB 구동시키기 351
22.5. 망고100 용 Hello Android 생성 355
22.6. (망고100) NFS에 복사해서 구동시키기 359
22.7. (망고100) ADB를 이용해서 구동시키기 360
22.8. (망고100) Ethernet을 이용해서 ADB 구동시키기 363
23. Android Application 기초 사항 366
23.1. Android API Levels 366
23.2. Application과 Activity 이해 367
23.3. Android Project의 기본적인 files 368
24. Image View와 Button 만들기 381
24.1. Image View 만들기 381
24.2. Button 만들기 391
25. Activity Creation & Execute 398
25.1. Activity 생성ㆍClass 추가 398
25.2. Class 변경ㆍSuper Class 추가 399
25.3. Layout XML 파일 추가 401
25.4. AndroidManifest.xml 파일 수정 403
25.5. onCreate method 생성 408
25.6. Intent Filter 추가 및 Activity 실행 409
26. Debugging Throw Error & Log 413
26.1. Open PerspectiveㆍDDMS, Debug 413
26.2. Throw Error 수행 414
26.3. 안드로이드 Log 419
4부 -안드로이드 디바이스 드라이버 423
27. 리눅스 디바이스 드라이버 개요 424
27.1. 디바이스와 디바이스 드라이버 424
27.2. 디바이스 드라이버 종류 424
28. 망고보드에서 HelloWorld 모듈 돌리기 429
28.1. 소스코드 분석 429
28.2. 망고64에서의 수행 433
28.3. 망고100에서의 수행 439
29. Cross compiler (CodeSourcery G++) 설치하기 442
29.1. Code Sourcery G++ 다운로드 442
29.2. Code Sourcery G++ 설치 446
29.3. 설치 확인 및 Path 설정 450
30. 안드로이드 파일시스템에 busybox 설치하기 453
30.1. busybox 개요 453
30.2. busybox 다운로드와 빌드 454
30.3. 망고64에 설치해서 수행시키기 461
30.4. minicom 컬러로 수행하기 464
30.5. 망고100에 설치해서 수행시키기 466
30.6. BusyBox shell에서도 alias를 사용해보자 467
31. Basic Character 디바이스 드라이버 470
31.1. 등록 함수 register_chrdev & unregister_chrdev 470
31.2. file_operations 적용 479
31.3. Application 구현 485
32. NDK를 이용한 빌드 489
32.1. NDK 개요 489
32.2. Cygwin 설치 490
32.3. NDK 설치 500
32.4. NDK로 샘플 프로그램 빌드하기 502
32.5. Eclipse에서 Hello-jni 실행 503
32.6. BasicCharDD 어플리케이션을 NDK로 빌드하기 506
33. (망고64) LED 디바이스 드라이버 509
33.1. 하드웨어 분석 509
33.2. 디바이스 드라이버 작성 511
33.3. Simple 어플리케이션 작성 520
33.4. 안드로이드 어플리케이션에서 LED 구동하기 523
34. 삼성 2.6.29 커널과 안드로이드 커널 코드 다운로드 및 비교 539
34.1. 목적 및 개요 539
34.2. 2.6.29-samsung 다운로드 539
34.3. 삼성 원본 커널과 망고 보드 커널 비교 542
34.4. 안드로이드 커널 543
34.5. 안드로이드 GIT Platform 분석 547
35. Key 드라이버 & Event 처리 549
35.1. 회로도 분석 549
35.2. 커널 Config 분석 551
35.3. Keypad 드라이버 소스 코드 추가 553
35.4. Input Event 및 TIMER_STATS 확인 556
35.5. KEYPAD 드라이버 소스 분석 560
35.6. 안드로이드 Key event 처리 565
36. (망고100) WM8960, SPDIF Driver 및 Setting 메뉴 변경 580
36.1. 기본 동작 확인 580
36.2. Codec Driver (WM8960) 582
36.3. HDMI S/PDIF Driver 586
36.4. 적용 소스 검토 및 확인 590
36.5. Android 메뉴 생성ㆍ어플리케이션 & 프레임워크 부분 변경
36.6. Android Binder 및 초기화 과정 600
36.7. Sound Mode 변경 과정 603
맺음말 608
리눅스 참고 사이트 목록 609
Linux 커널 공식 사이트 609
리눅스 커널 Config 찾기 609
리눅스 ID 및 소스 검색 611611
<파일 검색> 612
Linux 매뉴얼 검색 613
색 인 614
출판사 서평
ARM11 (S3C6410), ARM Cortex-A8 (S5PC100) 실전 테스트 보드를 통한 가장 완벽한 실제 개발에 활용할 수 있는 안드로이드 지침서
환경 구축, 보드 포팅부터 디바이스 드라이버까지 초보자도 쉽게 따라서 할 수 있고 전문가의 수준까지 총 망라한 지도서
안드로이드 어플리케이션부터 플랫폼 내부를 통하여 리눅스 디바이스 드라이버부터 하드웨어까지 전체의 연결을 한번에 파악할 수 있는 지름길
● 안드로이드 개발을 위한 환경 구축
● ARM11, Cortex-A8 보드에 리눅스 커널 및 안드로이드 파일시스템 포팅
● 안드로이드 SDK 및 기본적인 어플리케이션 개발
● 리눅스 디바이스 드라이버와 안드로이드 디바이스 드라이버
(NDK, JNI, Interrupt, Event, Keypad, WM8960, SPDIF Driver)
● 안드로이드 환경 설정 메뉴 추가
1부 - Introduction & 환경 구축
안드로이드 개발 환경 VMware, 리눅스(Ubuntu) 환경 구축
Host PC와 파일 공유 - VMware Tools & 삼바(Samba)
우분투 minicom 및 네트워크 설정, TFTP Ethernet Downloading Server
툴체인(Cross-Compiler) 설치
2부 - 망고64, 망고100에 안드로이드 포팅
U-Boot 구동, Tftp NAND 다운로드
Kernel 및 안드로이드 파일시스템 포팅
Eclair 빌드 과정 분석
SD Card를 이용한 쉬운 안드로이드 포팅
NFS (Network File System) 구동
3부 - 안드로이드 SDK & Application
안드로이드 SDK & EClipse
Android Virtual Device (AVD), Android Debug Bridge (ADB)
DDMS (Dalvik Debug Monitor Service)
Application과 Activity, Programmatic UI layout vs. XML-based layout
Image View와 Button, Activity Creation & Execute
Intent Filter 추가 및 Activity 실행
Debugging Throw Error & Log
4부 - 안드로이드 디바이스 드라이버
Character Device, Block Device, Network Device
Cross compiler (CodeSourcery G++), busybox 설치
Basic Character 디바이스 드라이버
NDK를 이용한 빌드
LED 디바이스 드라이버
Key 드라이버 & Event 처리
안드로이드 Key event 처리
WM8960, SPDIF Driver 및 Setting 메뉴 변경
망고64, 망고100 소개
Mango64 (S3C6410 EVB)
| CPU: Samsung S3C6410X ARM1176JZF-S 667MHz
| 128M MobileDDR
| 256M NAND, 4M NOR Flash
| WM8960 Audio Codec, LAN9220
| USB, SD, TV-out
| WiFi (Wi2Wi) module, GPS
| Camera ExpansionPort
| ATA HDD Connector
| 3-Axis Acceleration Sensor, Pressure Sensor
Mango100 (S5PC100)
| CPU: Samsung S5PC100 Cortex-A8 667/800MHz
| 256M Mobi|eDDR,256MNANDF|ash
| SD/MMC Boot
| WM8960 Audio Codec, |AN9220
| USB, HDMI 1.2, TV-out
| Camera ExpansionPort
| ATA HDD Connector
| Expansion Connectors: IrDA, Camera, I2S, SPI0/SPI1, SDIO0/2, EBI, UART, |CD
기본정보
ISBN | 9788996380092 ( 8996380091 ) | ||
---|---|---|---|
발행(출시)일자 | 2010년 10월 27일 | ||
쪽수 | 630쪽 | ||
크기 |
188 * 254
* 35
mm
/ 1280 g
|
||
총권수 | 1권 | ||
시리즈명 |
MANGO STORY
|
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립