머리말 ... ⅲ 감사의 글 ... ⅴ 이 책에 대하여 ... ⅶ 역자 머리말 ... xii Chapter 01 임베디드 시스템 처음 시작하기 1.1 실제 임베디드 시스템 ... 2 1.2 임베디드 시스템의 일반적인 하드웨어 ... 10 요약 ... 11 Chapter 02 순수 소프트웨어 엔지니어를 위한 하드웨어 맛보기 2.1 용어 소개 ... 14 2.2 논리 게이트 ... 17 2.3 하드웨어를 이해하는데 도움이 되는 이야기들 ... 21 2.4 타이밍 다이어그램 ... 31 2.5 메모리 ... 35 요약 ... 42 퀴즈 ... 44 Chapter 03 하드웨어 조금 더 살펴보기 3.1 마이크로프로세서 ... 48 3.2 버스 ... 49 3.3 DMA ... 60 3.4 인터럽트 ... 64 3.5 그밖의 공통적인 것들 ... 65 3.6 마이크로프로세서에 내장된 것들 ... 76 3.7 회로도에서 사용되는 약속 ... 80 3.8 회로도 예제 ... 80 3.9 하드웨어 살펴보기를 마치며 ... 82 요약 ... 83 퀴즈 ... 84 Chapter 04 인터럽트 4.1 마이크로프로세서의 구조 ... 88 4.2 인터럽트의 기초 ... 93 4.3 공유 데이터 문제 ... 100 4.4 인터럽트 지연 ... 112 요약 ... 121 퀴즈 ... 122 Chapter 05 임베디드 소프트웨어 구조 살펴보기 5.1 라운드로빈 구조 ... 128 5.2 인터럽트 라운드로빈 구조 ... 132 5.3 펑션큐스케줄링 구조 ... 140 5.4 RTOS 구조 ... 142 5.5 알맞은 소프트웨어 구조의 선택 ... 145 요약 ... 145 퀴즈 ... 146 Chapter 06 RTOS에 대한 소개 6.1 태스크와 태스크 상태 ... 152 6.2 태스크와 데이터 ... 158 6.3 세마포어와 공유 데이터 ... 168 요약 ... 184 퀴즈 ... 185 Chapter 07 OS 서비스 조금 더 살펴 보기 7.1 메시지큐, 메일박스와 파이프 ... 190 7.2 타이머 함수 ... 202 7.3 이벤트 ... 209 7.4 메모리 관리 ... 214 7.5 RTOS 환경에서의 인터럽트 루틴 ... 218 요약 ... 224 퀴즈 ... 226 Chapter 08 RTOS를 이용해 기초적인 임베디드 시스템 설계하기 8.1 전체 훑어보기 ... 234 8.2 기본 이론 ... 236 8.3 임베디드 시스템 설계 예제 ... 254 8.4 세마포어와 큐 캡슐화하기 ... 265 8.5 하드리얼타임스케줄링에 대한 고려 ... 274 8.6 메모리 절약하기 ... 275 8.7 파워 절약하기 ... 279 요약 ... 281 퀴즈 ... 283 Chapter 09 임베디드 소프트웨어 개발 툴 9.1 호스트와 타깃 시스템 ... 286 9.2 임베디드 소프트웨어를 위한 링커/로케이터 ... 288 9.3 타깃 시스템에 임베디드 시스템 올리기 ... 301 요약 ... 305 Chapter 10 디버깅 테크닉 10.1 호스트 시스템에서의 테스팅 ... 308 10.2 명령어 시뮬레이션 사용하기 ... 327 10.3 assert 매크로 ... 329 10.4 실험실 장비들 사용하기 ... 333 요약 ... 352 퀴즈 ... 354 Chapter 11 임베디드 시스템 예제 11.1 시스템 프로그램이 하는 일 ... 356 11.2 프로그램의 동작 환경 ... 259 11.3 소스 코드에 대한 가이드 ... 362 11.4 소스 코드 ... 365 요약 ... 432 퀴즈 ... 433 맺음말 ... 434 추천 도서 목록 ... 435 찾아보기 ... 437