嵌入式系統(tǒng)原理及應用——基于STM32和RT-Thread
定 價:55 元
叢書名:普通高等教育電子信息類系列教材
- 作者:胡永濤
- 出版時間:2023/9/1
- ISBN:9787111733003
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP360.21
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書以意法半導體(ST)的STM32L431系列微控制器為硬件核心,采用裸機開發(fā)和RT-Thread操作系統(tǒng)開發(fā)兩條主線貫穿工作原理與實踐應用,層層遞進地介紹嵌入式系統(tǒng)的開發(fā)設計方法。全書共13章。第1~6章介紹STM32裸機開發(fā),包括嵌入式系統(tǒng)概述、STM32硬件及軟件基礎、STM32通用功能輸入輸出、STM32外部中斷、STM32定時器/計數(shù)器和STM32通用同步異步通信。第7~12章介紹RT-Thread操作系統(tǒng)開發(fā),包括RT-Thread操作系統(tǒng)基礎、RT-Thread線程管理、RT-Thread線程間同步、RT-Thread線程間通信、RT-Thread設備驅(qū)動和RT-Thread軟件包。兩種開發(fā)環(huán)境均適用于ST全系列微控制器,并且屏蔽了不同芯片的差異,用戶掌握了STM32L431系列微控制器即掌握了ST全系列微控制器。第13章介紹基于STM32及OneNET的智能家居系統(tǒng),通過綜合應用案例,讀者可以快速掌握基于STM32及RT-Thread的嵌入式系統(tǒng)設計與開發(fā)的方法。
本書配有大量源于工程項目的應用實例,所有實例均經(jīng)過調(diào)試和測試,可直接移植應用。此外,本書各章均配有思維導圖和思考與練習,幫助讀者鞏固基礎知識,提高綜合應用能力。
本書可作為普通高等院校電氣、自動化、電子信息、機器人等專業(yè)的教材。本書配有以下教學資源:電子課件、源代碼、教學大綱、視頻。選用本書作教材的教師請登錄wwwcmpeducom注冊后下載,或加微信13910750469索取。
STM32系列微控制器是ST公司生產(chǎn)的基于Cortex-M內(nèi)核的嵌入式微控制器,具有外設豐富、集成度高、外圍電路簡單等優(yōu)點,是目前應用最為廣泛的微控制器之一。因此,基于STM32的嵌入式系統(tǒng)開發(fā)是目前眾多高等院校電氣、自動化、電子信息、機器人等專業(yè)學生必須掌握的技術之一。ST公司提供了用于STM開發(fā)的集成開發(fā)工具STM32CubeIDE,降低了學習門檻,開發(fā)者利用STM32CubeIDE可快速掌握STM32裸機開發(fā)的方法,設計開發(fā)簡單的嵌入式產(chǎn)品。然而,隨著物聯(lián)網(wǎng)、云計算、大數(shù)據(jù)、人工智能等高新技術的快速發(fā)展及廣泛應用,單純地掌握裸機開發(fā)方法已不能滿足技術發(fā)展及企業(yè)用人需求,因此本書在STM32裸機開發(fā)的基礎上,詳細介紹基于RT-Thread操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)方法。RT-Thread是上海睿賽德電子科技有限公司推出的一款開源的嵌入式實時操作系統(tǒng),具有完全的自主知識產(chǎn)權,經(jīng)過近20年的沉淀,已演變成一個功能強大、組件豐富的物聯(lián)網(wǎng)操作系統(tǒng),是目前開發(fā)者最多、裝機量最大、社區(qū)最活躍的國產(chǎn)嵌入式實時操作系統(tǒng)之一。開發(fā)者利用睿賽德提供的集成開發(fā)工具RTThread Studio可方便快速地開發(fā)穩(wěn)定、可靠、復雜的嵌入式產(chǎn)品。本書以STM32L431RCT6為硬件平臺,介紹STM32系列微控制器基本外設及RT-Thread操作系統(tǒng)主要功能的工作原理及應用方法,由于集成開發(fā)環(huán)境屏蔽了不同型號微控制器的差異,讀者掌握了STM32L431RCT6后,即可利用任意型號的STM32微控制器設計開發(fā)嵌入式系統(tǒng)。
本書內(nèi)容可分為STM32裸機開發(fā)、RT-Thread操作系統(tǒng)開發(fā)和綜合應用三部分。STM32裸機開發(fā)包括第1~6章:前兩章介紹了嵌入式系統(tǒng)及STM32微控制器相關基礎知識,如嵌入式系統(tǒng)基本概念、軟硬件架構、STM32微控制器最小系統(tǒng)、裸機開發(fā)環(huán)境搭建等;第3~6章分別針對STM32核心外設GPIO、EXTI、TIM和USART,闡述其內(nèi)部電路結構及應用方法,并配有相應的應用實例及詳細的開發(fā)過程。RT-Thread操作系統(tǒng)開發(fā)包括第7~12章:第7章介紹了RT-Thread操作系統(tǒng)基礎;第8~10章為RT-Thread操作系統(tǒng)的內(nèi)核功能,詳細介紹了線程管理、線程間同步和線程間通信的工作原理及應用方法,并配有簡單的應用實例,幫助讀者掌握基本應用方法;第11章為RT-Thread的設備管理,詳細介紹了IO設備模型框架,在此基礎上概括了PIN設備、UART設備、TIM設備和ADC設備的管理方式及應用方法,每種設備均給出了應用案例,讀者在掌握上述設備應用后可根據(jù)需要自行學習其他設備;第12章為RT-Thread軟件包,以AHT10、AT Device、MQTT和cJSON為例詳細介紹了不同類型軟件包的應用方法,讀者在此基礎上可根據(jù)應用需求快速掌握其他軟件包的使用方法。第13章為綜合應用,通過基于STM32和OneNET的智能家居系統(tǒng)介紹了基于STM32及RT-Thread的嵌入式系統(tǒng)開發(fā)設計流程,幫助讀者全面掌握嵌入式系統(tǒng)設計開發(fā)的方法。
本書各章內(nèi)容通過裸機開發(fā)和操作系統(tǒng)開發(fā)兩條主線貫穿工作原理與應用實踐兩個主題,層次遞進地講解STM32微控制器基本外設的工作原理及應用和RT-Thread操作系統(tǒng)的工作原理及應用。為了便于讀者掌握理論及設計開發(fā)方法,相關章節(jié)根據(jù)內(nèi)容安排給出大量的應用實例,所有實例均經(jīng)過測試驗證,且大部分源于工程項目實踐,讀者參考案例可快速掌握嵌入式系統(tǒng)設計開發(fā)的方法。此外,本書每章前配有簡化版思維導圖,建議讀者在完成本章內(nèi)容學習后及時完善思維導圖,在此基礎上完成每章后的思考與練習,包括理論基礎題和編程應用題,以鞏固理論知識,拓展提高應用實踐能力,最終形成完整的嵌入式課程體系。
前言本書是編者多年教學經(jīng)驗和工程實踐經(jīng)驗的總結,由淺入深,難易適中,突出前沿,強調(diào)系統(tǒng)的學習路線,使讀者在快速掌握裸機開發(fā)方法的基礎上,進階操作系統(tǒng)開發(fā),培養(yǎng)結構化、模塊化、面向?qū)ο蟮木幊趟枷牒退季S方式,具備獨立開發(fā)復雜嵌入式系統(tǒng)的能力。本書不僅是一本教科書和教學參考書,而且可作為物聯(lián)網(wǎng)、儀器儀表、自動控制等工程技術人員及科技工作者的技術參考書。
本書由胡永濤任主編,李婕和董明如任副主編,趙新蕖、高雅昆、田效伍參編。其中,胡永濤編寫第1、2、12、13章,李婕編寫第3~5章,董明如編寫第6、7、11章,趙新蕖編寫第8章,高雅昆編寫第9章,田效伍編寫第10章。本書的程序調(diào)試和實驗工作由李婕、董明如、盧亞娟等完成。
本書在編寫過程中參考和借鑒了大量相關資料,并引用了部分文字和代碼,謹對各位作者表示衷心的感謝。特別鳴謝意法半導體(中國)投資有限公司和上海睿賽德電子科技有限公司,本書獲產(chǎn)學合作協(xié)同育人項目支持,在編寫過程中得到了意法半導體大學計劃負責人丁曉磊女士和睿賽德大學計劃負責人羅齊熙先生大量無私的幫助。杜志勇、常文平、趙斌、楊捷、楊曉、張超、李金玉等為本書的編寫提出了許多寶貴的意見,在此一并表示感謝。
由于編者水平有限,書中難免存在疏漏與不足之處,懇請讀者批評指正,相關建議可以發(fā)送至郵箱hythait@163com。
編者
前言
第1章嵌入式系統(tǒng)概述1
本章思維導圖1
1.1嵌入式系統(tǒng)基本概念1
1.1.1嵌入式系統(tǒng)的定義及特點1
1.1.2嵌入式系統(tǒng)的發(fā)展歷程及
發(fā)展趨勢2
1.1.3嵌入式系統(tǒng)的應用3
1.1.4嵌入式系統(tǒng)的架構4
1.2嵌入式系統(tǒng)硬件4
1.2.1嵌入式系統(tǒng)硬件架構4
1.2.2嵌入式處理器4
1.2.3ARM微控制器5
1.3嵌入式系統(tǒng)軟件6
1.3.1嵌入式系統(tǒng)軟件架構6
1.3.2嵌入式系統(tǒng)軟件編程思想9
思考與練習10
第2章STM32硬件及軟件基礎12
本章思維導圖12
2.1STM32微控制器概述12
2.1.1STM32微控制器產(chǎn)品系列及命名
規(guī)則13
2.1.2STM32L431性能14
2.1.3STM32L431外部結構15
2.2最小系統(tǒng)設計16
2.3裸機開發(fā)環(huán)境搭建19
2.4C語言基礎22
2.4.1文件結構22
2.4.2程序版式23
2.4.3C語言知識精編24
思考與練習35
第3章STM32通用功能輸入輸出37
本章思維導圖37
3.1GPIO概念及應用場景37
3.1.1GPIO概念37
3.1.2GPIO應用場景38
3.2IO內(nèi)部電路結構及工作模式39
3.2.1IO內(nèi)部電路結構39
3.2.2IO工作模式41
3.2.3GPIO應用步驟42
3.3GPIO應用實例1——狀態(tài)指示燈46
3.3.1電路原理及需求分析46
3.3.2實現(xiàn)過程46
3.4GPIO應用實例2——按鍵控制LED51
3.4.1電路原理及需求分析51
3.4.2實現(xiàn)過程52
思考與練習54
第4章STM32外部中斷57
本章思維導圖57
4.1中斷基本概念57
4.2STM32外部中斷系統(tǒng)59
4.2.1EXTI主要特征59
4.2.2EXTI內(nèi)部電路結構59
4.2.3EXTI應用步驟59
4.3EXTI應用實例——按鍵控制LED62
4.3.1電路原理及需求分析62
4.3.2實現(xiàn)過程63
思考與練習64
第5章STM32定時器/計數(shù)器66
本章思維導圖66
5.1定時器/計數(shù)器基本概念66
5.2STM32定時器系統(tǒng)68
5.2.1TIM內(nèi)部電路結構68
5.2.2脈沖寬度調(diào)制70
5.2.3TIM精確定時應用步驟72
5.3TIM應用實例1——精確定時73
5.3.1電路原理及需求分析73
5.3.2實現(xiàn)過程74
5.4TIM應用實例2——PWM控制狀態(tài)
指示燈77
5.4.1電路原理及需求分析77
5.4.2實現(xiàn)過程77
思考與練習81
第6章STM32通用同步異步通信83
本章思維導圖83
6.1通信基礎83
6.1.1通信分類83
6.1.2異步串行通信85
6.2STM32的串口系統(tǒng)87
6.2.1USART的特點87
6.2.2USART內(nèi)部電路結構87
6.2.3USART應用步驟87
6.3USART應用實例1——串口打印
信息90
6.3.1電路原理及需求分析90
6.3.2實現(xiàn)過程91
6.4USART應用實例2——開關量遠程
監(jiān)控系統(tǒng)95
6.4.1電路原理及需求分析95
6.4.2實現(xiàn)過程96
思考與練習106
目錄第7章RT-Thread操作系統(tǒng)基礎108
本章思維導圖108
7.1RT-Thread操作系統(tǒng)簡介及架構108
7.1.1RT-Thread簡介108
7.1.2RT-Thread操作系統(tǒng)架構109
7.2RT-Thread開發(fā)環(huán)境搭建111
7.2.1軟件下載及安裝111
7.2.2軟件測試111
7.3RT-Thread內(nèi)核基礎114
7.3.1內(nèi)核簡介114
7.3.2啟動流程116
7.3.3程序內(nèi)存分布118
7.3.4自動初始化機制119
7.3.5內(nèi)核對象模型119
思考與練習120
第8章RT-Thread線程管理122
本章思維導圖122
8.1線程概念及管理方式122
8.1.1線程概念122
8.1.2線程管理方式及特點123
8.2線程工作機制124
8.2.1線程控制塊124
8.2.2線程重要屬性125
8.2.3系統(tǒng)線程128
8.3線程應用方法128
8.3.1線程管理方式128
8.3.2動態(tài)線程應用步驟130
8.4線程應用實例——狀態(tài)指示燈131
思考與練習135
第9章RT-Thread線程間同步137
本章思維導圖137
9.1信號量137
9.1.1信號量工作機制137
9.1.2信號量管理方式139
9.1.3信號量應用步驟140
9.2互斥量142
9.2.1互斥量工作機制142
9.2.2互斥量管理方式143
9.2.3互斥量應用步驟144
9.2.4優(yōu)先級翻轉(zhuǎn)146
9.3事件集148
9.3.1事件集工作機制148
9.3.2事件集管理方式149
9.3.3事件集應用步驟151
9.4線程間同步應用實例——多線程
同步152
9.4.1電路原理及需求分析152
9.4.2實現(xiàn)過程153
思考與練習157
第10章RT-Thread線程間通信159
本章思維導圖159
10.1郵箱159
10.1.1郵箱工作機制159
10.1.2郵箱管理方式161
10.1.3郵箱應用步驟162
10.2消息隊列164
10.2.1消息隊列工作機制164
10.2.2消息隊列管理方式165
10.2.3消息隊列應用步驟166
10.3信號168
10.3.1信號工作機制168
10.3.2信號管理方式168
10.3.3信號應用步驟170
10.4線程間通信應用實例——多變量
通信171
思考與練習174
第11章RT-Thread設備驅(qū)動175
本章思維導圖175
11.1IO設備模型及框架176
11.1.1IO設備模型176
11.1.2IO設備模型框架177
11.1.3IO設備訪問178
11.2PIN設備驅(qū)動179
11.2.1獲取引腳編號179
11.2.2PIN設備管理方式180
11.2.3PIN設備應用實例及步驟183
11.3UART設備驅(qū)動184
11.3.1UART設備管理方式184
11.3.2UART設備應用實例及步驟188
11.4TIM設備驅(qū)動189
11.4.1TIM設備管理方式189
11.4.2TIM設備應用實例及步驟192
11.5ADC設備驅(qū)動197
11.5.1ADC設備管理方式197
11.5.2ADC設備應用實例及步驟198
11.6設備驅(qū)動應用實例——遠程監(jiān)控
系統(tǒng)201
11.6.1電路原理及需求分析201
11.6.2實現(xiàn)過程202
思考與練習209
第12章RT-Thread軟件包211
本章思維導圖211
12.1軟件包簡介及應用步驟212
12