定 價:88 元
叢書名:物聯(lián)網(wǎng)與人工智能應用開發(fā)叢書
- 作者:工業(yè)和信息化部人才交流中心
- 出版時間:2018/5/1
- ISBN:9787121340499
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP332.3
- 頁碼:440
- 紙張:
- 版次:01
- 開本:16開
本書圍繞SDK的開發(fā)展開,通過分析MCU內核與外設工作原理,結合API介紹各個外設的編程和應用。希望通過本書,使傳統(tǒng)單片機工程師面向寄存器的開發(fā)思維得到一些轉變,能夠嘗試運用成熟的軟件框架來高效地完成應用開發(fā)。本書可供具有一定C語言知識和硬件基礎的嵌入式系統(tǒng)工程師使用,同時也可以作為高等院校電子信息工程相關專業(yè)的教學參考書。
工業(yè)和信息化部人才交流中心(以下簡稱中心)創(chuàng)建于1985年1月,1992年10月成為獨立事業(yè)法人單位,工業(yè)和信息化部所屬的黨政機關一類事業(yè)單位(正局級),是經(jīng)中央機構編制委員會辦公室批準,國家事業(yè)單位登記管理局注冊登記,是工業(yè)和信息化部在人才培養(yǎng)、人才交流、智力引進、國際交流、會議展覽等方面的支撐機構;也是人力資源和社會保障部、工業(yè)和信息化部“全國信息專業(yè)技術人才知識更新工程”及“信息化工程師”項目實施承辦單位。
目錄
第1章 微控制器開發(fā)基礎 001
1.1 微控制器的發(fā)展與趨勢 002
1.2 ARM Cortex-M微控制器內核 006
1.2.1 ARM與Cortex處理器的發(fā)展 006
1.2.2 Cortex-M家族成員 007
1.2.3 Cortex-M內核技術特點與優(yōu)勢 010
1.3 CMSIS微控制器外設庫 014
1.4 Cortex-M集成開發(fā)環(huán)境和調試工具 018
1.4.1 集成開發(fā)環(huán)境 018
1.4.2 調試工具 019
1.5 恩智浦LPC5411X系列低功耗通用微控制器 021
1.5.1 家族成員與功能概要 021
1.5.2 系統(tǒng)框圖與內存映射 023
1.5.3 評估板與擴展板介紹 024
1.6 小結 025
第2章 MCUXpresso軟件與工具開發(fā)套件 027
2.1 MCUXpresso IDE集成開發(fā)環(huán)境 028
2.1.1 MCUXpresso IDE的主要特性 029
2.1.2 安裝MCUXpresso IDE 029
2.1.3 初識MCUXpresso IDE 031
2.2 MCUXpresso Config Tools配置工具 033
2.2.1 SDK生成器工具 033
2.2.2 Pins Tool引腳分配工具 036
2.2.3 Clocks Tool時鐘配置工具 037
2.3 MCUXpresso SDK軟件開發(fā)套件 038
2.3.1 架構分析 038
2.3.2 文件目錄 040
2.3.3 外設驅動命名與依賴 041
2.3.4 外設驅動API 043
2.4 實例:Hello world 052
2.5 小結 058
第3章 微控制器的啟動過程 059
3.1 上電啟動后硬件自動執(zhí)行的操作序列 061
3.2 從復位中斷向量進入C程序的世界 062
3.2.1 復位中斷函數(shù)概述 062
3.2.2 詳解LPC54114的啟動代碼 064
3.3 LPC54114的BootLoader 075
3.3.1 BootLoader概述 075
3.3.2 BootLoader在LPC54114上的應用 076
3.4 小結 081
第4章 時鐘子系統(tǒng)與管理 083
4.1 LPC54114的片上時鐘系統(tǒng) 084
4.1.1 時鐘源 085
4.1.2 上電后默認情況下的時鐘系統(tǒng) 086
4.1.3 使用PLL獲取更高頻率的時鐘信號 087
4.2 MCUXpresso SDK時鐘管理API 090
4.2.1 常用時鐘管理API 090
4.2.2 MCUXpresso SDK應用程序中配置時鐘的典型框架 094
4.3 MCUXpresso時鐘配置工具Clock Tool簡介 095
4.3.1 概述 095
4.3.2 在Clock Tool中創(chuàng)建LPC54114Xpresso板配置工程 097
4.4 實例:使用PLL倍頻輸出產(chǎn)生系統(tǒng)時鐘 102
4.5 小結 106
第5章 IO子系統(tǒng)與中斷 107
5.1 IO子系統(tǒng)的相關硬件模塊 108
5.1.1 IOCON IO引腳配置模塊 108
5.1.2 GPIO通用輸入/輸出模塊 109
5.1.3 PINT 引腳中斷模塊 110
5.1.4 INPUT MUX 輸入復用器 110
5.2 MCUXpresso SDK中的GPIO與PINT驅動 111
5.2.1 GPIO驅動API 112
5.2.2 PINT驅動API 113
5.3 MCUXpresso時鐘配置工具Pin Tool應用 116
5.3.1 概述 116
5.3.2 在MCUXpresso SDK工程中用Pin Tool分配引腳功能 117
5.4 實例:通過按鍵控制LED 121
5.5 小結 125
第6章 DMA原理與應用 127
6.1 DMA控制器概述 128
6.2 DMA特性和內部框圖 128
6.2.1 LPC5411x DMA特性 128
6.2.2 DMA內部框圖 129
6.3 DMA 外部引腳描述 130
6.4 DMA的幾個概念和功能說明 131
6.4.1 DMA的工作原理 131
6.4.2 DMA請求和觸發(fā) 131
6.4.3 DMA傳輸描述符 134
6.4.4 DMA傳輸模式 136
6.4.5 DMA低功耗模式 139
6.5 DMA模塊的SDK驅動介紹 140
6.6 實例:從DMA Memory到Memory的數(shù)據(jù)傳輸 144
6.6.1 環(huán)境準備 145
6.6.2 代碼分析 145
6.6.3 實驗現(xiàn)象 148
6.7 小結 149
第7章 ADC數(shù)模轉換器原理與應用 151
7.1 逐次逼近型ADC工作原理和過程 153
7.2 ADC數(shù)模轉換器常用性能指標 154
7.3 ADC特性和內部框圖 155
7.3.1 ADC特性 155
7.3.2 ADC內部框圖 156
7.4 ADC外部引腳描述 156
7.5 ADC功能說明 157
7.5.1 ADC時鐘 157
7.5.2 轉換序列 158
7.5.3 觸發(fā)轉換 159
7.5.4 轉換模式 159
7.5.5 轉換輸出 160
7.5.6 偏移誤差校準 161
7.6 ADC模塊的SDK驅動介紹 161
7.7 實例:使用ADC測量內部溫度 164
7.7.1 環(huán)境準備 164
7.7.2 代碼分析 165
7.7.3 現(xiàn)象描述 170
7.8 小結 171
第8章 USART異步串行通信接口原理與應用 173
8.1 USART控制器概述 174
8.2 USART模塊特性和內部框圖 175
8.2.1 LPC5411x USART特性 175
8.2.2 LPC5411x USART內部框圖 176
8.3 Flexcomm接口概述 176
8.3.1 Flexcomm功能說明 177
8.3.2 Flexcomm內部框圖 177
8.4 USART外部引腳描述 178
8.4.1 USART模塊引腳功能定義 178
8.4.2 USART引腳配置說明 179
8.5 USART基本功能說明 179
8.5.1 USART模塊初始化 180
8.5.2 USART的時鐘源與波特率配置 180
8.5.3 收發(fā)控制 182
8.5.4 低功耗模式下USART的喚醒 182
8.6 USART模塊的SDK驅動介紹 183
8.7 USART數(shù)據(jù)收發(fā) 189
8.7.1 環(huán)境準備 190
8.7.2 代碼分析 191
8.7.3 現(xiàn)象描述 195
8.8 小結 195
第9章 SPI同步串行通信接口原理與應用 197
9.1 SPI控制器概述 198
9.2 SPI特性和內部框圖 198
9.2.1 LPC5411x SPI特性 198
9.2.2 SPI內部框圖 199
9.3 SPI 外部引腳描述 200
9.4 SPI功能說明 201
9.4.1 SPI工作模式 201
9.4.2 SPI時鐘源和數(shù)據(jù)傳輸速率 203
9.4.3 超出16位的數(shù)據(jù)傳輸 204
9.4.4 低功耗模式下SPI喚醒 205
9.4.5 SPI數(shù)據(jù)幀延遲 205
9.5 SPI模塊的SDK驅動介紹 208
9.6 實例:SPI讀/寫外部Flash 214
9.6.1 實驗目的和環(huán)境準備 215
9.6.2 代碼分析 216
9.6.3 實驗現(xiàn)象 224
9.7 小結 225
第10章 I2C總線接口與應用 227
10.1 I2C控制器概述 228
10.2 I2C特性和內部框圖 229
10.2.1 LPC5411x I2C特性 229
10.2.2 I2C內部框圖 229
10.3 I2C外部引腳描述 230
10.4 I2C功能說明 232
10.4.1 I2C協(xié)議簡介 232
10.4.2 I2C總線速率和時鐘延伸 233
10.4.3 I2C的尋址方式和低功耗喚醒 235
10.4.4 I2C的死鎖和超時機制 238
10.5 I2C模塊的SDK驅動 241
10.6 實例:I2C中斷方式實現(xiàn)數(shù)據(jù)收發(fā) 249
10.6.1 實驗目的和硬件電路設計 249
10.6.2 實例軟件設計 250
10.6.3 main文件 251
10.6.4 現(xiàn)象描述 255
10.7 小結 255
第11章 I2S總線協(xié)議與應用 257
11.1 I2S總線協(xié)議簡介 258
11.2 I2S特性和內部框圖 260
11.2.1 I2S特性 260
11.2.2 I2S內部框圖 261
11.3 I2S外部引腳描述 262
11.4 I2S功能說明 262
11.4.1 I2S時鐘 263
11.4.2 數(shù)據(jù)速率 263
11.4.3 數(shù)據(jù)幀格式和模式 264
11.4.4 FIFO緩沖區(qū)的使用方法 266
11.5 I2S模塊的SDK驅動介紹 267
11.6 實例:使用I2S中斷方式傳輸播放音頻 271
11.6.1 環(huán)境準備 271
11.6.2 代碼分析 272
11.6.3 現(xiàn)象描述 276
11.7 小結 277
第12章 FlashlAP在應用編程模塊的應用 279
12.1 IAP在應用編程的通用基礎知識 280
12.2 IAP命令執(zhí)行詳解 280
12.3 IAP模塊的SDK驅動介紹 283
12.4 使用IAP驅動讀/寫內部Flash 284
12.4.1 環(huán)境準備 284
12.4.2 代碼分析 284
12.4.3 現(xiàn)象描述 287
12.5 小結 287
第13章 FreeRTOS實時多任務操作系統(tǒng)原理與應用 289
13.1 嵌入式操作系統(tǒng)綜述 290
13.1.1 裸跑與使用操作系統(tǒng)的對比 290
13.1.2 嵌入式操作系統(tǒng)基本概念 291
13.2 FreeRTOS實時多任務操作系統(tǒng)介紹 294
13.2.1 FreeRTOS實時多任務操作系統(tǒng)特色 294
13.2.2 FreeRTOS基本功能解讀 295
13.2.3 FreeRTOS的軟件授權 298
13.3 FreeRTOS的底層結構與ARM平臺的移植 298
13.3.1 FreeRTOS源碼結構分析 299
13.3.2 內核配置頭文件 301
13.3.3 移植宏定義文件 302
13.3.4 ARM平臺的移植實現(xiàn) 304
13.3.5 tick定時器——fsl_tickless相關內容說明 308
13.3.6 portasm.s匯編 310
13.4 MCUXpresso SDK中基于FreeRTOS的外設驅動 310
13.4.1 具有操作系統(tǒng)功能的驅動介紹 310
13.4.2 FreeRTOS下的USART發(fā)送與接收 312
13.5 LPC5411x SDK中的FreeRTOS例程分析 315
13.5.1 環(huán)境準備 315
13.5.2 Main函數(shù)分析 315
13.5.3 FreeRTOS的多任務代碼分析 317
13.5.4 操作系統(tǒng)環(huán)境的調試與實驗說明 320
13.6 小結 321
第14章 異構雙核處理器框架與應用 323
14.1 多處理器計算 324
14.2 異構雙核 325
14.2.1 雙核總線架構 325
14.2.2 內核管理 326
14.2.3 內核間通信 327
14.2.4 雙核程序布局 327
14.3 雙核應用分析 329
14.3.1 基于雙核的安全啟動 329
14.3.2 運用雙核進行顯示后處理 330
14.4 多處理器系統(tǒng)服務框架 331
14.4.1 多核管理模塊(mcmgr) 331
14.4.2 輕型遠端處理器通信框架(RPMsg-Lite) 335
14.4.3 嵌入式遠程過程調用(eRPC) 337
14.5 雙核應用開發(fā) 339
14.5.1 工程配置 339
14.5.2 預定義宏 340
14.5.3 雙核啟動 341
14.6 實例:雙核遠程過程調用 346
14.6.1 環(huán)境準備 346
14.6.2 代碼分析 347
14.6.3 實驗結果 349
14.7 小結 351
第15章 微控制器低功耗設計 353
15.1 系統(tǒng)能耗分析 355
15.1.1 動態(tài)功耗分析 356
15.1.2 動態(tài)功耗指標 357
15.1.3 靜態(tài)功耗分析 360
15.1.4 靜態(tài)功耗指標 362
15.1.5 休眠和喚醒 363
15.1.6 系統(tǒng)能耗估算 363
15.2 微控制器低功耗特性 365
15.2.1 系統(tǒng)模塊電壓調節(jié) 365
15.2.2 數(shù)字外設時鐘控制 366
15.3 微控制器低功耗應用設計方法 366
15.3.1 硬件設計 366
15.3.2 軟件設計 367
15.4 MCUXPRESSO SDK功耗管理庫 374
15.5 小結 376
第16章 基于LPC54114和SDK的可穿戴設備原型設計 379
16.1 硬件介紹 380
16.1.1 硬件框圖 381
16.1.2 主要元器件 381
16.2 固件與應用設計 383
16.2.1 軟件架構 383
16.2.2 主流程 384
16.2.3 傳感器模塊 387
16.2.4 人機交互模塊 391
16.2.5 用戶輸入模塊 400
16.3 功能演示 402
16.4 小結 404