嵌入式系統設計基礎及應用 — 基於 ARM Cortex-M4 微處理器

郭建、陳剛、劉錦輝、江先陽、謝國琪、陳勉、謝勇

  • 出版商: 清華大學
  • 出版日期: 2022-04-01
  • 定價: $414
  • 售價: 8.5$352
  • 語言: 簡體中文
  • ISBN: 7302595305
  • ISBN-13: 9787302595304
  • 相關分類: ARM嵌入式系統
  • 立即出貨

  • 嵌入式系統設計基礎及應用 — 基於 ARM Cortex-M4 微處理器-preview-1
  • 嵌入式系統設計基礎及應用 — 基於 ARM Cortex-M4 微處理器-preview-2
  • 嵌入式系統設計基礎及應用 — 基於 ARM Cortex-M4 微處理器-preview-3
嵌入式系統設計基礎及應用 — 基於 ARM Cortex-M4 微處理器-preview-1

買這商品的人也買了...

商品描述

《嵌入式系統設計基礎及應用》介紹了嵌入式系統的基本原理和基礎知識。在硬件方面詳細講述了微處理器的系統架構、常見的總線與總線協議、存儲器的分類和存儲保護機制及相關的性能分析,並具體介紹了基於 ARM Cortex-M4微處理器的編程模式、中斷機制、流水線技術、總線技術、存儲器系統。在軟件方面詳細介紹了嵌入式系統軟件開發的特點,並介紹了嵌入式 C語言開發的元素。編譯器在嵌入式系統開發中起著重要的作用,翻譯過程及優化技術對設計良好的嵌入式程序也至關重要,本書介紹了編譯技術和優化方法,以及程序級的性能分析。實時操作系統是嵌入式軟件開發的基礎,因此介紹了嵌入式實時操作系統(以 μC/OS Ⅲ為例)。另外,通過最小系統設計開發的介紹,使讀者瞭解嵌入式系統開發的整個過程。最後介紹了嵌入式系統的調試、測試和驗證方法,以及多核嵌入式微處理器。 《嵌入式系統設計基礎及應用》可作為高等院校軟件工程、電腦、電子信息和電氣工程、自動化、物聯網等相關專業的本科生、研究生授課教材,也可作為廣大從事嵌入式系統開發的工程技術人員的參考用書。

目錄大綱

 

 

目  錄

 

第1章  嵌入式系統概論 1

1.1  嵌入式系統概念 1

1.2  嵌入式系統組成 4

1.2.1  嵌入式系統結構 4

1.2.2  嵌入式微處理器 5

1.2.3  嵌入式操作系統 6

1.3  嵌入式系統設計過程 7

1.4  嵌入式系統發展 9

1.5  本書的內容安排 11

1.6  習題 11

第2章  微處理器體系架構 12

2.1  嵌入式微處理器體系結構 12

2.1.1  馮·諾依曼結構與哈佛結構 12

2.1.2  復雜指令集和精簡指令集電腦 14

2.1.3  嵌入式微處理器類型  15

2.2  ARM微處理器體系架構 20

2.2.1  可編程模式 22

2.2.2  特殊寄存器 24

2.3  中斷機制 26

2.4  嵌入式匯編語言 31

2.4.1  匯編程序的結構 31

2.4.2  指令格式與尋址方式 32

2.4.3  常見指令 34

2.4.4  匯編程序的設計 37

2.5  流水線技術 41

2.5.1  流水線分類 41

2.5.2  Cortex-M4 的三級流水線 42

2.5.3  影響流水線性能的因素 43

2.6  本章小結 44

2.7  習題 44

第3章  嵌入式總線技術 46

3.1  系統總線概述 46

3.2  總線結構與協議 48

3.2.1  CPU總線的結構 48

3.2.2  總線組織及演進 50

3.2.3  典型總線及協議 51

3.2.4  STM32F4系列芯片對總線的支持 65

3.3  DMA 65

3.3.1  定義和作用 66

3.3.2  STM32F4系列芯片DMA控制器結構和DMA特點 66

3.3.3  DMA的設置 69

3.3.4  DMA傳輸的狀態 69

3.3.5  DMA請求的仲裁 71

3.3.6  DMA延遲性能 71

3.4  ARM CPU的總線結構 72

3.4.1  ARM CPU的總線發展  72

3.4.2  ARM總線結構 73

3.4.3  多層總線矩陣結構 80

3.4.4  矩陣總線訪問優先權 80

3.5  總線的性能分析 81

3.6  本章小結 81

3.7  習題 81

第4章  存儲器系統 83

4.1  存儲器系統概述 83

4.2  嵌入式系統存儲器的分類和存儲器性能分析 83

4.2.1  以存儲器的用途分類 83

4.2.2  以信息存取方式分類 85

4.2.3  存儲器的主要技術指標 90

4.3  ARM存儲器管理 90

4.3.1  存儲映射 91

4.3.2  存儲格式 93

4.3.3  工作原理 94

4.3.4  啟動配置 95

4.3.5  嵌入式快閃內存支持 95

4.3.6  彈性靜態存儲器控制器 97

4.3.7  彈性存儲器控制器 99

4.4  新型存儲器 100

4.4.1  MRAM 101

4.4.2  PRAM 101

4.4.3  RRAM 101

4.5  存儲保護和校驗技術 102

4.5.1  存儲保護 102

4.5.2  校驗技術 104

4.6  本章小結 105

4.7  習題 105

第5章  嵌入式輸入/輸出設備的接口 107

5.1  I/O接口 107

5.1.1  接口結構 107

5.1.2  I/O接口組成 107

5.1.3  I/O接口的數據傳輸 108

5.2  GPIO 109

5.2.1  GPIO概述 109

5.2.2  GPIO功能特點 110

5.2.3  GPIO輸入/輸出模式 110

5.2.4  GPIO引腳復用 111

5.2.5  GPIO配置 111

5.3  外部中斷/事件 114

5.3.1  外部中斷/事件概述 114

5.3.2  EXTI結構和外部中斷/事件響應過程 115

5.3.3  外部中斷/事件的配置 116

5.4  通信接口 117

5.4.1  通信接口概述 117

5.4.2  串行通信 119

5.4.3  SPI 123

5.4.4  I2C 127

5.5  人機交互 131

5.5.1  LCD概述 131

5.5.2  LCD顯示的控制方法 131

5.5.3  指令介紹 134

5.6  ADC/DAC 137

5.6.1  ADC/DAC概述 137

5.6.2  ADC接口的內部結構 137

5.6.3  ADC功能 139

5.6.4  DAC接口的內部結構 144

5.6.5  DAC的功能 145

5.7  本章小結 147

5.8  習題 147

第6章  程序設計與分析 149

6.1  嵌入式程序設計 149

6.1.1  嵌入式程序設計方法 150

6.1.2  嵌入式程序模型 155

6.2  嵌入式C語言編程 161

6.2.1  嵌入式C語言編程方法 161

6.2.2  嵌入式C語言中的元素 162

6.3  編譯及優化技術 167

6.3.1  編譯的翻譯過程 169

6.3.2  編譯過程中的代碼優化 174

6.4  程序性能分析與優化 177

6.4.1  程序執行時間性能分析方法 177

6.4.2  與機器無關的性能優化 180

6.4.3  與機器相關的性能優化 185

6.4.4  程序功耗分析與優化 188

6.4.5  程序尺寸分析與優化 190

6.5  本章小結 192

6.6  習題 192

第7章  嵌入式最小系統構建 195

7.1  嵌入式最小系統 195

7.2  STM32嵌入式微控制器 195

7.2.1  電源系統  197

7.2.2  時鐘系統  199

7.2.3  復位系統  199

7.2.4  外部接口  201

7.3  基於 STM32 微控制器的最小系統構建  204

7.3.1  最小系統的硬件設計 204

7.3.2  最小系統的編程環境搭建  210

7.3.3  最小系統程序設計  214

7.4  本章小結 219

7.5  習題 220

第8章  實時操作系統 221

8.1  概述 221

8.1.1  實時系統的概念 221

8.1.2  實時操作系統的基本特徵 222

8.1.3  實時操作系統性能的衡量指標 223

8.1.4  實時操作系統的分類 224

8.1.5  POSIX標準 224

8.1.6  實時操作系統的典型應用 225

8.1.7  幾種經典的實時操作系統 225

8.2  進程與任務 226

8.2.1  實時任務模型 226

8.2.2  實時任務分類 228

8.2.3  任務模型 228

8.2.4  實時任務管理 230

8.3  實時調度 231

8.3.1  內核與調度 231

8.3.2  實時調度策略 232

8.3.3  可調度性判定 232

8.4  常用的調度算法 234

8.4.1  單調速率調度算法 235

8.4.2  最早截止時間優先調度算法 236

8.4.3  最低鬆弛度優先調度算法 237

8.4.4  響應時間分析方法 239

8.5  進程間通信機制 240

8.5.1  進程的通信方式 240

8.5.2  進程同步與互斥 242

8.6  本章小結 243

8.7  習題 243

第9章  ?C/OS 操作系統 245

9.1  ?C/OS III 概述 245

9.2  任務管理 247

9.2.1  實時內核的執行 247

9.2.2  任務的狀態及轉換 248

9.2.3  任務管理的系統服務 250

9.2.4  任務的調度 256

9.3  中斷管理 259

9.4  時間管理 262

9.5  內存管理 267

9.6  同步與消息傳遞 271

9.6.1  信號量 271

9.6.2  事件標志組 271

9.6.3  消息隊列 272

9.7  ?C/OS的移植 273

9.8  本章小結 275

9.9  習題 275

第10章  嵌入式系統調試、測試與驗證方法 276

10.1  嵌入式系統調試 276

 10.1.1  嵌入式系統調試技術 277

 10.1.2  調試手段 279

10.2  嵌入式軟件測試 282

 10.2.1  嵌入式系統測試過程 284

 10.2.2  嵌入式軟件開發標準及測試指標 284

 10.2.3  測試方法 288

10.3  嵌入式軟件自動驗證技術——模型檢測 291

 10.3.1  模型檢驗過程 292

 10.3.2  狀態爆炸問題 293

 10.3.3  模型檢測工具 293

10.4  本章小結 294

10.5  習題 294

第11章  多核嵌入式微處理器 297

11.1  多核嵌入式系統 297

 11.1.1  多核處理器 297

 11.1.2  多核軟件環境 298

11.2  ARM多核處理器 299

 11.2.1  ARM MPcore多處理器結構 299

 11.2.2  ARM 多核處理器中斷管理 300

 11.2.3  big.LITTLE 技術 301

 11.2.4  多核處理器啟動過程 302

11.3  多核處理器實時調度算法 304

11.4  多核處理器應用程序開發 306

 11.4.1  同構多核處理器程序開發 307

 11.4.2  異構多核處理器程序開發 309

11.5  本章小結 310

11.6  習題 310

附錄A  部分代碼 311

A.1  stm32fxx.h文件 311

A.2  引腳為輸出的main.c文件 311

A.3  usart.h文件 312

A.4  usart.c文件 313

A.5  stm32f4xx_it.c文件 315

A.6  USART工程的main.c文件 315

A.7  循環緩沖區的main.c文件 316

參考文獻 319