日本免费精品视频,男人的天堂在线免费视频,成人久久久精品乱码一区二区三区,高清成人爽a毛片免费网站

在線客服
實時嵌入式系統·設計原則與工程實踐圖書
人氣:37

實時嵌入式系統·設計原則與工程實踐

補充包,其中包括PPT講義和源代碼。下載PPT講義和源代碼。

內容簡介

本書融入了實時系統、嵌入式系統和軟件工程的新概念和新主題,為開發實時嵌入式應用軟件描繪了一幅完整的圖像。在本書中,你不僅可以地理解與微處理器、中斷和系統引導過程相關的概念,領略到實時建模和調度的重要性,而且也將學習建模文檔、建模分析、設計模式和標準的一致性等軟件工程實踐。 本書分為四個部分,幫助你學習嵌入式系統的關鍵概念;第Ⅰ部分介紹了開發過程,包括微處理器和中斷章節——這是軟件工程師的基本主題;第Ⅱ部分專門介紹了實時系統的建模技術;第Ⅲ部分討論了軟件體系架構的設計;第Ⅳ部分檢驗了軟件的實現,并重點關注POSIX兼容的操作系統。 主要特色 涵蓋了的UML標準(UML 2.4) 超過20種具有代表性,可以在一個非常廣泛的實時嵌入式系統系列中重用的的設計模式實踐 在QNX中通過測試的示例代碼,QNX是在行業中廣泛采用的實時操作系統。 主要內容 不同嵌入式系統架構的利弊 POSIX實時擴展以及如何開發POSIX兼容的實時應用程序 如何使用實時UML記錄具有時序約束的系統設計 與跨平臺開發相關的概念以及所面臨的挑戰 多任務設計和任務間通信技術(共享內存對象、消息隊列、管道、信號) 如何使用內核對象(如信號量、互斥體、條件變量)來解決RTOS應用程序資源共享的問題 支持“資源管理器”這個概念的原理,以及如何使用資源管理器實現虛擬文件系統 實時調度和幾個關鍵算法的基本原則

編輯推薦

本書介紹開發實時嵌入式軟件至關重要的三個方面。首先,開發實時嵌入式系統軟件涉及許多活動,包括需求規格說明、時序分析、體系架構設計、多任務設計以及跨平臺的測試和調試。本書涵蓋嵌入式軟件開發的全過程,對一些主題進行充分的解釋,而對另外一些主題則一筆帶過(例如,調試和測試)。

作者簡介

Xiaocong Fan是賓夕法尼亞州立大學計算機和軟件工程學院的副教授。他的研究領域包括軟件工程中的多智能體系統和形式化方法,以及先進的決策支持系統。他是一些智能系統(如RCAST和SMMall)的主要設計師。Fan博士是IEEE的高級會員。

目錄

第Ⅰ部分 引

第1章 嵌入式系統和實時系統導論 1

1.1 嵌入式系統 3

1.2 實時系統 4

1.2.1 軟實時系統 4

1.2.2 硬實時系統 5

1.2.3 實時系統的范圍 6

1.3 案例分析:雷達系統 7

1.4 習題 10

第2章 跨平臺開發 11

2.1 跨平臺開發流程 11

2.2 硬件架構 12

2.3 軟件開發 13

2.3.1 軟件設計 13

2.3.2 系統編程語言C/C 13

2.3.3 測試硬件無關模塊 18

2.4 生成目標映像 18

2.4.1 交叉開發工具鏈 18

2.4.2 可執行和鏈接格式 21

2.4.3 內存映射 26

2.4.4 案例研究:制作QNX映像 28

2.5 轉移可執行文件對象到

目標平臺 29

2.6 在目標系統上的集成測試 30

2.7 系統生產 30

2.8 習題 31

第3章 微處理器入門 33

3.1 微處理器簡介 33

3.1.1 常用的微處理器 33

3.1.2 微處理器特性 35

3.2 PIC18F8720微型芯片 38

3.2.1 存儲器組織 39

3.2.2 字寫模式 41

3.2.3 字節選擇模式 43

3.2.4 字節寫模式 45

3.3 Intel 8086 46

3.3.1 存儲器組織 47

3.3.2 獨立的I/O地址空間 48

3.3.3 存儲器地址空間 50

3.3.4 等待狀態 52

3.4 Intel Pentium 53

3.4.1 總線狀態轉換 56

3.4.2 存儲器組織 60

3.5 ARM926EJ-S 61

3.6 習題 64

第4章 中斷 67

4.1 中斷導論 67

4.2 外部中斷 67

4.2.1 非向量中斷 68

4.2.2 PIC和向量中斷 69

4.3 軟件中斷 74

4.4 內部中斷 75

4.5 ISR的設計模式 75

4.5.1 一般的ISR設計模式 75

4.5.2 具有服務器任務的ISR 76

4.5.3 ISR鏈 77

4.5.4 ISR級聯 78

4.5.5 與ISR進行數據共享 79

4.6 中斷響應時間 81

4.7 案例分析:x86 82

4.7.1 硬件中斷 84

4.7.2 綜合匯總 85

4.8 案例研究:ARM處理器 86

4.8.1 硬件中斷 87

4.8.2 綜合匯總 90

4.9 習題 91

第5章 嵌入式系統的引導過程 93

5.1 系統引導加載程序 93

5.2 系統的引導過程 94

5.2.1 加載嵌入式軟件 94

5.2.2 準備執行嵌入式軟件 95

5.3 案例研究:AT91SAM9G45

引導過程 96

5.4 加載嵌入在操作系統映像中的

ELF目標文件 96

5.5 案例研究:基于QNX嵌入式

系統的引導過程 97

5.6 習題 99

第Ⅱ部分 實時系統建模

第6章 UML結構建模基礎 103

6.1 統一建模語言 103

6.2 類圖和類建模 104

6.2.1 類 106

6.2.2 實例層次的關系 109

6.2.3 依賴關系 121

6.2.4 泛化關系 125

6.3 類建模原則 128

6.3.1 模型演化 128

6.3.2 子類化 130

6.3.3 最小信息冗余 131

6.3.4 重構 134

6.4 對象圖 137

6.5 包圖 138

6.5.1 包引入 138

6.5.2 包合并 139

6.6 習題 141

第7章 UML體系架構建模 143

7.1 體系架構的抽象層次 143

7.2 UML結構圖 144

7.3 建模組件 148

7.4 子系統建模 150

7.5 完整系統建模 153

7.6 部署圖 154

7.7 習題 155

第8章 UML行為建模的基礎 157

8.1 用例圖和用例建模 157

8.1.1 用例圖 157

8.1.2 用例描述 160

8.1.3 用例層次 161

8.2 序列圖 162

8.3 活動圖 167

8.4 習題 171

第9章 UML中有狀態行為的建模 173

9.1 狀態機圖的基礎 173

9.1.1 狀態 173

9.1.2 轉移和事件 174

9.1.3 偽狀態 175

9.1.4 用狀態機對網絡協議建模 176

9.2 復合狀態 178

9.2.1 進入點、退出點與歷史 179

9.2.2 并發 180

9.3 狀態行為的繼承 181

9.4 有狀態對象時序圖 183

9.5 舉例:雷達系統有狀態行為

的建模 184

9.5.1 收發機建模 185

9.5.2 鏈路驅動器的建模 186

9.5.3 指揮消息器的建模 188

9.6 習題 189

第10章 實時UML:通用資源

建模 191

10.1 實時UML配置文件 191

10.2 資源建模 194

10.2.1 UML核心資源模型 195

10.2.2 動作和動作執行 196

10.2.3 受保護資源的UML構

造型 197

10.2.4 資源使用 199

10.2.5 資源-客戶圖 200

10.3 時間建模 201

10.3.1 時間觀念 201

10.3.2 定時裝置 202

10.3.3 時間建模構造型 204

10.4 并發建模 206

10.5 習題 209

第11章 實時UML:模型分析 211

11.1 時序約束的啟發 211

11.2 RT-UML配置文件可調度性

建模子配置文件 214

11.2.1 RT-UML配置文件中的可

調度性分析的元概念 214

11.2.2 可調度性構造型 219

11.2.3 使用可調度性子配置

文件 221

11.3 RT-UML配置文件性能建模

子配置文件 223

11.3.1 RT-UML配置文件中的性

能分析的元概念 223

11.3.2 性能構造型 225

11.3.3 使用性能子配置文件 227

11.4 習題 231

第Ⅲ部分 實時系統設計

第12章 實時嵌入式系統軟件

架構 237

12.1 實時任務 237

12.1.1 最壞情況下的任務執行

時間 238

12.1.2 任務規范 239

12.1.3 任務時序圖 239

12.1.4 最壞情況下的響應時間 241

12.1.5 任務實現 242

12.2 輪詢架構 242

12.2.1 案例研究:體溫計 242

12.2.2 通用輪詢架構 250

12.2.3 最壞情況下的事件響應

時間 253

12.3 帶有中斷的輪詢 254

12.3.1 案例研究:西蒙游戲 254

12.3.2 通用架構 257

12.3.3 最壞情況下的事件響應

時間 259

12.4 基于隊列的架構 260

12.4.1 非搶占式FIFO隊列 261

12.4.2 非搶占式優先隊列 262

12.5 習題 264

第13章 POSIX和RTOS 267

13.1 POSIX簡介 267

13.1.1 POSIX進程和線程 268

13.1.2 POSIX實時擴展 269

13.1.3 POSIX的兼容性和

致性 275

13.2 任務的靜態結構和動態

行為 276

13.2.1 一般任務結構 276

13.2.2 任務狀態轉移 278

13.3 實時操作系統 279

13.4 POSIX實時調度策略 282

13.4.1 FIFO調度策略 282

13.4.2 輪詢調度策略 283

13.4.3 偶發服務器調度策略 284

13.5 其他實時調度策略 286

13.5.1 最小松弛度優先 286

13.5.2 最早截止期限優先 287

13.5.3 截止期限單調分配的

調度 288

13.5.4 速率單調分配的調度 288

13.6 習題 289

第14章 多任務 291

14.1 多任務簡介 291

14.2 多任務設計 292

14.2.1 任務標識 292

14.2.2 任務轉換 295

14.2.3 任務參數估計 299

14.3 多任務資源共享 301

14.3.1 資源死鎖 301

14.3.2 優先級反轉 302

14.4 解決資源死鎖 304

14.4.1 死鎖預防 304

14.4.2 死鎖檢測 304

14.4.3 死鎖避免 305

14.5 解決優先級反轉 307

14.5.1 優先級繼承協議 307

14.5.2 較高鎖協議 309

14.5.3 優先級天花板協議 310

14.6 習題 312

第15章 實時調度:時鐘驅動

方式 315

15.1 周期性調度簡介 315

15.1.1 若干假設 315

15.1.2 可搶占的非周期作業 316

15.2 點對點時鐘驅動調度 317

15.2.1 點對點時鐘驅動調度

程序 318

15.2.2 執行開銷 319

15.3 基于幀的調度 320

15.3.1 幀尺寸的約束 320

15.3.2 健壯的基于幀的調度 323

15.3.3 基于幀的調度程序 324

15.4 調度非周期作業 325

15.5 拆分任務 328

15.6 習題 330

第16章 實時調度:速率單調

方式 331

16.1 優先級分配 331

16.2 RMA原則 332

16.3 速率單調分析 335

16.4 完成時間測試 336

16.5 周期變換 339

16.6 通用的可調度性分析 342

16.6.1 具有阻塞時間項的任務 342

16.6.2 具有更早截止時間的

任務 346

16.6.3 示例 347

16.6.4 優先級相同的任務 350

16.7 習題 351

第17章 實時調度:偶發服務器

程序 355

17.1 偶發任務 355

17.2 偶發服務器程序 356

17.2.1 偶發服務器程序的相關

任務設計 356

17.2.2 驗收測試 358

17.3 樸素偶發服務器程序 360

17.3.1 任務設計 361

17.3.2 驗收測試 361

17.4 固定優先級的偶發服務器

程序 362

17.5 具有動態優先級的偶發

服務器程序 368

17.6 習題 371

第IV部分 實現模式

第18章 資源共享 375

18.1 共享變量 375

18.2 共享的內存 378

18.2.1 映射文件對象 380

18.2.2 共享的內存對象 382

18.3 信號量 384

18.3.1 任務同步 385

18.3.2 流控制 387

18.3.3 資源保護 387

18.3.4 信號量相關的POSIX

函數 389

18.3.5 信號量示例 390

18.4 互斥體 397

18.4.1 互斥體使用模式 398

18.4.2 互斥體相關的POSIX

函數 400

18.4.3 使用互斥體的例子 401

18.5 條件變量 404

18.5.1 柵欄同步 405

18.5.2 生產者-消費者模式 410

18.5.3 讀-寫鎖 414

18.6 習題 418

第19章 任務間通信:消息隊列 421

19.1 消息隊列簡介 421

19.2 消息隊列靜態結構和動態

轉移 421

19.3 消息隊列使用模式 424

19.3.1 單向通信 424

19.3.2 確認-單向通信 425

19.3.3 雙向通信 426

19.3.4 客戶端-服務器之間的

通信 427

19.4 與消息隊列相關的POSIX

函數 430

19.5 使用消息隊列的例子 432

19.6 習題 437

第20章 任務間通信:管道 439

20.1 管道簡介 439

20.2 管道的靜態結構和動態

狀態轉移 439

20.3 管道使用模式 442

20.4 與管道相關的POSIX函數 442

20.4.1 多個作者和讀者 444

20.4.2 在管道上POSIX的選擇

操作 445

20.5 使用管道的示例 446

20.6 習題 451

第21章 任務間通信:發送信號 453

21.1 POSIX信號簡介 453

21.2 信號處理 455

21.3 信號向量表和處理程序 455

21.4 POSIX信號函數 456

21.5 POSIX信號的QNX實現 457

21.5.1 示例:在不同進程中處理

信號 457

21.5.2 示例:控制任務服務器 460

21.6 來自ISR的自旋鎖和中斷

事件 463

21.6.1 POSIX自旋鎖 463

21.6.2 QNX事件結構 464

21.6.3 QNX應用程序的中斷

處理 465

21.6.4 示例:來自ISR的中斷

事件 466

21.7 QNX脈沖 473

21.7.1 QNX同步消息傳遞 473

21.7.2 QNX異步脈沖發生機制 476

21.7.3 分層消息傳遞模式 478

21.7.4 消息接收者的優先級

繼承 478

21.7.5 示例:簡單的計時管

理器 479

21.8 習題 488

第22章 軟件計時器管理 489

22.1 硬件計時器和軟件計時器 489

22.2 軟件計時管理器 491

22.2.1 鏈接到專用計時器ISR 492

22.2.2 使用OS計時器 492

22.3 計時輪 493

22.3.1 精度誤差 495

22.3.2 寬范圍計時器 497

22.4 分層計時輪 497

22.4.1 計時輪參考上下文和計時

器管理 498

22.4.2 實現 500

22.5 習題 502

第23章 QNX資源管理 505

23.1 QNX資源管理簡介 505

23.2 資源管理器體系架構 506

23.2.1 控制結構 507

23.2.2 關鍵數據結構 508

23.3 示例1:作為資源管理器的

計算器 508

23.3.1 上層結構 509

23.3.2 處理來自客戶端的消息 510

23.3.3 注冊到進程管理器 517

23.3.4 使用資源管理器 518

23.4 示例2:設備

網友評論(不代表本站觀點)

來自匿名用**的評論:

整體感覺不錯

2017-06-09 23:34:30

免責聲明

更多出版社