本書以
德州儀器(TI)的ARM CortexM4F核心的MSP432系列
微控制器為藍本,以知識要素為核心,以構件化為基礎闡述嵌入式技術基礎與實踐。全書共14章,第1章為概述,簡要闡述嵌入只殼式系統的知識體系、學習誤區與學習建議; 第2章給出ARM CortexM4F處理器; 第3章介紹MSP432存儲映像、中斷源與硬體最小系統; 第4章以GPIO為例闡述底層驅動概念、設計與套用方法,介紹規範的工程組織框架; 第5章闡述嵌入式硬體構件與底層驅動構件基本規範; 第6章闡述串列通信接口UART,並給出第一個帶中斷的實例。第1~6章囊括學習一個微控制器入門環節的完整要素。第7~13章分別介紹SysTick、Timer、RTC、GPIO的套用實例(鍵盤、LED與LCD)、Flash線上編程、ADC、CMP、SPI、I2C、CTI、DMA及其他模組。第14章闡述進一步學習指導。
本書提供了網上教學資源,內含所有底層驅動構件源程式、測試實例、文檔資料、教學課件及常用軟體工具。配合本書內容還製作了微課視頻,供讀者選用。
本書適用於高等學校嵌入式系統的教學或技術培訓,也可供ARM CortexM4F套用工程師進行技術研發時參考。
第1章概述
1.1嵌入式系統定義、發展簡史、分類及特點
1.1.1嵌入式系統的定義
1.1.2嵌入式系統的由來及發展簡史
1.1.3嵌入式系統的分類
1.1.4嵌入式系統的特點
1.2嵌入式系統的學習困惑、知識體系及學習建議
1.2.1嵌入式系統的學習困惑
1.2.2嵌入式系統的知識體系
1.2.3基礎階段的學習建議
1.3微控制器與套用處理器簡介
1.3.2以MCU為核心的嵌入式測控產品的基本組成
1.3.3套用處理器簡介
1.4嵌入式系統常用盼漿頁術語
1.4.1與硬體相關的術語
1.4.2與通信相關的術語
1.4.3與功能模組相關的術語
1.5嵌入式系統常用的C語言基本語法概拔享謎要
1.5.1C語言的運算符與數據類型
1.5.2程式流程控制
1.5.3函式
1.5.4數據存儲方式
1.5.5編譯預處理
小結
習題
第2章ARM CortexM4F處理器
2.1ARM CortexM4F處理器簡介
2.1.1ARM CortexM4F處理器內部結構概要
2.1.2ARM CortexM4F處理器存儲器映像
2.1.3ARM CortexM4F處理器的暫存器
2.2指令系統
2.2.1指令簡表與定址方式
2.2.2數據傳送類指令
2.2.3數據操作類指令
2.2.4跳轉控制類指令
2.2.5其他指令
2.3指令集與機器碼對應表
2.4彙編語言的基本語法
2.4.1彙編語言格式
2.4.2常用偽指令簡介
小結
習題
嵌入式技術基礎與實踐(第5版)
第龍牛諒3章存儲映像、中斷源與硬體最小系統
3.1MSP432系列MCU概述
3.1.1MSP432系列MCU簡介
3.1.2MSP432系列MCU內部結構框圖
3.2MSP432系列MCU存儲映像與中斷源
3.2.1MSP432系列MCU存儲映像
3.2.2MSP432中斷源
3.3MSP432系列MCU的引腳功能
3.3.1硬體最小系統引腳
3.4MSP432系列MCU硬體最小系統
3.4.1電源及其濾波電路
3.4.2復位電路及復位功能
3.4.3晶振電路
3.4.4SWD接口電路
小結
習題
第4章GPIO及程式框架
4.2GPIO模組的編程結構
4.2.1連線埠與GPIO模組——對外引腳與內部暫存器
4.2.2GPIO基本編程步驟與基本打通程式
4.3GPIO驅動構件封裝方法與驅動構件封裝規範
4.3.1設計GPIO驅動構件的必要性及GPIO驅動構件封裝要點分析
4.3.2底層驅動構件封裝規範概要與構件封裝的前期準備
4.3.3MSP432的GPIO驅動構件源碼及解析
4.4利用構件方法控制小燈閃爍
4.4.1Light構件設計
4.4.2Light構件測試工程主程式
4.5工程檔案組織框架與第一個C語言工程分析
4.5.1工程框架及所含檔案簡介
4.5.2連結檔案常用語法及連結檔案解析
4.5.3機器碼檔案解析和擔拘贈
4.5.4晶片上電啟動執行過程
4.6第一個彙編語言工程: 控制小燈閃爍
4.6.1彙編工程檔案的組織
4.6.2彙編語言GPIO構件及使櫻簽汽妹用方法
4.6.3彙編語言Light構件及使用方法
4.6.4彙編語言Light測試工程主程式
小結
習題
第5章嵌入式硬體構件與底層驅動構件基本規範
5.1嵌入式硬體構件
5.1.1嵌入式硬體構件的概念與分類
5.1.2基於嵌入式硬體構件的電路原理圖設計簡明規則
5.2嵌入式底層驅動構件的概念與層次模型
5.2.1嵌入式底層驅動構件的概念
5.2.2嵌入式硬體構件與軟體構件結合的層次模型
5.2.3嵌入式軟體構件的分類
5.3底層驅動構件的封裝規範
5.3.1構件設計的基本思想與基本原則
5.3.2編碼風格基本規範
5.3.3公共要素檔案
5.3.4頭檔案的設計規範
5.3.5源程式檔案的設計規範
5.4硬體構件及底層軟體構件的重用與移植方法
小結
習題
第6章串列通信模組及第一個中斷程式結構
6.1.1串列通信的基本概念
6.1.2RS232匯流排標準
6.1.4串列通信編程模型
6.2MSP432晶片UART驅動構件及使用方法
6.2.1MSP432晶片UART引腳
6.2.2UART驅動構件基本要素分析與頭檔案
6.2.3printf的設定方法與使用
6.3ARM CortexM4F中斷機制及MSP432中斷編程步驟
6.3.1關於中斷的通用基礎知識
6.3.2ARM CortexM4F非核心模組中斷編程結構
6.3.3MSP432中斷編程步驟——以串口接收中斷為例
6.4UART驅動構件的設計方法
6.4.1UART模組編程結構
6.4.2UART驅動構件源碼
小結
習題
第7章定時器相關模組
7.1ARM CortexM4F核心定時器
7.1.1SysTick模組的編程結構
7.1.2SysTick的驅動構件設計
7.2脈寬調製、輸入捕捉與輸出比較通用基礎知識
7.2.1脈寬調製PWM通用基礎知識
7.2.2輸入捕捉與輸出比較通用基礎知識
7.3Timer_A模組
7.3.1Timer_A模組功能概述
7.3.2Timer_A模組驅動構件及使用方法
7.3.3Timer_A模組驅動構件設計
7.4Timer32模組
7.4.1Timer32模組功能概述
7.4.2Timer32模組驅動構件及使用方法
7.4.3Timer32模組驅動構件設計
7.5實時時鐘RTC_C模組
7.5.1RTC_C模組功能概述
7.5.2RTC_C模組驅動構件及使用方法
7.5.3RTC驅動構件的設計
小結
習題
第8章GPIO套用——鍵盤、LED及LCD
8.1鍵盤的基礎知識及其驅動構件設計
8.1.1鍵盤模型及接口
8.1.2鍵盤編程基本問題、掃描編程原理及鍵值計算
8.1.3鍵盤驅動構件的設計
8.2.1LED數碼管的基礎知識
8.2.2LED驅動構件設計及使用方法
8.3LCD的基礎知識及其驅動構件設計
8.3.1LCD的特點和分類
8.3.2點陣字元型
LCD模組控制器HD44780
8.3.3LCD構件設計
8.4鍵盤、LED及LCD驅動構件測試實例
小結
習題
第9章Flash線上編程
9.1Flash線上編程的通用基礎知識
9.2Flash驅動構件及使用方法
9.2.1Flash驅動構件知識要素分析
9.2.2Flash驅動構件頭檔案
9.2.3Flash驅動構件的使用方法
9.3Flash驅動構件的設計方法
9.3.1Flash模組編程結構
9.3.2Flash驅動構件設計技術要點
9.3.3Flash驅動構件源碼
小結
習題
第10章ADC與CMP模組
10.1.1ADC的通用基礎知識
10.1.2ADC驅動構件及使用方法
10.1.3ADC模組的編程結構
10.1.4ADC驅動構件的設計
10.2比較器
10.2.1CMP的通用基礎知識
10.2.2CMP驅動構件及使用方法
10.2.3CMP驅動構件的編程結構
10.2.4CMP驅動構件的設計
小結
習題
第11章SPI、I2C與CTI模組
11.1.1串列外設接口的通用基礎知識
11.1.2SPI驅動構件頭檔案及使用方法
11.1.3SPI模組的編程結構
11.1.4SPI驅動構件的設計
11.2積體電路互聯匯流排模組
11.2.1積體電路互聯匯流排的通用基礎知識
11.2.2I2C驅動構件頭檔案及使用方法
11.2.3I2C模組的編程結構
11.2.4I2C驅動構件源碼
11.3電容式觸摸感應模組
11.3.1電容式觸摸感應的通用基礎知識
11.3.2CTI驅動構件頭檔案及使用方法
11.3.3CTI模組的編程結構
11.3.4CTI驅動構件的設計
小結
習題
第12章DMA編程
12.1直接存儲器存取的通用基礎知識
12.1.1DMA的基本概念
12.1.2DMA的一般操作流程
12.2DMA構件頭檔案及使用方法
12.3DMA驅動構件的設計方法
12.3.1DMA模組編程結構
12.3.2DMA驅動構件源碼
小結
習題
第13章系統時鐘與其他功能模組
13.1時鐘系統
13.1.1時鐘系統概述
13.1.2時鐘模組概要與編程要點
13.1.3時鐘模組測試實例
13.2電源模組
13.2.1電源模式控制
13.2.2電源模式轉換
13.3校驗模組
13.3.1CRC32模組簡介
13.3.3CRC標準與位順序
13.3.4CRC實現
13.3.5CRC暫存器
13.4看門狗模組
13.4.1看門狗模組簡介
13.4.2看門狗的配置方法
13.5復位模組
13.5.1電源開/關復位
13.5.2重新啟動重置
13.5.3硬重置
13.5.4軟重置
13.6高級加密模組
13.6.1AES介紹
13.6.2AES工作流程
13.6.3AES暫存器
13.7位帶技術及套用方法
13.7.1位帶別名區概述
13.7.2位帶別名區的套用機制解析
13.7.3位帶別名區使用注意事項
13.7.4測試實例
小結
習題
第14章進一步學習指導
14.1關於更為詳細的技術資料
14.3關於嵌入式系統穩定性問題
附錄A100引腳LQFP封裝MSP432的復用功能
附錄B100引腳LQFP封裝MSP432的硬體最小系統
附錄C集成開發環境CCS簡明使用方法
附錄Dprintf格式化輸出
參考文獻
2.2.5其他指令
2.3指令集與機器碼對應表
2.4彙編語言的基本語法
2.4.1彙編語言格式
2.4.2常用偽指令簡介
小結
習題
嵌入式技術基礎與實踐(第5版)
第3章存儲映像、中斷源與硬體最小系統
3.1MSP432系列MCU概述
3.1.1MSP432系列MCU簡介
3.1.2MSP432系列MCU內部結構框圖
3.2MSP432系列MCU存儲映像與中斷源
3.2.1MSP432系列MCU存儲映像
3.2.2MSP432中斷源
3.3MSP432系列MCU的引腳功能
3.3.1硬體最小系統引腳
3.4MSP432系列MCU硬體最小系統
3.4.1電源及其濾波電路
3.4.2復位電路及復位功能
3.4.3晶振電路
3.4.4SWD接口電路
小結
習題
第4章GPIO及程式框架
4.2GPIO模組的編程結構
4.2.1連線埠與GPIO模組——對外引腳與內部暫存器
4.2.2GPIO基本編程步驟與基本打通程式
4.3GPIO驅動構件封裝方法與驅動構件封裝規範
4.3.1設計GPIO驅動構件的必要性及GPIO驅動構件封裝要點分析
4.3.2底層驅動構件封裝規範概要與構件封裝的前期準備
4.3.3MSP432的GPIO驅動構件源碼及解析
4.4利用構件方法控制小燈閃爍
4.4.1Light構件設計
4.4.2Light構件測試工程主程式
4.5工程檔案組織框架與第一個C語言工程分析
4.5.1工程框架及所含檔案簡介
4.5.2連結檔案常用語法及連結檔案解析
4.5.3機器碼檔案解析
4.5.4晶片上電啟動執行過程
4.6第一個彙編語言工程: 控制小燈閃爍
4.6.1彙編工程檔案的組織
4.6.2彙編語言GPIO構件及使用方法
4.6.3彙編語言Light構件及使用方法
4.6.4彙編語言Light測試工程主程式
小結
習題
第5章嵌入式硬體構件與底層驅動構件基本規範
5.1嵌入式硬體構件
5.1.1嵌入式硬體構件的概念與分類
5.1.2基於嵌入式硬體構件的電路原理圖設計簡明規則
5.2嵌入式底層驅動構件的概念與層次模型
5.2.1嵌入式底層驅動構件的概念
5.2.2嵌入式硬體構件與軟體構件結合的層次模型
5.2.3嵌入式軟體構件的分類
5.3底層驅動構件的封裝規範
5.3.1構件設計的基本思想與基本原則
5.3.2編碼風格基本規範
5.3.3公共要素檔案
5.3.4頭檔案的設計規範
5.3.5源程式檔案的設計規範
5.4硬體構件及底層軟體構件的重用與移植方法
小結
習題
第6章串列通信模組及第一個中斷程式結構
6.1.1串列通信的基本概念
6.1.2RS232匯流排標準
6.1.4串列通信編程模型
6.2MSP432晶片UART驅動構件及使用方法
6.2.1MSP432晶片UART引腳
6.2.2UART驅動構件基本要素分析與頭檔案
6.2.3printf的設定方法與使用
6.3ARM CortexM4F中斷機制及MSP432中斷編程步驟
6.3.1關於中斷的通用基礎知識
6.3.2ARM CortexM4F非核心模組中斷編程結構
6.3.3MSP432中斷編程步驟——以串口接收中斷為例
6.4UART驅動構件的設計方法
6.4.1UART模組編程結構
6.4.2UART驅動構件源碼
小結
習題
第7章定時器相關模組
7.1ARM CortexM4F核心定時器
7.1.1SysTick模組的編程結構
7.1.2SysTick的驅動構件設計
7.2脈寬調製、輸入捕捉與輸出比較通用基礎知識
7.2.1脈寬調製PWM通用基礎知識
7.2.2輸入捕捉與輸出比較通用基礎知識
7.3Timer_A模組
7.3.1Timer_A模組功能概述
7.3.2Timer_A模組驅動構件及使用方法
7.3.3Timer_A模組驅動構件設計
7.4Timer32模組
7.4.1Timer32模組功能概述
7.4.2Timer32模組驅動構件及使用方法
7.4.3Timer32模組驅動構件設計
7.5實時時鐘RTC_C模組
7.5.1RTC_C模組功能概述
7.5.2RTC_C模組驅動構件及使用方法
7.5.3RTC驅動構件的設計
小結
習題
第8章GPIO套用——鍵盤、LED及LCD
8.1鍵盤的基礎知識及其驅動構件設計
8.1.1鍵盤模型及接口
8.1.2鍵盤編程基本問題、掃描編程原理及鍵值計算
8.1.3鍵盤驅動構件的設計
8.2.1LED數碼管的基礎知識
13.2電源模組
13.2.1電源模式控制
13.2.2電源模式轉換
13.3校驗模組
13.3.1CRC32模組簡介
13.3.3CRC標準與位順序
13.3.4CRC實現
13.3.5CRC暫存器
13.4看門狗模組
13.4.1看門狗模組簡介
13.4.2看門狗的配置方法
13.5復位模組
13.5.1電源開/關復位
13.5.2重新啟動重置
13.5.3硬重置
13.5.4軟重置
13.6高級加密模組
13.6.1AES介紹
13.6.2AES工作流程
13.6.3AES暫存器
13.7位帶技術及套用方法
13.7.1位帶別名區概述
13.7.2位帶別名區的套用機制解析
13.7.3位帶別名區使用注意事項
13.7.4測試實例
小結
習題
第14章進一步學習指導
14.1關於更為詳細的技術資料
14.3關於嵌入式系統穩定性問題
附錄A100引腳LQFP封裝MSP432的復用功能
附錄B100引腳LQFP封裝MSP432的硬體最小系統
附錄C集成開發環境CCS簡明使用方法
附錄Dprintf格式化輸出
參考文獻