嵌入式系統原理與應用

梁晶 吳銀琴

  • 出版商: 人民郵電
  • 出版日期: 2021-12-01
  • 售價: $419
  • 貴賓價: 9.5$398
  • 語言: 簡體中文
  • 頁數: 336
  • 裝訂: 平裝
  • ISBN: 7115572798
  • ISBN-13: 9787115572790
  • 相關分類: 嵌入式系統
  • 立即出貨

  • 嵌入式系統原理與應用-preview-1
  • 嵌入式系統原理與應用-preview-2
嵌入式系統原理與應用-preview-1

商品描述

本書首先介紹了嵌入式系統的基本概念和背景知識,以及常見的嵌入式系統硬件和嵌入式系統開發工具;其次講解了基於Cortex-M3/M4架構微控制器的內部結構和指令集,幫助讀者建立對嵌入式處理器的宏觀認識;然後介紹了STM32微控制器的開發工具鏈,包括STM32CubeMX、Keil MDK和設備驅動庫等;最後以STM32F4系列微控制器為例,闡述了其主要功能模塊的工作原理和編程方法,包括這些模塊的內部結構、外圍硬件電路設計方法、寄存器組織和應用案例等內容。

本書可作為高等院校電腦、電子信息、自動化、電力電氣等專業的“嵌入式系統原理”“嵌入式系統編程”“32位單片機原理與應用”等課程的教材和教學參考書,也可作為工程實訓、電子製作與競賽的實踐教材,還可作為從事自動控制、物聯網、機電一體化等應用領域開發工作的工程技術人員的參考書。

作者簡介

梁晶:
2004年畢業於華中科技大學計算機學院嵌入式系統與智能控制專業,獲工學碩士學位,武漢紡織大學計算機與人工智能學院專任教師,主要研究方向為嵌入式系統、人工智能、大數據技術。多年來在一線從事嵌入式系統、人工智能和大數據相關的教學和科研工作,主持和參與過多項校級、省級教研項目和科研項目。長期與企業合作從事嵌入式智能終端、車載互聯網等產品的研發工作,在嵌入式領域具備較強的理論功底和豐富的工程經驗。


吳銀琴:
2003年畢業於華中科技大學生命科學與技術學院生物醫學工程專業,獲工學碩士學位,中南民族大學電子與信息工程學院專任教師,主要研究方向為嵌入式系統、信號處理等。多年來一直從事嵌入式系統、信號處理相關的教學和科研工作,主持和參與過多項教學改革項目、實驗教改項目和科研項目,擁有豐富的教學經驗。

目錄大綱

章名目錄
----------
第 1章 嵌入式系統概述
第 2章 嵌入式系統基礎知識
第3章 Arm處理器介紹
第4章 Cortex-M3/M4架構
第5章 STM32系列微控制器
第6章 STM32設備驅動庫和STM32CubeMX
第7章 Keil MDK集成開發環境
第8章 處理器時鐘
第9章 通用輸入輸出埠
第 10章 異常與中斷處理
第 11章 定時器
第 12章 串行通信接口
第 13章 DMA
第 14章 數模轉換器
第 15章 模數轉換器
第 16章 浮點運算與數字信號處理
第 17章 綜合應用案例


具體目錄
----------
第 1章 嵌入式系統概述 1
1.1 嵌入式系統的概念 1
1.2 嵌入式系統的特點 2
1.3 嵌入式系統的組成 4
1.4 嵌入式系統的應用領域 7
1.5 思考與練習 8

第 2章 嵌入式系統基礎知識 9
2.1 嵌入式硬件系統 9
2.1.1 嵌入式處理器 9
2.1.2 存儲器 17
2.1.3 外圍接口 20
2.2 嵌入式軟件系統 21
2.2.1 嵌入式操作系統 22
2.2.2 嵌入式圖形系統 23
2.3 嵌入式系統的開發流程與開發模式 25
2.3.1 嵌入式系統的開發流程 25
2.3.2 嵌入式系統的開發模式 26
2.4 思考與練習 30

第3章 Arm處理器介紹 31
3.1 概述 31
3.2 Arm體系結構 32
3.2.1 Arm體系結構的版本 33
3.2.2 Arm體系結構的擴展 36
3.3 常見的Arm處理器 37
3.4 思考與練習 40

第4章 Cortex-M3/M4架構 41
4.1 概述 41
4.2 Cortex-M3/M4的內部結構 42
4.3 Cortex-M3/M4的系統地址映射 46
4.4 Cortex-M3/M4的編程模型 47
4.4.1 工作模式和運行級別 48
4.4.2 存儲格式 48
4.4.3 寄存器組 49
4.5 Cortex-M3/M4的異常 53
4.6 指令集和匯編語言 54
4.6.1 Thumb指令集概述 54
4.6.2 匯編語言基礎 55
4.6.3 尋址方式 57
4.6.4 統一匯編語言 60
4.7 思考與練習 61

第5章 STM32系列微控制器 62
5.1 概述 62
5.2 STM32F407xx微控制器介紹 63
5.3 STM32F407xx的地址映射 67
5.4 啟動方式的配置 71
5.5 STM32系列微控制器的命名規則 72
5.6 STM32系列微控制器的引腳功能 73
5.7 STM32最小系統的組成 75
5.8 思考與練習 78

第6章 STM32設備驅動庫和STM32CubeMX 79
6.1 CMSIS介紹 79
6.2 STM32設備驅動庫 82
6.2.1 STM32設備驅動庫簡介 82
6.2.2 預定義數據類型和結構體 86
6.2.3 解析HAL庫 88
6.3 STM32CubeMX輔助開發工具 91
6.4 思考與練習 97

第7章 Keil MDK集成開發環境 98
7.1 Keil MDK介紹 98
7.2 Keil MDK安裝 99
7.3 Keil MDK使用 102
7.4 Keil MDK程序調試 110
7.5 STM32F407xx引導代碼解析 112
7.6 思考與練習 115

第8章 處理器時鐘 116
8.1 時鐘概述 116
8.2 時鐘相關參數 119
8.3 時鐘參數配置方法 120
8.3.1 工程設置 121
8.3.2 時鐘相關代碼解析 122
8.4 思考與練習 126

第9章 通用輸入輸出埠 127
9.1 STM32F4微控制器的GPIO埠 127
9.2 GPIO配置方法 129
9.3 GPIO編程 130
9.3.1 工程配置 131
9.3.2 GPIO相關數據結構和API函數 132
9.3.3 GPIO代碼解析 133
9.4 位帶操作 137
9.4.1 位帶概述 137
9.4.2 位帶編程 138
9.5 思考與練習 140

第 10章 異常與中斷處理 141
10.1 中斷控制器的工作原理 141
10.1.1 中斷優先級 142
10.1.2 外部中斷和事件 147
10.2 中斷編程 149
10.2.1 工程配置 149
10.2.2 中斷相關數據結構和API函數 151
10.2.3 中斷代碼解析 154
10.3 思考與練習 157

第 11章 定時器 158
11.1 系統定時器 158
11.2 通用定時器 162
11.2.1 定時器的時鐘源 165
11.2.2 定時器的計數單元 167
11.3 定時器的基本計數功能 168
11.3.1 工程配置 169
11.3.2 計數相關數據結構和API函數 171
11.3.3 定時器計數代碼解析 173
11.4 定時器的輸出比較模式 175
11.4.1 工程配置 175
11.4.2 輸出比較模式相關數據結構和API函數 178
11.4.3 輸出比較模式代碼解析 179
11.5 定時器的PWM輸出模式 182
11.5.1 工程配置 183
11.5.2 PWM輸出模式相關數據結構和API函數 184
11.5.3 PWM輸出模式代碼解析 185
11.6 定時器的外部時鐘模式 186
11.6.1 工程配置 187
11.6.2 外部時鐘模式代碼解析 188
11.7 定時器的級聯 189
11.7.1 工程配置 189
11.7.2 定時器級聯代碼解析 192
11.8 定時器的輸入捕獲模式 193
11.8.1 工程配置 193
11.8.2 輸入捕獲模式相關數據結構和API函數 194
11.8.3 輸入捕獲模式代碼解析 195
11.9 思考與練習 197

第 12章 串行通信接口 199
12.1 串行通信與異步串行通信 199
12.1.1 串行通信概述 199
12.1.2 異步串行通信協議 200
12.1.3 異步串行通信的接口標準 201
12.2 STM32F407xx的異步串行通信 204
12.3 異步串行通信參數設置 205
12.4 阻塞方式串行通信 209
12.4.1 工程配置 210
12.4.2 異步串行通信相關數據結構和API函數 211
12.4.3 異步串行通信阻塞方式通信代碼解析 213
12.5 非阻塞方式串行通信 215
12.5.1 工程配置 216
12.5.2 異步串行通信中斷處理相關函數 216
12.5.3 異步串行通信非阻塞方式通信代碼解析 217
12.6 思考與練習 219

第 13章 DMA 220
13.1 DMA介紹 220
13.1.1 STM32F4微控制器的DMA工作原理 220
13.1.2 DMA參數配置 222
13.2 外設與存儲器之間的DMA傳輸 224
13.2.1 工程配置 224
13.2.2 DMA相關數據結構和API函數 226
13.2.3 外設到存儲器的DMA傳輸代碼解析 228
13.3 存儲器到存儲器的DMA傳輸 230
13.3.1 工程配置 231
13.3.2 存儲器到存儲器的DMA傳輸代碼解析 231
13.4 思考與練習 234

第 14章 數模轉換器 235
14.1 DAC介紹 235
14.2 STM32F407xx的DAC 236
14.3 軟件觸發方式 239
14.3.1 工程配置 239
14.3.2 DAC相關數據結構和API函數 240
14.3.3 軟件觸發方式代碼解析 241
14.4 定時器觸發方式 242
14.4.1 工程配置 243
14.4.2 定時器觸發方式代碼解析 243
14.5 DMA方式的DAC編程 244
14.5.1 工程配置 245
14.5.2 DMA方式的DAC轉換代碼解析 245
14.6 思考與練習 247

第 15章 模數轉換器 248
15.1 ADC介紹 248
15.2 STM32F407xx的ADC 249
15.3 多重ADC模式 255
15.4 軟件觸發數據採樣 259
15.4.1 工程配置 259
15.4.2 ADC相關數據結構和API函數 262
15.4.3 軟件觸發數據採樣代碼解析 264
15.5 定時器觸發數據採樣 266
15.5.1 軟件配置 266
15.5.2 定時器觸發數據採樣代碼解析 267
15.6 規則組數據採樣 268
15.6.1 工程配置 268
15.6.2 規則組數據採樣代碼解析 270
15.7 多重ADC模式數據採樣 272
15.7.1 工程配置 272
15.7.2 ADC擴展的API函數 273
15.7.3 多重ADC模式數據採樣代碼解析 274
15.8 思考與練習 275

第 16章 浮點運算與數字信號處理 276
16.1 Cortex-M4架構的浮點運算 276
16.1.1 定點數和浮點數 277
16.1.2 Cortex-M4的浮點運算單元 278
16.1.3 浮點運算編程 279
16.2 DSP指令集 281
16.2.1 DSP相關數據類型 282
16.2.2 DSP指令集 283
16.3 CMSIS-DSP庫介紹 284
16.4 CMSIS-DSP庫編程舉例 286
16.4.1 向量運算 286
16.4.2 快速傅裡葉變換 292
16.4.3 FIR濾波器 295
16.4.4 IIR濾波器 302
16.5 思考與練習 306

第 17章 綜合應用案例 307
17.1 智能小車的工作原理及編程 307
17.1.1 電機驅動模塊 308
17.1.2 循跡檢測模塊 313
17.1.3 超聲波測距模塊 315
17.2 多任務環境下的智能小車控製程序 318
17.2.1 Keil RTX5 319
17.2.2 基於Keil RTX5的多任務編程 320
17.3 思考與練習 325

參考文獻 326