第1章 嵌入式系統基礎知識 1
1.1 嵌入式系統的定義和組成 1
1.1.1 嵌入式系統的定義 1
1.1.2 嵌入式系統發(fā)展概述 2
1.1.3 嵌入式系統的組成 5
1.1.4 實時系統 12
1.2 嵌入式微處理器體系結構 17
1.2.1 馮·諾依曼與哈佛結構 17
1.2.2 CISC與RISC 18
1.2.3 流水線技術 23
1.2.4 信息存儲的字節(jié)順序 25
1.3 嵌入式系統的硬件基礎 28
1.3.1 組合邏輯電路基礎 28
1.3.2 時序邏輯電路 35
1.3.3 總線電路及信號驅動 39
1.3.4 電平轉換電路 47
1.3.5 可編程邏輯器件基礎 51
1.4 嵌入式系統中信息表示與運算基礎 61
1.4.1 進位計數制與轉換 61
1.4.2 計算機中數的表示 62
1.4.3 非數值數據編碼 65
1.4.4 差錯控制編碼 70
1.5 嵌入式系統的性能評價 77
1.5.1 度量項目 77
1.5.2 評價方法 79
1.5.3 評估嵌入式系統處理器的主
要指標 81
第2章 嵌入式微處理器與接口知識 83
2.1 嵌入式微處理器的結構和類型 83
2.1.1 嵌入式微處理器的分類 83
2.1.2 典型8位微處理器的結構
和特點 86
2.1.3 典型16位微處理器的結構
和特點 94
2.1.4 典型32位微處理器的結構
和特點 97
2.1.5 DSP處理器的結構和特點 112
2.1.6 多核處理器的結構和特點 118
2.2 嵌入式系統的存儲體系 124
2.2.1 存儲器系統概述 124
2.2.2 嵌入式系統存儲設備分類 132
2.2.3 ROM的種類與選型 135
2.2.4 Flash Memory的種類與
選型 137
2.2.5 RAM的種類與選型 141
2.2.6 外部存儲器的種類與選型 145
2.3 嵌入式系統輸入輸出設備 151
2.3.1 嵌入式系統常用輸入/輸出
設備概述 151
2.3.2 GPIO原理與結構 153
2.3.3 A/D接口基本原理與結構 154
2.3.4 D/A接口基本原理與結構 159
2.3.5 鍵盤接口基本原理與結構 161
2.3.6 顯示接口基本原理與結構 164
2.3.7 觸摸屏接口基本原理與
結構 173
2.3.8 音頻接口基本原理與結構 177
2.4 嵌入式系統總線接口 179
2.4.1 串行接口基本原理與結構 179
2.4.2 并行接口基本原理與結構 185
2.4.3 PCI接口基本原理與結構 187
2.4.4 USB接口基本原理與結構 189
2.4.5 SPI接口基本原理與結構 193
2.4.6 IIC接口基本原理與結構 195
2.4.7 PCMCIA接口基本原理與
結構 198
2.5 嵌入式系統網絡接口 199
2.5.1 以太網接口基本原理與
結構 199
2.5.2 CAN總線接口的基本原理
與結構 204
2.5.3 xDSL接口基本原理與結構 209
2.5.4 無線以太網基本原理與
結構 213
2.5.5 藍牙接口基本原理與結構 215
2.5.6 1394接口基本原理與結構 219
2.6 嵌入式系統電源 222
2.6.1 電源接口技術 222
2.6.2 電源管理技術 223
2.7 電子電路設計基礎 227
2.7.1 電路設計 227
2.7.2 PCB電路設計 229
2.7.3 電子設計 236
2.7.4 電子電路測試 241
第3章 嵌入式系統軟件及操作
系統知識 246
3.1 嵌入式軟件基礎 246
3.1.1 嵌入式軟件概述 246
3.1.2 嵌入式軟件分類 247
3.1.3 嵌入式軟件的體系結構 247
3.1.4 設備驅動層 251
3.1.5 嵌入式中間件 253
3.2 嵌入式操作系統概述 254
3.2.1 嵌入式操作系統的概念 254
3.2.2 嵌入式操作系統的分類 255
3.2.3 常見的嵌入式操作系統 258
3.3 任務管理 261
3.3.1 多道程序技術 261
3.3.2 進程、線程和任務 262
3.3.3 任務的實現 270
3.3.4 任務的調度 277
3.3.5 實時系統調度 286
3.3.6 任務間的同步與互斥 290
3.3.7 任務間通信 299
3.4 存儲管理 301
3.4.1 存儲管理概述 301
3.4.2 實模式與保護模式 302
3.4.3 分區(qū)存儲管理 305
3.4.4 地址映射 311
3.4.5 頁式存儲管理 315
3.4.6 虛擬存儲管理 321
3.5 設備管理 328
3.5.1 設備管理基礎 328
3.5.2 I/O控制方式 329
3.5.3 I/O軟件 332
3.6 文件系統 335
3.6.1 嵌入式文件系統概述 335
3.6.2 文件和目錄 336
3.6.3 文件系統的實現 338
第4章 嵌入式軟件程序設計 343
4.1 嵌入式軟件開發(fā)概述 343
4.1.1 嵌入式應用開發(fā)過程 343
4.1.2 嵌入式軟件開發(fā)的特點 343
4.1.3 嵌入式軟件開發(fā)的挑戰(zhàn) 345
4.2 嵌入式程序設計語言 346
4.2.1 程序設計語言概述 346
4.2.2 匯編語言 351
4.2.3 面向過程的語言 355
4.2.4 面向對象的語言 362
4.2.5 匯編、編譯與解釋程序的
基本原理 367
4.3 嵌入式軟件開發(fā)環(huán)境 374
4.3.1 宿主機、目標機 375
4.3.2 嵌入式軟件開發(fā)工具 376
4.3.3 集成開發(fā)環(huán)境 384
4.4 嵌入式軟件開發(fā) 388
4.4.1 嵌入式平臺選型 388
4.4.2 軟件設計 390
4.4.3 嵌入式程序設計 396
4.4.4 編碼 399
4.4.5 測試 402
4.4.6 下載和運行 410
4.5 嵌入式軟件移植 412
4.5.1 無操作系統的軟件移植 412
4.5.2 有操作系統的軟件移植 413
4.5.3 應用軟件的移植 415
第5章 嵌入式系統開發(fā)與維護知識 417
5.1 系統開發(fā)過程及其項目管理 417
5.1.1 系統開發(fā)生命周期各階段的
目標和任務的劃分方法 417
5.1.2 系統開發(fā)項目管理基礎知識及
其常用管理工具使用方法 421
5.1.3 系統開發(fā)工具與環(huán)境知識 425
5.2 系統分析基礎知識 435
5.2.1 系統分析的目的和任務 435
5.2.2 用戶需求 436
5.2.3 系統需求 438
5.2.4 系統規(guī)格說明書的編寫
方法 443
5.3 系統設計知識 447
5.3.1 傳統的系統設計方法 447
5.3.2 實時系統分析與設計 449
5.3.3 軟硬件協同設計方法 452
5.4 系統實施知識 461
5.4.1 系統架構設計 461
5.4.2 系統詳細設計 472
5.4.3 系統測試 475
5.5 系統維護知識 480
5.5.1 系統運行管理 480
5.5.2 系統維護知識 484
5.5.3 系統評價知識 487
第6章 嵌入式系統設計 490
6.1 嵌入式系統設計的特點 490
6.2 嵌入式系統的設計流程 492
6.2.1 產品定義 494
6.2.2 嵌入式系統的軟硬件劃分 495
6.2.3 嵌入式系統硬件設計 496
6.2.4 嵌入式系統的軟件設計 498
6.2.5 系統集成和測試 503
6.3 設計示例:嵌入式數控系統 503
6.3.1 數控系統簡介 505
6.3.2 需求分析 505
6.3.3 系統體系結構設計 506
6.3.4 硬件設計 509
6.3.5 軟件設計 521
6.3.6 系統集成與測試 527