서브메뉴

본문

IT EXPERT ARM으로 배우는 임베디드 리눅스 시스템 (CPU에서 안드로이드까지 총망라!)
IT EXPERT ARM으로 배우는 임베디드 리눅스 시스템 (CPU에서 안드로이드까지 총망라!)
저자 : 안효복
출판사 : 한빛미디어
출판년 : 2013
ISBN : 9788968480683

책소개


임베디드 시스템을 시작하고 싶지만 어디서부터 무엇을 어떻게 해야 할지 막막한 분들을 위한 책이다. 임베디드 개념과 CPU 선택에서부터 커널 포팅, 디바이스 드라이버 개발, Qt 애플리케이션 개발, 안드로이드 탑재 등 임베디드 개발 전 과정을 다룬다.

목차


[1부 임베디드 시스템]

1장 임베디드 시스템의 개요
__1.1 임베디드 시스템의 이해
__1.2 프로세서
__1.3 메모리 장치
__1.4 입출력 장치
__1.5 시스템 버스
__1.6 연습문제

2장 임베디드 시스템의 설계
__2.1 임베디드 시스템 설계 절차
__2.2 임베디드 하드웨어 설계
__2.3 임베디드 소프트웨어 설계
__2.4 임베디드 소프트웨어 개발 환경
__2.5 연습문제

[2부 ARM 프로세서의 이해]

3장 ARM 아키텍처와 동작 원리
__3.1 ARM 아키텍처
__3.2 ARM 명령어와 파이프라인
__3.3 ARM 구조와 명령어 실행
__3.4 연습문제

4장 프로그래머 모델
__4.1 명령어
__4.2 트러스트존 모델과 보호 영역
__4.3 동작 모드
__4.4 레지스터
__4.5 메모리 구조
__4.6 예외 처리
__4.7 연습문제

5장 ARM 프로세서 명령어
__5.1 ARM 프로세서 명령어의 특징
__5.2 아키텍처 v4 ARM 명령어
__5.3 아키텍처 v5 ARM 명령어
__5.4 아키텍처 v6 ARM 명령어
__5.5 아키텍처 v7 ARM 명령어
__5.6 16비트 Thumb 명령어
__5.7 Thumb-2와 Thumb-2EE 명령어
__5.8 NEON 및 VFP 프로그래밍
__5.9 ARM의 의사 명령어
__5.10 연습문제

6장 예외 처리와 시스템 리셋
__6.1 ARM 프로세서의 예외 처리
__6.2 예외 처리
__6.3 시스템 리셋
__6.4 연습문제

[3부 ARM 프로세서와 임베디드 하드웨어 설계]

7장 ARM 프로세서 코어
__7.1 ARM 프로세서의 종류
__7.2 ARM9 프로세서
__7.3 ARM11 프로세서
__7.4 Xscale 마이크로 아키텍처
__7.5 Cortex 애플리케이션 프로세서
__7.6 Cortex 임베디드 프로세서
__7.7 연습문제

8장 ARM 프로세서
__8.1 ARM 프로세서의 구조
__8.2 ARM 프로세서의 제어
__8.3 캐시와 쓰기 버퍼
__8.4 MMU
__8.5 MPU
__8.6 TCM
__8.7 멀티프로세서
__8.8 연습문제

9장 SoC 구조
__9.1 SoC와 AMBA 버스
__9.2 상용 SoC 제품
__9.3 연습문제

10장 임베디드 시스템 하드웨어 설계
__10.1 하드웨어 구성 요소
__10.2 하드웨어 설계
__10.3 연습문제

[4부 임베디드 소프트웨어 설계]

11장 소프트웨어 개발 툴의 이해와 활용
__11.1 소프트웨어 개발 툴의 구성 및 사용법
__11.2 메모리 구조 설계
__11.3 다운로드와 디버깅
__11.4 연습문제

12장 임베디드 C 프로그래밍과 소프트웨어 최적화
__12.1 컴파일러 사용과 옵션 설정
__12.2 임베디드 C의 구성 요소와 프로그램 최적화
__12.3 나눗셈과 나머지 연산
__12.4 메모리 참조와 포인터
__12.5 ARM/Thumb 인터워킹
__12.6 NEON 명령의 사용
__12.7 연습문제

13장 시스템 리셋과 부트코드
__13.1 리셋 핸들러
__13.2 부트코드 작성
__13.3 연습문제

14장 하드웨어 제어
__14.1 GPIO 제어와 LED 점멸
__14.2 UART 장치 제어

[5부 임베디드 ARM 리눅스]

15장 개발 환경과 부트로더
__15.1 부트로더의 이해
__15.2 U-Boot 빌드와 설치
__15.3 U-Boot 활용
__15.4 U-Boot 포팅
__15.5 연습문제

16장 리눅스 커널
__16.1 임베디드 시스템과 리눅스
__16.2 리눅스 커널과 프로세스
__16.3 리눅스의 메모리 사용
__16.4 예외 처리와 인터럽트
__16.5 시스템 콜 인터페이스
__16.6 가상 파일시스템
__16.7 사용자 프로그램 실행
__16.8 프로세스 간 통신과 동기화
__16.9 리눅스 커널 디렉터리 및 소스
__16.10 리눅스 커널 초기화 절차
__16.11 연습문제

17장 디바이스 드라이버
__17.1 디바이스 드라이버의 이해
__17.2 디바이스 드라이버 모델
__17.3 커널 모듈
__17.4 메모리 매핑
__17.5 문자 디바이스
__17.6 블록 디바이스
__17.7 네트워크 인터페이스
__17.8 연습문제

18장 리눅스 파일시스템과 애플리케이션
__18.1 리눅스 파일시스템
__18.2 루트 파일시스템
__18.3 리눅스 애플리케이션
__18.4 연습문제

[6부 커널 포팅 및 디바이스 제어]

19장 커널 포팅 준비
__19.1 타깃 머신 선정 및 등록
__19.2 커널 소스 준비
__19.3 커널 소스 설치, 빌드 및 탑재
__19.4 연습문제

20장 커널 포팅
__20.1 타깃 머신 추가
__20.2 커널 포팅과 디버깅
__20.3 커널 포팅
__20.4 멀티코어 지원
__20.5 연습문제

21장 루트 파일시스템
__21.1 루트 파일시스템의 제작 방법
__21.2 루트 파일시스템의 제작
__21.3 연습문제

22장 디바이스 제어
__22.1 개발 환경
__22.2 디바이스 드라이버 작성
__22.3 버스 드라이버 작성
__22.4 네트워크 인터페이스 지원
__22.5 리눅스 멀티미디어
__22.6 연습문제

23장 임베디드 리눅스의 활용
__23.1 프레임버퍼의 활용
__23.2 Qt/Everywhere 설치와 활용

[7부 안드로이드 탑재와 활용]

24장 안드로이드의 이해
__24.1 안드로이드의 개요
__24.2 안드로이드의 구조
__24.3 안드로이드 커널 및 라이브러리
__24.4 안드로이드의 개발 환경

25장 안드로이드 빌드, 탑재 및 실행
__25.1 안드로이드 빌드, 탑재 및 실행
__25.2 안드로이드 애플리케이션

__부록 A 개발 환경 설치 및 사용법 993
__부록 B ARM 어셈블리 프로그래밍 1053
__부록 C 참고 자료

QuickMenu