嵌入式系統設計與開發實踐(第2版)(嵌入式系統經典叢書)
內容描述
《嵌入式系統設計與開發實踐(第2版) 全面系統地介紹嵌入式硬件和固件的設計、開發、 集成技術,並討論如何高效地管理開發過程。本書編排精當,採用布魯姆LO(學習目標)分類 方法,保證讀者通過學習獲得預期效果。本書細膩闡明基礎乃至高級概念,每章開頭列出學習 目標,然後穿插大量表格、圖和例題來解釋相應主題;章末附有課後習題、復習題和實驗練習 題,以幫助讀者鞏固所學的知識。本書在上一版的基礎上做了全面細致的更新,融入了嵌入式 系統設計領域的所有前沿開發技術。
海報:
目錄大綱
第Ⅰ部分理解嵌入式系統的基本概念
第1章嵌入式系統簡介3
1.1嵌入式系統的含義3
1.2對比嵌入式系統與通用
計算系統4
1.3嵌入式系統的發展歷程5
1.4嵌入式系統的分類6
1.4.1基於時代的分類6
1.4.2基於復雜度和性能的分類7
1.5嵌入式系統的主要應用領域7
1.6嵌入式系統的用途8
1.6.1數據的採集、存儲與顯示8
1.6.2數據通信9
1.6.3數據(信號)處理10
1.6.4監測10
1.6.5控制10
1.6.6專用用戶界面11
1.7可穿戴設備——嵌入式技術與
生活方式的創新結合11
1.8本章小結12
1.9重要術語13
1.10課後習題14
1.11複習題14
第2章典型的嵌入式系統15
2.1嵌入式系統的內核17
2.1.1通用處理器與專用處理器17
2.1.2專用集成電路24
2.1.3可編程邏輯器件25
2.1.4商用現貨26
2.2存儲器27
2.2.1程序存儲器27
2.2.2讀-寫存儲器/隨機存取
存儲器29
2.2.3基於接口類型的存儲器
分類31
2.2.4存儲器映射31
2.2.5嵌入式系統中的存儲器
選型32
2.3傳感器與激勵器33
2.3.1傳感器34
2.3.2激勵器34
2.3.3 I/O子系統34
2.4通信接口42
2.4.1板上通信接口43
2.4.2外部通信接口48
2.5嵌入式固件56
2.6系統其他元件57
2.6.1復位電路57
2.6.2欠壓保護電路58
2.6.3振盪器58
2.6.4實時時鐘59
2.6.5看門狗定時器59
2.7 PCB與無源元件60
2.8本章小結60
2.9重要術語62
2.10課後習題64
2.11複習題67
2.12實驗練習題68
第3章嵌入式系統的特徵與質量
屬性69
3.1嵌入式系統的特徵69
3.1.1面向特定應用和特定領域69
3.1.2反饋與實時性70
3.1.3能在惡劣環境中工作70
3.1.4分佈式70
3.1.5尺寸小、重量輕71
3.1.6低功耗、節能71
3.2嵌入式系統的質量屬性71
3.2.1工作模式下的質量屬性71
3.2.2非工作模式下的質量屬性73
3.3本章小結75
3.4重要術語76
3.5課後習題76
3.6複習題78
第4章嵌入式系統——面向特定應用與
特定領域79
4.1洗衣機——面向特定應用的嵌
入式系統79
4.2汽車——面向特定領域的嵌入式
系統81
4.2.1汽車嵌入式系統工作的內部
情況81
4.2.2汽車通信總線82
4.2.3汽車嵌入式市場上的主流
廠商83
4.3本章小結85
4.4重要術語85
4.5課後習題86
4.6複習題86
第5章使用8位微控制器8051設計
嵌入式系統87
5.1控制器選型時需要考慮的
因素88
5.1.1功能集合88
5.1.2運行速度88
5.1.3代碼存儲空間88
5.1.4數據存儲空間88
5.1.5開發環境支持88
5.1.6可用性89
5.1.7功耗89
5.1.8成本89
5.2選用8051微控制器的原因89
5.3基於8051的設計89
5.3.1 8051的基本架構89
5.3.2存儲器結構90
5.3.3寄存器96
5.3.4振盪器98
5.3.5端口99
5.3.6中斷114
5.3.7 8051中斷系統115
5.3.8定時器125
5.3.9串口132
5.3. 10復位電路143
5.3.11省電節能模式144
5.4 8052微控制器148
5.5 8051/52的衍生產品148
5.5.1 Atmel公司的
AT89C51RD2/ED2 149
5.5.2 Maxim公司的
DS80C320/DS80C323 149
5.6本章小結149
5.7重要術語151
5.8課後習題151
5.9複習題155
5.10實驗練習題157
第6章基於8051微控制器的編程159
6.1 8051支持的各種尋址模式160
6.1.1直接尋址160
6.1.2間接尋址160
6.1.3寄存器尋址161
6.1.4立即尋址162
6.1.5索引尋址162
6.2 8051指令集166
6.2.1數據傳輸指令166
6.2.2算術運算指令171
6.2.3邏輯指令178
6.2.4布爾運算指令183
6.2.5程序控制轉移指令185
6.3本章小結187
6.4重要術語188
6.5課後習題189
6.6複習題195
6.7實驗練習題196
第7章軟硬件協同設計與程序
建模197
7.1軟硬件協同設計的基本
概念198
7.2嵌入式設計的計算模型199
7.2.1數據流程圖模型200
7.2.2控制數據流程圖200
7.2.3狀態機模型201
7.2.4順序程序模型204
7.2.5並發處理模型/通信處理
模型206
7.2.6面向對像模型207
7.3統一建模語言簡介208
7.3.1 UML構建塊208
7.3.2 UML工具212
7.4軟硬件權衡212
7.5本章小結213
7.6重要術語214
7.7課後習題215
7.8複習題216
7.9實驗練習題217
第Ⅱ部分嵌入式產品的設計與開發
第8章嵌入式硬件設計與開發223
8.1模擬電子元件224
8.2數字電子元件225
8.2.1集電極開路與三態輸出225
8.2.2邏輯門226
8.2.3緩衝器227
8.2.4鎖存器227
8.2.5譯碼器228
8.2.6編碼器228
8.2.7多路復用器229
8.2.8多路輸出選擇器230
8.2.9組合電路230
8.2.10時序電路232
8.3 VLSI與集成電路設計236
8.4電子設計自動化工具241
8.5 OrCAD EDA工具的用法242
8.6使用OrCAD的Capture CIS
工具實現電路圖設計242
8.6.1電路圖繪製窗口245
8.6.2電路圖繪圖工具245
8.6.3電路圖繪製明細249
8.6.4創建元件編號251
8.6.5設計規則檢查252
8.6.6創建材料清單253
8.6.7創建網表254
8.7 PCB佈局佈線設計257
8.7.1佈局佈線構建塊257
8.7.2使用OrCAD佈局佈線工具
完成佈局佈線設計262
8.7. 3 PCB佈局佈線準則277
8.8印刷電路板製造278
8.8.1各種類型的PCB 278
8.8.2 PCB製造方法279
8.8.3 PCB設計完成後,電路板外形
及其調試測試280
8.9本章小結283
8.10重要術語284
8.11課後習題285
8.12複習題288
8.13實驗練習題289
第9章嵌入式固件設計與開發293
9.1嵌入式固件設計方法294
9.1.1基於超循環的方法294
9.1.2基於嵌入式操作系統的
方法296
9.2嵌入式固件開發語言296
9.2.1基於彙編語言的開發296
9.2.2基於高級語言的開發303
9.2.3彙編語言與高級語言混合
編程305
9.3嵌入式C編程308
9.3.1對比C語言與嵌入式C
語言308
9.3.2對比編譯器與交叉
編譯器308
9.3.3在嵌入式C編程中使用C
語言309
9.4本章小結358
9.5重要術語359
9.6課後習題360
9.7複習題365
9.8實驗練習題367
第10章基於實時操作系統的嵌入式
系統設計369
10.1操作系統基礎知識370
10.2操作系統分類374
10.2.1通用操作系統374
10.2.2實時操作系統374
10.3任務、進程與線程379
10.3.1進程379
10.3. 2線程381
10.4多處理與多任務390
10.5任務調度391
10.5.1非搶占式調度393
10.5.2搶占式調度401
10.6結合使用線程、進程與
調度410
10.7任務通信414
10.7.1存儲器共享415
10.7. 2消息傳遞421
10.7.3遠程過程調用與套接字426
10.8任務同步430
10.8.1任務通信/同步問題430
10.8.2任務同步技術442
10.9設備驅動程序460
10.10選擇RTOS的方法462
10.10.1功能性需求462
10.10.2非功能性需求463
10.11本章小結464
10.12重要術語466
10.13課後習題468
10.14複習題479
10.15實驗練習題483
第11章基於VxWorks與MicroC/OS-II
RTOS的嵌入式系統設計
簡介485
11.1 VxWorks 486
11.1.1任務創建與管理486
11.1.2任務調度489
11.1.3內核服務489
11.1.4任務間通信490
11.1.5任務同步與互斥494
11.1.6中斷處理497
11.1.7監控任務執行的看門狗499
11.1.8定時與定時基準500
11.1.9 VxWorks開發環境500
11.2 MicroC/OS-II 500
11.2.1任務創建與管理500
11.2.2內核函數與初始化506
11.2.3任務調度507
11.2.4任務間通信509
11.2.5互斥與任務同步514
11.2.6定時與定時基準524
11.2.7存儲器管理525
11.2.8中斷處理525
11.2.9 MicroC/OS-II開發環境527
11.3本章小結527
11.4重要術語528
11.5課後習題529
11.6複習題531
11.7實驗練習題532
第12章嵌入式硬件與固件的集成與
測試537
12.1硬件與固件的集成538
12.1.1離線編程538
12.1.2在系統編程540
12.1.3在應用編程541
12.1.4使用廠家編程芯片542
12.1.5對基於操作系統的器件
實現固件加載542
12.2電路板加電542
12.3本章小結543
12.4重要術語544
12.5複習題544
第13章嵌入式系統開發環境545
13.1集成開發環境546
13.1.1基於8051的Keil μ
Vision 547
13.1.2嵌入式系統開發IDE
概述570
13.2交叉編譯過程中生成的
各種文件572
13.2.1列表文件(.LST) 572
13.2.2預處理器輸出文件575
13.2.3目標文件(.OBJ) 575
13.2.4 Map文件(.MAP) 575
13.2.5 Hex文件(.HEX) 578
13.3反彙編器與反編譯器580
13.4模擬器、仿真器與調試581
13.4.1模擬器581
13.4.2仿真器與調試器582
13.5目標硬件調試589
13.5.1放大鏡589
13.5.2萬用表589
13.5.3數字CRO 589
13.5.4邏輯分析儀590
13.5.5函數生成器590
13.6邊界掃描590
13.7本章小結592
13.8重要術語593
13.9課後習題593
13.10複習題595
13.11實驗練習題595
第14章產品外殼設計與開發597
14.1產品外殼設計工具598
14.2產品外殼開發技術598
14.2.1外殼手工設計598
14.2.2快速原型開發599
14.2.3加工與製模599
14.2.4金屬薄板600
14.2.5商用現貨外殼600
14.3本章小結600
14.4重要術語602
14.5課後習題602
14.6複習題602
第15章嵌入式產品開發生命週期603
15.1 EDLC的含義604
15.2 EDLC的作用604
15.3 EDLC的目標604
15.3.1保障產品質量605
15.3.2通過管理降低風險並預防
缺陷605
15.3.3提高生產效率606
15.4 EDLC的各個階段606
15.4.1需求607
15.4.2概念成型608
15.4.3分析610
15.4.4設計612
15.4.5開發與測試613
15.4.6部署614
15.4.7支持615
15.4.8升級616
15.4.9退市616
15.5 EDLC方法(EDLC建模) 617
15.5.1線性/瀑布模型617
15.5.2迭代/增量模型(也稱為噴泉
模型) 618
15.5.3原型/演化模型619
15.5.4螺旋模型620
15.6本章小結621
15.7重要術語622
15.8課後習題623
15.9複習題624
第16章嵌入式產業發展趨勢625
16.1嵌入式系統處理器發展
趨勢625
16.1.1片上系統626
16.1.2系統級封裝627
16.1.3多核處理器/片上多
處理器627
16.1.4可重構處理器628
16.2嵌入式操作系統發展趨勢628
16.3開發語言發展趨勢629
16.3.1基於Java的嵌入式開發629
16.3.2基於.NET CF的嵌入式
開發631
16.4開放式標準、框架與聯盟632
16.4.1開放式移動聯盟632
16.4.2開放式手機聯盟632
16.4.3 Android 632
16.4.4 Tizen 632
16.5瓶頸633
16.5.1性能、電源優化和熱量
管理633
16.5.2缺少標准或標準執行力度
不夠633
16.5. 3缺少專業的人力資源633
16.6開發平台的發展趨勢633
16.6.1 Arduino 634
16.6.2 BeagleBone 634
16.6.3 Sharks Cove 634
16.6.4 MinnowBoard MAX 634
16.6.5 Raspberry Pi 634
16.6.6英特爾的Galileo Gen 2 635
16.7雲、物聯網和嵌入式系統——
未來的重要發展635
附錄A PIC系列微控制器、AVR系列
微控制器、ARM處理器
簡介637
附錄B設計案例研究655
作者介紹
作者:Shibu Kizhakke Vallathai
Shibu是一位資深技術架構師,擁有豐富的嵌入式系統H/W與固件開發經驗,在微控制器、實時操作系統(Windows CE/Mobile 7.0、MicroC/OS-II、VxWorks 、RTX-51)、設備驅動程序、引導程序和設備接口等領域擁有豐富的知識和深厚的技術積澱。Shibu曾任CDAC高級研究員、Infosys Technologies公司高級技術架構師,目前供職於美國微軟公司,擔任高級固件工程師。Shibu在印度Calicut大學儀表與控制工程學院獲得工學學士學位。