책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 모바일/무선/임베디드 프로그래밍
· ISBN : 9791187431084
· 쪽수 : 368쪽
· 출판일 : 2017-07-20
책 소개
목차
누가 이 책을 읽어야 하나? | 이 책은 어떻게 구성되어 있는가?
제1부. 베어 메탈 프로그래밍
1장. 임베디드 시스템 프로그래밍 소개
_임베디드 시스템 개요
_베어 메탈 프로그래밍
_임베디드 시스템 배우기
_임베디드 시스템의 소프트웨어 계층
_도구 및 하드웨어 플랫폼
_가상 하드웨어와 실제 하드웨어의 차이점
2장. 내부 안드로이드 에뮬레이터
_가상 하드웨어 개요
_안드로이드 가상 장치 설정
_하드웨어 인터페이스
_시리얼
_타이머
3장. 개발 환경 설정
_호스트와 클라이언트 환경
_개발 환경 설정
_안드로이드 SDK 다운로드 및 설치하기
_ARM을 위한 GNU 툴체인 다운로드 및 설치하기
_통합 개발 환경
_당신의 첫 번째 ARM 프로그램
_바이너리로 빌드하기
_안드로이드 에뮬레이터에서 실행하기
_예제 프로젝트를 위한 Makefile
4장. 링커 스크립트 및 메모리 맵
_메모리 맵
_링커
__심볼 처리
__예 c04e1의 메인 프로그램
__.byte 지시어
__.align 지시어
__c04e1예제의 서브루틴
__재배치
__섹션 병합
__섹션 배치
_링커 스크립트
__링커 스크립트 예제
_RAM에서 데이터 초기화하기
__로드 주소 지정하기
__데이터를 램으로 복사하기
5장. C 언어 사용하기
_베어 메탈 환경에서 C 시작하기
__스택
__전역 변수
__읽기 전용 데이터
__시작 코드
_호출 규칙
__어셈블리어 코드에서 C 함수 호출하기
__C 코드에서 어셈블리 언어 함수 호출하기
_골드피시 시리얼 포트 지원
__데이터 버퍼 검사
__데이터 인풋과 아웃풋
__시리얼 함수들의 단위 테스트
6장. C 라이브러리 사용하기
_C 라이브러리 변형
__운영체제가 존재할 때 C 라이브러리 변형
__베어 메탈 시스템에서 C 라이브러리 변형
_Newlib C 라이브러리
_일반적인 스타트업 코드 순서
__CS3 링커 스크립트
_골드피시 플랫폼을 위한 사용자 정의 CS3 시작 코드
_시스템 호출 구현
_라이브러리 실행과 디버깅
_QEMU ARM Semihosting과 함께 Newlib 사용
__Newlib C에서 Semihosting 지원
__Semihosting 예제코드
7장. 예외 처리 및 타이머
_골드피시 인터럽트 컨트롤러
_가장 단순한 인터럽트 핸들러
__인터럽트 지원 함수
__가장 단순한 인터럽트 핸들러 구현
_중첩된 인터럽트 핸들러
__중첩된 인터럽트 핸들러 구현
__중첩 인터럽트 테스트와 프로세서 모드 스위치 발견하기
_시스템 호출/소프트웨어 인터럽트 테스트하기
_타이머
__골드피시 전용 타이머 함수들
__U-Boot API
_실시간 클록
__타이머와 RTC의 단위 테스트
8장. 골드피시에서 NAND 플래시 지원
_안드로이드 파일 시스템
_NAND 플래시 속성
_골드피시 플랫폼의 NAND 플래시 프로그래밍 인터페이스
_메모리 기술 장치 지원
_MTD API
__NAND 플래시를 지원하는 U-Boot API
__골드피시 NAND 플래시 드라이버 함수들
_NAND 플래시 프로그래밍 인터페이스 테스트 프로그램
__리눅스 커널의 NAND 플래시 정보
__NAND 플래시 테스트 프로그램
제2부. U-Boot
9장. U-Boot 포팅하기
_U-Boot 소개
_U-Boot 다운로드와 컴파일
_GDB로 U-Boot 디버깅하기
_골드피시 플랫폼에 U-Boot 포팅하기
__새로운 보드 생성
__프로세서 세부사항 수정
__보드 세부사항 수정
__디바이스 드라이버 수정
__시리얼 드라이버
__NAND 플래시 드라이버
__RTC 드라이버
__이더넷 드라이버
10장. 골드피시 커널을 부팅하기 위해 U-Boot 사용하기
_골드피시 커널 구축하기
_Prebuilt 툴체인과 커널 소스코드
_에뮬레이터에서 커널 실행과 디버깅
_NOR 플래시부터 안드로이드 부팅
__램디스크 이미지 생성하기
__플래시 이미지 생성하기
__플래시 이미지 부팅하기
__플래시 이미지의 소스-레벨 디버깅
_NAND 플래시로부터 안드로이드 부팅
__system.img 준비하기
__NAND 플래시로부터 부팅하기
제3부. 안드로이드 시스템 통합
11장. AOSP와 CyanogenMod 구축하기
_AOSP와 CyanogenMod 소개
_안드로이드 가상 디바이스 설정하기
_AOSP 안드로이드 에뮬레이터 빌드
__AOSP 빌드 환경
__AOSP 소스 다운로드하기
__AOSP 안드로이드 에뮬레이터 이미지 빌드하기
__AOSP 이미지 테스트하기
_CyanogenMod 안드로이드 에뮬레이터 빌드
__CyanogenMod 소스 다운로드하기
__CyanogenMod 안드로이드 에뮬레이터 빌드하기
__CyanogenMod 이미지 테스트하기
12장. 사용자 정의 안드로이드와 나만의 안드로이드 롬 만들기
_AOSP에서 새로운 하드웨어 지원하기
__AOSP 와 함께 커널 빌드하기
__AOSP와 함께 U-Boot 빌드하기
__NAND 플래시로부터 U-Boot과 함께 안드로이드 부팅하기
_CyanogenMod에서 새로운 하드웨어 지원하기
__CyanogenMod와 함께 커널 빌드하기
__U-Boot 빌드하고 CyanogenMod 부팅하기
부록
A. 이 책의 소스코드 빌드하기
_빌드 환경 설정하기
_가상 머신 설정하기
_소스코드 체계
_1부를 위한 소스코드
__커맨드 라인에서 빌드하고 테스트하기
__이클립스에서 빌드하고 테스트하기
_2부의 소스코드
_3부의 소스코드
__AOSP 빌드하기
__CyanogenMod 빌드하기
B. 이 책과 관련된 저장소 사용하기
_저장소(Repo)에 있는 자원들
__즉시 새 소스트리 동기화하기
_지역 매니페스트를 사용하여 Git Repositories 다운로드하기