목차
서문 = xiii
두 번째 판의 새로운 점은 무엇인가? = xiii
목적 = xiv
이 책을 읽어야 하는 사람 = xiv
이식성 = xiv
이 책을 사용하기 위해서 필요한 것들 = xiv
감사의 글 = xv
시작에 앞서 = xvii
그림, 리스트, 테이블 규약 = xviii
소스코드 규약 = xviii
각 장의 내용 = xix
웹사이트 = xxi
참고문헌 목록 = xxii
1장 샘플코드 = 1
1.00 임베디드 시스템 빌딩블록의 설치 = 1
1.01 각 장의 구성 = 2
1.02 INCLUDES.H = 3
1.03 컴파일러 독리적인 데이터 타입 = 3
1.04 CFG.C와 CFG.H = 4
1.05 전역변수 = 4
1.06 OS_ENTER_CRITICAL()과 OS_EXIT_CRITICAL() = 6
1.07 ESBB 샘플코드 = 6
1.08 참고문헌 목록 = 24
2장 리얼타임 시스템의 개념 = 61
2.00 전경/배경 시스템 = 62
2.01 크리티컬 섹션 = 63
2.02 자원 = 63
2.03 공유자원 = 63
2.04 멀티태스킹 = 63
2.05 태스크 = 63
2.06 문맥 전환(태스크 스위치) = 65
2.07 커널 = 65
2.08 스케줄러 = 66
2.09 비선점형 커널 = 66
2.10 선점형 커널 = 67
2.11 재진입성 = 68
2.12 라운드 로빈 스케줄링 = 70
2.13 태스크 우선순위 = 70
2.14 정적 우선순위 = 70
2.15 동적 우선순위 = 71
2.16 우선순위 진도 = 71
2.17 태스크 우선순위 배정 = 73
2.18 상호 배제 = 75
2.19 교착상태 = 82
2.20 동기화 = 82
2.21 이벤트 프래그 = 84
2.22 태스크간의 통신 = 85
2.23 메시지 메일박스 = 86
2.24 메시지 큐 = 87
2.25 인터럽트 = 88
2.26 인터럽트 지연시간 = 88
2.27 인터럽트 응답시간 = 89
2.28 인터럽트 복귀시간 = 90
2.29 인터럽트 잠복시간, 응답시간, 복귀시간 = 90
2.30 ISR 수행시간 = 91
2.31 논 마스커블 인터럽트(NMIs) = 91
2.32 클럭 틱 = 94
2.33 메모리 요구사항 = 96
2.34 리얼타임 커널의 장단점 = 97
2.35 리얼타임 시스템 요약 = 98
2.36 참고문헌 목록 = 99
3장 키보드 = 101
3.00 키보드의 기초 = 101
3.01 매트릭스 키보드 스캐닝 알고리즘 = 103
3.02 매트릭스 키보드 모듈 = 105
3.03 내부동작 = 106
3.04 인터페이스 함수 = 109
KeyFlush() = 110
KeyGetKey() = 111
KeyGetKeyDownTime() = 112
KeyHit() = 113
KeyInit() = 114
3.05 설정 = 114
3.06 매트릭스 키보드 모듈 사용법 = 115
3.07 참고문헌 목록 = 119
4장 멀티플렉싱 방식 LED 표시장치 = 133
4.00 LED 표시장치 = 133
4.01 멀티플렉싱 방식 LED 표시 모듈 = 136
4.02 내부동작 = 137
4.03 인터페이스 함수 = 140
DispClrScr() = 141
DispInit() = 142
DispStatClr() = 143
DispStatSet() = 144
DispStr() = 145
4.04 설정 = 146
4.05 멀티플렉싱 LED 표시 모듈 사용법 = 146
4.06 참고문헌 목록 = 148
5장 문자 LCD 모듈 = 161
5.00 액정 표시장치 = 161
5.01 문자 LCD 모듈 = 163
5.02 문자 LCD 모듈, 내부동작 = 165
5.03 인터페이스 함수 = 167
DispChar() = 168
DispClrLine() = 169
DispClrScr() = 170
DispDefChar() = 171
DispHorBar() = 173
DispHorBarInit() = 175
DispInit() = 176
DispStr() = 177
5.04 LCD 모듈 표시장치, 설정 = 178
5.05 LCD 모듈 제조사 = 178
6장 시각기구 = 191
6.00 시계/달력 = 191
6.01 시계/달력 모듈 = 192
6.02 내부동작 = 192
6.03 인터페이스 함수 = 195
ClkFormatDate() = 196
ClkFormatTime() = 198
ClkFormatTs() = 199
ClkGetTs() = 200
ClkInit() = 201
ClkMakeTs() = 202
ClkSetDate() = 203
ClkSetDateTime() = 204
ClkSetTime() = 205
6.04 시계/달력 모듈, 설정 = 206
6.05 참고문헌 목록 = 206
7장 타이머 관리자 = 229
7.00 타이머 관리자 모듈 = 229
7.01 타이머 관리자 모듈, 내부동작 = 230
7.02 타이머 관리자 모듈, 인터페이스 함수 = 233
TmrCfgFnct() = 234
TmrChk() = 236
TmrFormat() = 237
TmrInit() = 238
TmrReset() = 239
TmrSetMST() = 240
TmrSetT() = 241
TmrStart() = 242
TmrStop() = 243
7.03 타이머 관리자 모듈, 설정 = 244
7.04 참고문헌 목록 = 244
8장 디지털 I/O = 255
8.00 디지털 입력 = 256
8.01 디지털 출력 = 259
8.02 디지털 I/O 모듈 = 263
8.03 디지털 I/O모듈, 내부동작 = 263
8.04 디지털 I/O모듈, 인터페이스 함수 = 267
DICfgEdgeDetectFnct() = 269
DICfgMode() = 271
DIClr() = 273
DIGet() = 274
DIOInit() = 275
DISetBypass() = 276
DISetBypassEn = 277
DOCfgBlink() = 278
DOCfgMode() = 280
DOGet() = 281
DOSet() = 282
DOSetBypass() = 283
DOSetBypassEn() = 284
DOSetSyncCtrMax() = 285
8.05 설정 = 286
8.06 디지털 I/O 모듈 사용법 = 287
9장 고정 소수점 연산 = 315
9.00 고정소수 = 315
9.01 고정소수의 가산과 감산 = 319
9.02 고정소수 곱셈 = 320
9.03 고정소수 나눗셈 = 320
9.04 고정소수 비교 = 321
9.05 고정소수 산술연산, 예제#1 = 321
9.06 고정소수 산술연산, 예제#2 = 322
9.07 고정소수 산술연산, 예제#3 = 325
9.08 결론 = 326
9.09 참고문헌 목록 = 326
10장 아날로그 I/O = 327
10.00 아날로그 입력 = 328
10.01 ADC 읽기 = 330
10.02 온도측정 예제 = 336
10.03 아날로그 출력 = 340
10.04 온도표시 예제 = 341
10.05 아날로그 I/O 모듈 = 344
10.06 내부동작 = 344
10.07 인터페이스 함수 = 348
AICfgCal() = 349
AICfgConv() = 350
AICfgScaling() = 352
AIget() = 354
AIOInit() = 355
AISetBypass() = 356
AISetBypassEn() = 357
AOCfgCal() = 358
AOCfgConv() = 359
AOCfgScaling() = 360
AOSet() = 362
AOSetBypass() = 363
AOSetBypassEn() = 364
10.08 아날로그 I/O 모듈, 설정 = 365
10.09 아날로그 I/O 모듈, 사용법 = 366
10.10 참고문헌 목록 = 374
11장 비동기 시리얼 통신 = 399
11.00 비동기 통신 = 400
11.01 RS-232C = 403
11.02 RS-485 = 407
11.03 데이터 송수신 = 411
11.04 PC상의 시리얼 포트 = 420
11.05 로우 레벨 PC 시리얼 I/O 모듈(COMM_PC) = 423
CommCfgPort() = 425
CommRxFlush() = 427
CommRxIntDis() = 428
CommRxIntEn() = 429
CommRxIntDis = 430
CommTxIntEn() = 431
CommSetIntVect() = 432
CommRclIntVect() = 433
11.06 버퍼방식 시리얼 I/O 모듈(COMMBGND) = 434
CommGetchar() = 437
CommInit() = 438
CommIsEmpty() = 439
CommIsFull() = 440
CommPutChar() = 441
11.07 버퍼방식 시리얼 I/O 모듈(COMMRTOS) = 442
CommGetChar() = 445
CommInit() = 447
CommIsEmpty() = 448
CommIsFull() = 449
CommPutChar() = 450
11.08 설정 = 452
11.09 COMM_PC와 COMMBGND 모듈 사용법 = 452
11.10 COMM_PC와 COMMRTOS 모듈 사용법 = 453
11.11 참고문헌 목록 = 455
12장 PC서비스 = 495
12.00 문자 기반 디스플레이 = 495
12.01 DOS 문맥(컨텍스트)의 저장과 복구 = 498
12.02 경과 시간 측정 = 500
12.03 그 밖의 서비스 = 500
12.04 인터페이스 함수 = 501
PC_DispChar() = 502
PC_DispClrCol() = 503
PC_DispClrRow() = 504
PC_DispClrScr() = 505
PC_DispStr() = 506
PC_DOSReturn() = 508
PC_DOSSaveReturn() = 509
PC_ElapsedInit() = 510
PC_ElapsedStart() = 511
PC_ElapsedStop() = 513
PC_GetDateTime() = 514
PC_GetKey() = 515
PC_SetTickRate() = 516
PC_VectGet() = 517
PC_VectSet() = 518
12.05 참고문헌 목록 = 519
부록 A μC/OS-Ⅱ, 리얼타임 커널 = 535
OSInit() = 537
OSSemCreate() = 538
OSSemPend() = 539
OSSemPost() = 541
OSStart() = 543
OSStatInit() = 544
OSTaskCreate() = 545
OSTaskCreateExt() = 548
OSTimeDly() = 552
OSTimeDlyHMSM() = 553
OSVersion() = 555
OS_ENTER_CRITICAL()과 OS_EXIT_CRITICAL() = 556
부록 B 프로그래밍 규약 = 571
B.00 디렉터리 구조, Products = 571
B.01 C 프로그래밍 스타일 = 573
B.02 참고문헌 목록 = 585
부록 C 두문자어, 생략어, 니모닉 사전 = 587
부록 D HPLISTC와 TO = 595
D.00 HPLISTC = 595
D.01 TO = 596
부록 E CD-ROM = 599
E.00 하드웨어/소프트웨어 요구사항 = 599
E.01 설치 = 599
E.02 디렉터리 구조 = 600
E.03 오류에 대해 = 602
E.04 라이센싱 = 602
색인 = 603