목차 일부
저자 서문 ... 4
이 책의 주요 내용 ... 6
이 책의 학습 로드맵 ... 14
CD 수록 내용 ... 16
PART 1 임베디드 시스템
1장 임베디드 시스템 개요 ... 29
01 임베디드 시스템의 이해 ... 30
02 프로세서 ... 35
03 메모리 장치 ... 44
04 입출력 장치 ... 52...
더보기
목차 전체
저자 서문 ... 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
더보기 닫기