목차
저자 서문 ... 4
이 책의 주요 내용 ... 6
이 책의 학습 로드맵 ... 14
CD 수록 내용 ... 16
PART 1 임베디드 시스템
   1장 임베디드 시스템 개요 ... 29
      01 임베디드 시스템의 이해 ... 30
      02 프로세서 ... 35
      03 메모리 장치 ... 44
      04 입출력 장치 ... 52
      05 시스템 버스 ... 59
   2장 임베디드 시스템 설계 ... 63
      01 임베디드 시스템의 설계 과정 ... 64
      02 임베디드 하드웨어의 설계 ... 65
      03 임베디드 소프트웨어 설계 ... 69
PART 2 ARM 프로세서의 이해
   3장 ARM 아키텍처와 동작원리 ... 79
      01 ARM 아키텍처 ... 80
      02 ARM 명령어와 파이프라인 ... 83
      03 ARM 구조와 명령어 실행 ... 88
   4장 Programmer's 모델 ... 93
      01 명령어 ... 94
      02 동작모드 ... 96
      03 레지스터 ... 98
      04 메모리 구조 ... 104
      05 예외처리 ... 106
   5장 ARM 프로세서 명령어 ... 111
      01 ARM 프로세서 명령어의 특징 ... 112
      02 32비트 ARM 명령어 ... 115
      03 아키텍처 v5TE의 ARM 명령어 ... 153
      04 16비트 Thumb 명령어 ... 160
      05 ARM의 의사 명령어 ... 163
   6장 예외처리와 시스템 리셋 ... 167
      01 ARM 프로세서의 예외처리 ... 168
      02 예외처리 ... 172
      03 시스템 리셋 ... 180
PART 3 ARM 프로세서와 임베디드 하드웨어 설계
   7장 ARM 프로세서 코어 ... 185
      01 ARM9 프로세서 코어 ... 186
      02 ARM11 프로세서 코어 ... 196
      03 Xscale 마이크로 아키텍처 ... 203
   8장 ARM 프로세서 ... 207
      01 ARM 프로세서의 구조 ... 208
      02 ARM 프로세서의 제어 ... 209
      03 캐시와 쓰기 버퍼 ... 221
      04 MMU ... 227
      05 MPU ... 240
      06 TCM ... 248
   9장 SoC 구조 ... 251
      01 SoC와 AMBA 버스 ... 252
      02 상용 SoC 제품 ... 257
   10장 임베디드 시스템 하드웨어 설계 ... 263
      01 하드웨어 구성요소 ... 264
      02 하드웨어 설계 ... 271
PART 4 임베디드 소프트웨어 설계
   11장 소프트웨어 개발 툴의 이해와 활용 ... 297
      01 소프트웨어 개발 툴의 구성 및 사용법 ... 298
      02 메모리 구조 설계 ... 308
      03 다운로드와 디버깅 ... 317
   12장 임베디드 C 프로그래밍과 소프트웨어 최적화 ... 327
      01 컴파일러 사용과 옵션 설정 ... 328
      02 임베디드 C의 구성요소와 프로그램 최적화 ... 331
      03 나눗셈과 나머지 연산 ... 340
      04 메모리 참조와 포인터 ... 349
      05 ARM/Thumb 인터워킹 ... 351
   13장 시스템 리셋과 부트코드 ... 357
      01 리셋 핸들러 ... 358
      02 부트코드 작성 ... 362
   14장 하드웨어 제어 ... 385
      01 GPIO 제어와 LED 점멸 ... 386
      02 UART 장치 제어 ... 394
      03 타이머 제어 ... 402
   15장 부트로더 개발 ... 415
      01 부트로더 이해 ... 416
      02 U-Boot 빌드와 설치 ... 421
      03 U-Boot 활용 ... 424
      04 U-Boot 포팅 ... 445
PART 5 임베디드 ARM 리눅스
   16장 리눅스 커널 ... 457
      01 임베디드 시스템과 리눅스 ... 458
      02 리눅스 커널과 프로세스 ... 461
      03 리눅스의 메모리 사용 ... 468
      04 예외처리와 인터럽트 ... 471
      05 시스템 콜 인터페이스 ... 474
      06 가상 파일 시스템 ... 476
      07 사용자 프로그램 실행 ... 480
      08 프로세스간 통신 ... 482
      09 리눅스 커널 소스 ... 486
      10 리눅스 커널 초기화 과정 ... 490
   17장 디바이스 드라이버 ... 505
      01 디바이스 드라이버의 이해 ... 506
      02 문자 디바이스 ... 512
      03 블록 디바이스 ... 522
      04 네트워크 인터페이스 ... 527
      05 커널 모듈 ... 540
   18장 리눅스 애플리케이션과 루트 파일 시스템 ... 545
      01 리눅스 애플리케이션 ... 546
      02 루트 파일 시스템 ... 549
PART 6 커널 포팅 및 디바이스 제어
   19장 커널 포팅 준비 ... 557
      01 타깃 머신 선정 및 등록 ... 558
      02 커널 소스 준비 ... 563
      03 커널 소스 설치, 빌드 및 탑재 ... 566
   20장 커널 포팅 ... 583
      01 타깃 머신 추가 ... 584
      02 커널 포팅 ... 603
   21장 루트 파일 시스템 ... 629
      01 루트 파일 시스템 마운트 ... 630
      02 루트 파일 시스템 구축하기 ... 640
   22장 디바이스 제어 ... 651
      01 개발환경 ... 652
      02 디바이스 드라이버 기초 ... 661
      03 문자 디바이스 드라이버 활용 ... 678
      04 그래픽 LCD와 프레임 버퍼 ... 691
PART 7 임베디드 리눅스의 활용과 미니 프로젝트
   23장 임베디드 리눅스의 활용 ... 701
      01 Nano-X 윈도우 시스템 ... 702
      02 Qt/Embedded ... 707
      03 Boa 웹서버 ... 716
      04 USB 장치 사용 ... 727
   24장 미니 프로젝트 ... 735
      01 카메라에 입력된 영상 LCD로 출력 ... 736
      02 웹서버를 활용한 입출력 장치 제어 ... 739
      03 점프-업 프로젝트 ... 743
   부록 A 개발환경 설치 및 사용법 ... 745
      A-1 개발환경 구성에 앞서 ... 746
      A-2 타깃 시스템 설정 ... 749
      A-3 윈도우 기반의 호스트 시스템 설정 ... 752
      A-4 리눅스 기반의 호스트 시스템 설정 ... 782
   부록 B ARM 어셈블러 프로그래밍 ... 795
      B-1 ARM 어셈블러 프로그래밍 실습에 앞서 ... 796
      B-2 ARM 명령어 기초 ... 810
      B-3 데이터 처리 명령어 실습 ... 817
      B-4 데이터 전송 명령어 실습 ... 826
참고문헌 ... 839
찾아보기 ... 842
닫기