嵌入式系統體系結構、編程與設計(第3版)

嵌入式系統體系結構、編程與設計(第3版)

《嵌入式系統體系結構、編程與設計(第3版)》的原作者是Raj Kamal,由郭俊鳳翻譯,清華大學出版社出版。

基本介紹

  • 中文名:嵌入式系統體系結構、編程與設計(第3版)
  • 作者:[印] Raj Kamal
  • 譯者:郭俊鳳
  • 出版時間:2017年05月01日
  • 出版社清華大學出版社 
  • ISBN:9787302468806
  • 定價:98 元
內容,目錄,

內容

《嵌入式系統 體系結構、編程與設計(第3版)》將幫助讀者深入理解嵌入式系統軟硬體設計的基礎知識。本書通俗易懂,穿插大量圖形、示例、樣例代碼和系統設計案例,便於學生查閱和學習。 ◆ 新版用更多篇幅講述嵌入式系統的設計和開發過程 ◆ 包含學術界和研究人員感興趣的新技術領域,如片上系統設計、計算系統的高級體系結構、分散式聯網嵌入體系結構和車載技術 ◆ 透徹闡述嵌入式硬體的體系結構、設計過程、設計方法、接口技術、匯流排、協定、硬體中斷、軟體中斷、嵌入式軟體編程、程式建模、進程間同步和實時作業系統 ◆ 在示例的引導下全面分析廣泛使用的RTOS:μCOS-II、VxWorks、Windows CE、OSEK和實時Linux ◆ 包含多個案例研究(朱古力自動售賣機、數位相機、TCP/IP堆疊創建、機器人管弦樂隊、自動巡航控制、智慧卡、在行動電話中輸入SMS),呈現程式建模方法以及系統設計的軟體工程實踐

目錄

第1章 嵌入式系統簡介 1
1.1 嵌入式系統 2
1.1.1 系統 2
1.1.2 嵌入式系統 2
1.1.3 嵌入式系統和通用計算系統 3
1.2 嵌入系統中的處理器 5
1.2.1 微處理器 5
1.2.2 微控制器 6
1.2.3 ARM 8
1.2.4 RISC 8
1.2.5 CISC 9
1.2.6 SoC 9
1.2.8 專用處理器 9
1.3 系統中的嵌入式硬體
單元和設備 11
1.3.1 構建塊 11
1.3.2 嵌入板 16
1.4 嵌入式系統中的軟體和
程式語言概述 16
1.4.1 嵌入式軟體ROM映像 16
1.4.2 用機器碼編寫軟體 17
1.4.3 用特定於處理器的彙編
語言編寫軟體 18
1.4.4 用高級語言編寫軟體 18
1.5 嵌入式系統的設計過程 20
1.6 嵌入式系統的體系結構 21
1.7 嵌入式系統的模型 22
1.8 嵌入式系統的分類 24
1.9 嵌入式系統設計者需要
具備的技能 25
1.10 示例嵌入式系統 26
本章小結 28
關鍵字及其定義 28
複習題 32
實踐練習題 33
第2章 嵌入式系統的設計和開發過程 35
2.1 嵌入式片上系統(SoC)和
VLSI電路設計技術 36
2.1.1 SoC 36
2.1.2 VLSI電路設計技術 38
2.1.3 SoC或VLSI設計中
使用的ASIC 38
2.1.4IP核38
2.1.5多個處理器39
2.2複雜系統設計和處理器39
2.2.1複雜系統和微處理器39
2.2.2使用嵌入式處理器構建
複雜系統43
2.3嵌入式系統的構建過程44
2.4嵌入式系統的設計過程44
2.4.1設計過程中使用的概念44
2.4.2軟體設計過程45
2.4.3設計指標46
2.4.4設計過程中的抽象步驟47
2.5嵌入式系統設計中的挑戰48
2.6嵌入式系統設計中的挑戰:
最佳化設計指標49
2.7嵌入式軟體開發的
挑戰和問題51
2.8嵌入式系統中軟硬體的
協同設計52
2.8.1軟硬體的權衡54
2.8.2嵌入式系統中軟硬體協同設
計的挑戰:最佳化設計指標54
2.9嵌入式系統的設計技術54
2.9.1IC技術54
2.9.2VLSI技術56
2.10系統設計的形式化56
2.11設計過程和設計案例57
2.11.1朱古力自動售賣機(ACVM)57
2.11.2智慧卡59
2.11.3數位相機62
本章小結64
關鍵字及其定義65
複習題66
實踐練習題67
第3章8051、AVR和ARM微控制器、
現實中的接口和I/O匯流排69
3.1微控制器和微處理器簡介70
3.2嵌入式和外部存儲器設備70
3.3微控制器-8051的體系結構71
3.3.18051微控制器的硬體
體系結構71
3.3.2ATMEL89x51系列微控制器
硬體體系結構72
3.3.3ATMEL90Sxx系列73
3.3.4指令集73
3.3.5IO連線埠、電路以及IO編程76
3.3.6外部存儲器接口電路77
3.3.7計數器和定時器78
3.3.8串列數據通信輸入/輸出79
3.3.98051中的中斷80
3.4ATMELAVR微控制器80
3.5ARM微控制器82
3.6計算機系統匯流排83
3.6.1CPU/微處理器系統匯流排83
3.6.2存儲器設備接口86
3.7現實的接口88
3.7.1現實接口電路中的設備地址88
3.7.2I/O設備和組件的連線89
3.7.3I/O:管理數據90
3.7.4串列和並行I/O91
3.7.5設備中斷和IO93
3.8I/O性能93
3.9I/O匯流排94
3.9.1匯流排仲裁95
3.9.2菊花鏈方式96
3.9.3獨立匯流排請求方式96
3.9.4匯流排輪詢方式97
3.10面向網路的匯流排仲裁97
3.11匯流排98
3.11.1體系結構:單層、雙層和
多層98
3.11.2仲裁:集中式和分散式98
3.11.3定時99
3.11.4匯流排性能100
3.12多級匯流排100
本章小結101
關鍵字及其定義102
複習題105
實踐練習題105
第4章高級體系結構和處理器-
存儲器的組織107
4.1處理器和存儲器組織108
4.1.1Harvard存儲器體系結構108
4.1.2VonNeumann(Princeton)
存儲器體系結構110
4.1.3Harvard體系結構的
存儲器接口電路110
4.1.4通用存儲器接口電路110
4.2高級處理器體系結構介紹111
4.2.1處理器中的結構單元112
4.2.2高級處理器體系結構113
4.3處理器的組織115
4.3.1處理器組織方式:處理器的
CISC設計115
4.3.2處理器組織方式:處理器的
RISC設計116
4.4指令級並行性117
4.5INTELx86體系結構(8086、80386、80486和奔騰)119
4.5.180386的體系結構120
4.5.280486的體系結構120
4.5.3奔騰P5(80586)和P6的
體系結構120
4.6ARM120
4.7SHARC122
4.8存儲器類型和地址124
4.8.1合併存儲器124
4.8.2嵌入式存儲器126
4.8.3ROM變種126
4.8.4RAM、SRAM和DRAM128
4.8.5快閃記憶體129
4.8.6快閃記憶體卡130
4.9存儲器地址130
4.9.1將記憶體分配給程式段和塊130
4.9.2存儲器映射130
4.10存儲器層次結構和快取131
4.11性能指標132
4.11.1處理器的性能133
4.11.2存儲器的性能133
4.11.3嵌入式系統的性能133
4.12處理器和存儲器設備的
選擇134
4.12.1處理器的選擇134
4.12.2處理器或微控制器版本的
選擇134
4.12.3微控制器版本的選擇135
本章小結135
關鍵字及其定義136
複習題138
實踐練習題139
第5章IO設備、通信匯流排和分散式
聯網的嵌入式體系結構141
5.1I/O的類型和示例142
5.1.1同步串列輸入143
5.1.2同步串列輸出144
5.1.3同步串列輸入/輸出144
5.1.4異步串列輸入144
5.1.5異步串列輸出145
5.1.6半雙工與全雙工145
5.1.7串列I/O示例145
5.1.8並口146
5.1.9串並輸出和輸入146
5.1.10並行IO的示例146
5.2串列通信設備147
5.2.1串列設備的同步、準同步
和異步通信147
5.2.2UART模式(協定)異步
串列通信148
5.2.3IBMPCCOM連線埠上的
串列RS232C通信150
5.2.4HDLC協定151
5.2.5同步串列數據通信的SPI
連線埠152
5.2.6異步UART串列數據
通信的SCI連線埠153
5.2.7同步和異步串列數據
通信的串列接口(SI)153
5.2.8SDIO、SPI1-SD和4-SD
數據通信154
5.3並行設備連線埠155
5.3.1與開關和小鍵盤連線的
並行連線埠156
5.3.2與編碼器連線的並行連線埠157
5.3.3與步進電機連線的
並行連線埠158
5.3.4與LCD控制器連線的
並行連線埠158
5.3.5與觸控螢幕連線的並行連線埠159
5.4設備連線埠的複雜接口特性159
5.5無線設備160
5.6定時器和計數設備160
5.6.1定時設備161
5.6.2計數設備161
5.6.3帶計數設備的定時器161
5.6.4兩個實例之間的時間間隔161
5.6.5預設時間的輸出動作161
5.6.6軟體定時器162
5.6.7watchdog定時器162
5.6.8實時時鐘162
5.7分散式網路嵌入式
系統結構163
5.7.1匯流排的優點163
5.7.2匯流排的缺點164
5.8串列匯流排通信協定164
5.8.1I2C匯流排165
5.8.2CAN匯流排166
5.8.3USB匯流排168
5.8.4FireWire——IEEE1394
匯流排標準169
5.8.5先進的串列高速匯流排170
5.9並行匯流排設備協定——
使用ISA、PCI、PCI-X和
高級匯流排的並行通信網路170
5.9.1ISA和EISA匯流排171
5.9.2PCI和PCI/X匯流排171
5.9.3ARM匯流排173
5.9.4高級並行高速匯流排174
5.10支持Internet的系統——
網路協定174
5.10.1超文本傳輸協定(HTTP)175
5.10.2傳輸控制協定(TCP)176
5.10.3用戶數據報協定(UDP)176
5.10.4Internet協定(IP)176
5.10.5Ethernet(乙太網)177
5.11無線和移動系統協定177
5.11.1紅外數據協會(IrDA)177
5.11.2藍牙178
5.11.3802.11179
5.11.4ZigBee180
本章小結180
關鍵字及其定義181
複習題185
實踐練習題186
第6章設備驅動程式和中斷
服務機制189
6.1不使用中斷服務機制的
編程式I/O的設備訪問
連線埠189
6.1.1IntelI/O結構192
6.1.2同步193
6.1.3傳輸率194
6.1.4延遲194
6.2中斷驅動的輸入輸出195
6.3ISR的概念196
6.4中斷源197
6.5硬體中斷198
6.6軟體中斷199
6.6.1異常和異常處理程式200
6.6.2信號和信號處理程式201
6.7中斷服務機制202
6.7.1阻止中斷的溢出202
6.7.2禁用中斷203
6.7.3不可禁止的中斷和可
禁止的中斷203
6.7.4中斷狀態暫存器或中
斷掛起暫存器204
6.7.5中斷向量204
6.8多中斷206
6.8.1多中斷調用206
6.8.2硬體分配的優先權206
6.8.3軟體重寫硬體優先權,以
滿足服務的最後期限207
6.8.4啟用和禁用中斷,重寫硬體
優先權,以滿足服務的最後
期限207
6.9中斷服務執行緒作為二級
中斷處理程式207
6.10上下文和上下文切換周期208
6.11中斷延遲210
6.12中斷服務的最終期限211
6.13從上下文保存的角度對處理
器中斷服務機制的分類211
6.14直接存儲器訪問
驅動的I/O212
6.14.1DMA212
6.14.2同一中斷源生成多個快速
連續中斷時的DMA通道
使用212
6.14.3DMA控制器212
6.15設備驅動程式編程214
6.15.1編寫系統中的物理設備
驅動ISR215
6.15.2作業系統中的設備驅動
程式組件215
6.15.3用系統軟體函式模擬
物理設備215
6.15.4作為設備驅動和網路
函式的Linux內幕216
本章小結217
關鍵字及其定義218
複習題220
實踐練習題221
第7章編程概念及C、C++和
Java的嵌入式編程223
7.1用彙編語言(ALP)和高級
語言C進行軟體編程224
7.1.1彙編語言編程224
7.1.2高級語言編程224
7.2C程式中的元素:頭檔案、
源檔案以及預處理指令225
7.2.1用於包含檔案的include
指令226
7.2.2源檔案227
7.2.3配置檔案227
7.2.4預處理指令227
7.3程式元素:宏與函式227
7.4程式元素:數據類型、數據
結構、修飾符、語句、循環
和指針229
7.4.1數據類型229
7.4.2修飾符的使用230
7.4.3指針和NULL指針230
7.4.4使用數據結構:堆疊、佇列、
數組、鍊表、樹、管道、表
格和哈希表230
7.4.5堆疊232
7.4.6多個堆疊232
7.4.7數組233
7.4.8佇列233
7.4.9鍊表234
7.4.10循環佇列234
7.4.11優先佇列235
7.4.12管道235
7.4.13表和哈希表236
7.5循環、無限循環以及條件
語句237
7.6函式調用242
7.7按照循環順序進行的
多函式調用242
7.8函式指針和函式佇列244
7.9發生中斷時函式的排列和
中斷服務例程佇列245
7.10嵌入式C和C++:其他
功能246
7.10.1編譯器和最佳化247
7.10.2編程和彙編248
7.10.3暫存器的使用約定248
7.10.4定址選項和指令序列的
典型用法249
7.10.5過程調用和返回250
7.10.6參數的傳遞250
7.10.7檢索參數250
7.10.8按值傳遞的臨時變數251
7.11面向對象編程251
7.12C++嵌入式編程251
7.12.1C++的優點251
7.12.2C++的缺點252
7.13嵌入式C++程式的代碼
最佳化以消除缺點253
7.14用Java進行嵌入式編程253
7.14.1Java編程基礎253
7.14.2使用Java編程的優點255
7.14.3Java的缺點255
本章小結255
關鍵字及其定義256
複習題259
實踐練習題259
第8章程式建模的概念261
8.1程式模型262
8.2基於數據流圖的程式模型265
8.2.1數據流圖266
8.2.2控制數據流圖模型267
8.2.3同步數據流圖(SDFG)模型269
8.3用於事件控制程式的
狀態機編程模型270
8.3.1狀態機編程模型270
8.3.2有限狀態機(FSM)模型271
8.3.3FSM狀態表272
8.4多處理器系統的建模275
8.4.1多處理器系統275
8.4.2圖在多處理器系統中的
套用:劃分和調度278
8.5UML建模279
本章小結283
關鍵字及其定義284
複習題285
實踐練習題285
第9章實時作業系統I:進程間通信與
進程、任務和執行緒的同步287
9.1應用程式中的多個進程288
9.1.1進程288
9.1.2進程控制塊(PCB)289
9.1.3進程上下文289
9.2應用程式中的多執行緒290
9.2.1進程的多個執行緒290
9.2.2多執行緒的編程290
9.2.3搶占式和非搶占式291
9.3任務291
9.4任務和執行緒狀態292
9.4.1調度執行緒和執行緒狀態292
9.4.2掛起的執行緒293
9.4.3上下文切換293
9.5任務和數據294
9.5.1上下文294
9.5.2上下文切換295
9.5.3任務控制塊295
9.5.4無限事件等待循環的
任務編碼295
9.6通過函式、ISR、IST和
任務的特徵進行區分296
9.7進程間通信和同步297
9.8信號函式298
9.9信號量的概念300
9.9.1OS的信號量IPC函式300
9.9.2作為事件信號變數或
通報變數的信號量的使用301
9.9.3作為資源鍵的信號量以及
信號量在臨界段中的使用302
9.9.4使用多個信號量同步任務304
9.9.5多個任務等待同一信號量306
9.9.6計數信號量307
9.9.7P和V信號量307
9.10禁用和啟用函式312
9.10.1禁用和啟用中斷312
9.10.2鎖定和解鎖函式312
9.11共享數據問題313
9.11.1多任務和多中斷服務
例程的數據共享問題313
9.11.2共享數據問題的解決
方法314
9.11.3優先權反轉問題和
優先權繼承315
9.11.4死鎖情況316
9.12佇列和信箱316
9.12.1佇列316
9.12.2信箱318
9.13管道和套接字321
9.13.1管道321
9.13.2套接字323
9.14遠程過程調用(RPC)函式326
本章小結326
關鍵字及其定義327
複習題328
實踐練習題329
第10章實時作業系統II:OS和
RTOS的基本功能331
10.1OS服務332
10.1.1OS服務目標332
10.1.2用戶和管態結構332
10.1.3結構333
10.1.4核心333
10.2進程管理334
10.3定時器函式334
10.4事件函式336
10.5存儲器管理336
10.6設備、檔案及IO子
系統管理337
10.6.1設備管理337
10.6.2檔案系統的組織和實現339
10.6.3I/O子系統342
10.7RTOS環境中的中斷
例程和中斷源調用處理342
10.7.1通過中斷源以及ISR
傳送ISR輸入訊息直接
調用ISR343
10.7.2RTOS首先回響中斷,
接著OS調用相應的ISR343
10.7.3RTOS首先回響中斷,調用
對應的ISR,之後ISR把消
息傳送給中斷服務執行緒344
10.7.4通過ISR接收IPC事件345
10.8實時作業系統345
10.9使用RTOS進行基本設計346
10.9.1RTOS基本設計原則:
15個設計策略347
10.9.2節約存儲器和功耗350
10.10RTOS任務調度模型353
10.11作業系統的安全問題354
10.12OS標準:POSIX354
10.12.1IEEE標準POSIX1003.1b
的RTOS標準化和進程
間通信函式355
10.12.2IEEE標準POSIX1003.1b
的IO函式356
10.12.3IEEE標準POSIX1003.1b
的檔案函式356
10.13作為性能指標的中斷
延遲和任務回響時間356
10.13.1周期、突發以及非周期
任務的調度模型中延遲和
最後期限的性能指標356
10.13.2使用CPU負載作為
性能指標357
10.13.3突發任務模型作為性能
指標357
10.14OS性能準則358
10.15中間件:含義和示例358
10.16套用層軟體:含義和
例子358
本章小結359
關鍵字及其定義360
複習題360
實踐練習題361
第11章實時作業系統編程:
MicroC/OS-II和VxWorks363
11.1RTOS364
11.1.1RTOS中的基本函式364
11.1.2當前的實時作業系統365
11.1.3RTOS的類型365
11.1.4實時系統的基準簡介367
11.2μC/OS-II(MUCOS)367
11.2.1系統級函式369
11.2.2任務服務函式374
11.2.3與存儲器分配相關的
函式381
11.2.4信號量相關函式384
11.2.5信箱相關函式388
11.2.6佇列相關函式393
11.3基於UNIX的實時操作
系統398
11.3.1pSOS398
11.3.2VrTx398
11.3.3QNXRTOS398
11.4RTOSVxWorks399
11.4.1基本特性400
11.4.2系統庫頭檔案中的任務
管理庫402
11.4.3VxWorks系統函式和
系統任務405
11.4.4IPC函式408
本章小結419
關鍵字及其定義421
複習題422
實踐練習題423
第12章實時Linux、WindowsCE、
OSEK、手持設備和汽車操作
系統425
12.1POSIX兼容作業系統426
12.2實時Linux作業系統426
12.2.1用於嵌入式系統的Linux——
嵌入式Linux426
12.2.2RTLinux431
12.3WindowsCE435
12.3.1WindowsCE的特點436
12.3.2WindowsCE編程438
12.3.3視窗和視窗管理439
12.3.4記憶體管理439
12.3.5檔案和註冊表440
12.3.6WindowsCE資料庫441
12.3.7進程、執行緒和IPC442
12.3.8按鍵、觸控螢幕、滑鼠的
輸入445
12.3.9通信和網路446
12.3.10設備間套接字通信函式448
12.3.11創建視窗449
12.3.12Win32API編程449
12.3.13嵌入式系統的Windows8
和WindowsEmbedded
Compact2013451
12.4OSEK451
本章小結453
關鍵字及其定義455
複習題458
實踐練習題459
第13章RTOS編程和程式建模設
計示例與案例研究461
13.1嵌入式系統設計的案例研究以
及使用MUCOSRTOS對巧克
力自動售賣機(ACVM)編碼462
13.1.1需求462
13.1.2規範463
13.1.3使用UML為規範建模464
13.1.4ACVM的硬體體系結構467
13.1.5軟體體系結構468
13.2數位相機的案例研究470
13.2.1需求470
13.2.2類圖473
13.2.3數位相機的硬體體系
結構474
13.2.4數位相機的軟體體系
結構475
13.3給IP包套用通信網路
路由器477
13.3.1使用VxWorks將套用層
位元組流傳送到TCP/IP網路
的編碼案例研究477
13.3.2需求477
13.3.3類圖、類和對象478
13.4管弦樂隊機器人之間通信的
案例研究483
13.4.1需求485
13.4.2類和類圖486
13.4.3狀態圖488
13.4.4機器人管弦樂隊MIDI通信
的硬體和軟體體系結構488
13.5汽車中的嵌入式系統489
13.6汽車中自適應巡航控制(ACC)
系統的嵌入式系統案例研究490
13.6.1需求491
13.6.2類圖495
13.6.3ACC硬體體系結構496
13.6.4ACC軟體體系結構497
13.6.5ACC軟體任務、同步模型
和實現497
13.7汽車中嵌入式編程的一般語
言特徵、MISRA-C的特徵497
13.8智慧卡中的嵌入式系統
案例研究498
13.8.1需求498
13.8.2類圖499
13.8.3硬體和軟體體系結構500
13.8.4同步模型501
13.9行動電話鍵輸入軟體
案例研究502
13.9.1需求503
13.9.2類和類圖507
13.9.3狀態圖509
13.9.4SMS按鍵硬體509
本章小結510
關鍵字及其定義512
複習題515
實踐練習題516
第14章嵌入式軟體開發過程和工具519
14.1嵌入式軟體開發過程和
工具概述519
14.1.1開發過程和軟硬體519
14.1.2軟體工具520
14.1.3原始碼工程管理工具521
14.1.4集成開發環境(IDE)522
14.2宿主機和目標機523
14.2.1宿主系統523
14.2.2目標系統525
14.3連結和定位軟體526
14.3.1檔案、定址和地址解決
方法的區別527
14.3.2MotorolaS-record和IntelHex
二進制映像格式的定位器
輸出檔案528
14.3.3用於定位器編碼的存儲器
映射528
14.4將嵌入式軟體植入目標系統530
14.4.1設備PROM或者快閃記憶體
編程器530
14.4.2設備編程器的編程方式531
14.5硬體/軟體設計和協同
設計中的問題531
14.5.1選擇合適的平台532
14.5.2存儲器敏感和處理器敏感
軟體535
14.5.3存儲器、程式段和設備
地址分配535
14.5.4嵌入式平台中OS的移植
問題538
14.6程式級別的性能分析和
性能建模539
14.6.1程式級別的性能分析和
系統性能指標539
14.6.2多處理器系統性能539
14.6.3MIP、MFLOP和DMIPS
作為性能指標539
14.7性能和性能加速器540
本章小結540
關鍵字及其定義541
複習題543
實踐練習題543
第15章測試、模擬和調試技術與
工具545
15.1集成和測試嵌入式硬體545
15.1.1測試嵌入式系統546
15.1.2可測試性的設計547
15.1.3斷言宏547
15.1.4自測的設計547
15.1.5在宿主機上進行測試548
15.2測試方法548
15.2.1錯誤跟蹤548
15.2.2單元測試549
15.2.3回歸測試549
15.2.4選擇測試用例549
15.2.5功能測試550
15.2.6覆蓋測試550
15.2.7測試嵌入式軟體550
15.2.8性能測試551
15.2.9維護551
15.3調試技術551
15.3.1模擬器551
15.3.2模擬器的特性552
15.3.3模擬器的局限性552
15.3.4模擬工具軟體553
15.3.5嵌入式系統的原型開發、
測試和調試工具553
15.4試驗工具和目標硬體的調試554
15.4.1簡單的伏特-歐姆表554
15.4.2簡單的LED測試和邏輯
探測器555
15.4.3示波器555
15.4.4位率測量儀556
15.4.6電路內置仿真器(ICE)557
15.4.7監視器559
本章小結560
關鍵字及其定義560
複習題561
實踐練習題561
附錄A大學生、研究生、專業
培訓學生的不同課程的學習
路線圖563
附錄B參考文獻565

相關詞條

熱門詞條

聯絡我們