嵌入式系統(tǒng)設(shè)計是嵌入式方向的專業(yè)基礎(chǔ)理論課,而實驗實踐是加強基礎(chǔ)理論學習的必要手段。本書以基于ARM Cortex-M4芯核的典型芯片為例,介紹嵌入式系統(tǒng)設(shè)計中典型的、涉及常規(guī)外設(shè)的基礎(chǔ)實驗和綜合性實驗!肚度胧较到y(tǒng)設(shè)計實驗教程》共14個實驗,包括嵌入式系統(tǒng)開發(fā)環(huán)境部署、匯編指令、C語言、GPIO輸入/輸出、外部中斷、定時器、呼吸燈與PWM控制、USART通信、I2C通信、實時時鐘RTC驅(qū)動、實時操作系統(tǒng)移植等13個基礎(chǔ)實驗,以及1個綜合實驗,包括實驗?zāi)康、實驗設(shè)備、實驗內(nèi)容、實驗預(yù)習、實驗原理、實驗步驟、實驗參考程序、實驗總結(jié)和思考題等內(nèi)容。 《嵌入式系統(tǒng)設(shè)計實驗教程》是《嵌入式系統(tǒng)設(shè)計基礎(chǔ)及應(yīng)用基于ARM Cortex-M4微處理器》的配套實驗教材,可作為高等院校軟件工程、計算機、電子信息和電氣工程、自動化、物聯(lián)網(wǎng)等相關(guān)專業(yè)本科生相關(guān)理論課程的實踐配套教材,也可作為廣大從事嵌入式系統(tǒng)開發(fā)的工程技術(shù)人員實踐學習的參考用書。
嵌入式系統(tǒng)設(shè)計是嵌入式方向的專業(yè)基礎(chǔ)理論課,而實驗實踐是加強基礎(chǔ)理論學習的必要手段。本書以基于ARM Cortex-M4芯核的典型芯片為例,介紹了嵌入式系統(tǒng)設(shè)計中典型的、涉及常規(guī)外設(shè)的基礎(chǔ)實驗和綜合實驗。
作者權(quán)威,經(jīng)驗豐富:本書由中國計算機學會(CCF)嵌入式系統(tǒng)專委會組織編寫,作者不僅具有嵌入式系統(tǒng)課程的教學經(jīng)驗,同時具有多年嵌入式系統(tǒng)的實踐和項目經(jīng)驗。
針對性強,配套使用:本書是《嵌入式系統(tǒng)設(shè)計基礎(chǔ)及應(yīng)用基于ARM Cortex-M4微處理器》的配套實驗教材,同時也可以單獨作為嵌入式系統(tǒng)設(shè)計課程的實驗教材使用。
實驗豐富,講解透徹:涵蓋14個實驗,包括嵌入式系統(tǒng)開發(fā)環(huán)境部署、匯編指令、C語言、GPIO 輸入/輸出、外部中斷、定時器、呼吸燈與PWM 控制、USART通信、I2C通信、實時時鐘RTC驅(qū)動、實時操作系統(tǒng)移植等13個基礎(chǔ)實驗,以及1個綜合實驗。讀者
通過閱讀硬件手冊、學習硬件配置的修改、調(diào)試開發(fā)板等,完成實驗的搭建、代碼的編寫、代碼的下載以及程序在開發(fā)板上的運行調(diào)試,掌握基于ARM Cortex-M4的常規(guī)外設(shè)開發(fā),從而提升嵌入式系統(tǒng)開發(fā)和設(shè)計的能力。
資源齊全,利于教學:提供14個實驗完整的工程文件以及實驗大綱。
前言嵌入式系統(tǒng)設(shè)計是大學嵌入式方向的專業(yè)基礎(chǔ)課,與之相對應(yīng)的實踐環(huán)節(jié)是幫助學生理解相關(guān)理論的必要手段之一。為了提高學生的動手、分析與解決問題的能力,使理論與實際工程實踐和應(yīng)用緊密結(jié)合,并提升學生(讀者,特別是初學者)探究的興趣。本書是《嵌入式系統(tǒng)設(shè)計基礎(chǔ)及應(yīng)用基于ARM CortexM4微處理器》的配套實驗教材,同時,本書也可以單獨作為嵌入式系統(tǒng)設(shè)計課程的實驗教材使用。
本書詳細介紹了嵌入式系統(tǒng)開發(fā)中基于ARM CortexM4芯核的芯片的常規(guī)外設(shè)實驗,包括GPIO、中斷機制、定時器、UART、PWM、I2C、時鐘等;A(chǔ)實驗的內(nèi)容包括基本原理、實驗硬件設(shè)備的搭建、軟件開發(fā)過程、實驗的步驟等,綜合實驗介紹了一個嵌入式最小系統(tǒng)的開發(fā)設(shè)計。
本書的14個實驗都在基于ARM CortexM4(集成在STM32F429IGT6中)的開發(fā)板上調(diào)試通過。書中采用循序漸進、深入淺出的敘述方式,引導讀者通過閱讀硬件手冊、學習硬件配置的修改、調(diào)試開發(fā)板等,完成實驗的搭建、代碼的編寫、代碼的下載以及程序在開發(fā)板上的運行調(diào)試,掌握基于ARM CortexM4的常規(guī)外設(shè)開發(fā),從而提升嵌入式系統(tǒng)開發(fā)和設(shè)計的能力。
本書工程文件和實驗大綱可掃描此處二維碼下載。
配套資源
本書由北京大學曹喜信、郭建、陳剛主編,北京大學、東北大學、華東師范大學、西安電子科技大學、武漢大學、湖南大學和南京郵電大學相關(guān)一線教師共同編寫,華東師范大學郭建統(tǒng)稿。北京大學林金龍教授在本書的編寫過程中,提出了許多寶貴的修改意見,在此表示衷心的感謝。感謝清華大學出版社編輯多次給出的編撰意見,使得本書能夠順利完成。感謝華東師范大學軟件工程學院的董星河、王子健在實驗整理、校對過程中付出的辛勤勞動。
非常感謝CCF嵌入式系統(tǒng)專家委員會對編寫本書的支持。本書受到華東師范大學精品教材建設(shè)專項基金項目的資助,在此一并感謝。
出好書是作者追求的目標,但由于水平所限,盡管做了很大努力,書中可能還會有若干不妥甚至錯誤,望廣大讀者給予批評指正。
《嵌入式系統(tǒng)設(shè)計實驗教程》編寫組2022年2月
曹喜信,博士,教授,博導。2000年獲計算機工學博士學位,F(xiàn)為中國計算機學會(CCF)嵌入式系統(tǒng)專業(yè)委員會秘書長、華北EDA/PLD新技術(shù)推廣與教學研究會副理事長兼秘書長。
郭建,華東師范大學,副教授,博士,研究領(lǐng)域:嵌入式系統(tǒng)
陳剛,東北大學計算機科學與工程學院,副教授,博士,研究領(lǐng)域:嵌入式系統(tǒng)、機器人、計算機視覺,劉錦輝,西安電子科技大學計算機科學與技術(shù)學院,副教授,博士,研究領(lǐng)域:嵌入式系統(tǒng)、計算機仿真技術(shù)、數(shù)字信號處理技術(shù)
江先陽,武漢大學物理科學與技術(shù)學院,副教授,博士,研究領(lǐng)域:新型計算機體系結(jié)構(gòu)、類腦計算等
謝國琪,湖南大學信息科學與工程學院,教授,計,博士,研究領(lǐng)域:實時系統(tǒng)、高性能嵌入式計算、汽車信息物理系統(tǒng)
謝勇,南京郵電大學計算機學院,副教授,博士,研究領(lǐng)域:嵌入式系統(tǒng)
陳勉,西安電子科技大學,研究領(lǐng)域:分布式計算、移動智能計算
實驗1嵌入式系統(tǒng)開發(fā)環(huán)境部署
1.1實驗?zāi)康?/p>
1.2實驗設(shè)備
1.3實驗內(nèi)容
1.4實驗預(yù)習
1.5實驗原理
1.6實驗步驟
1.6.1Keil開發(fā)工具安裝方法
1.6.2項目工程建立
1.6.3Keil MDK調(diào)試工具
1.6.4Keil使用注意事項
1.7實驗總結(jié)
1.8思考題
實驗2匯編指令實驗
2.1實驗?zāi)康?/p>
2.2實驗設(shè)備
2.3實驗內(nèi)容
2.3.1實驗題目
2.3.2實驗描述
2.4實驗預(yù)習
2.5實驗原理
2.5.1軟件開發(fā)環(huán)境
2.5.2ARM CortexM4編程模型
2.5.3存儲器系統(tǒng)
2.5.4指令格式
2.6實驗步驟
2.6.1工程文件
2.6.2創(chuàng)建工程
2.6.3創(chuàng)建文件
2.6.4配置參數(shù)
2.6.5編譯
2.6.6運行及調(diào)試
2.7實驗參考程序
2.8實驗總結(jié)
2.9思考題
實驗3C語言實驗
3.1實驗?zāi)康?/p>
3.2實驗設(shè)備
3.3實驗內(nèi)容
3.4實驗預(yù)習
3.5實驗原理
3.6實驗步驟
3.6.1創(chuàng)建工程
3.6.2修改配置
3.6.3跟蹤變量
3.7實驗參考程序
3.8實驗總結(jié)
3.9思考題
實驗4GPIO設(shè)備編程輸出實驗(寄存器點亮LED燈)
4.1實驗?zāi)康?/p>
4.2實驗設(shè)備
4.3實驗內(nèi)容
4.4實驗預(yù)習
4.5實驗原理
4.5.1GPIO寄存器
4.5.2寄存器映射
4.6實驗步驟
4.6.1硬件連接
4.6.2實驗講解
4.6.3創(chuàng)建工程
4.6.4編譯并點亮LED
4.7實驗參考程序
4.8實驗總結(jié)
4.9思考題
實驗5GPIO設(shè)備編程輸出實驗(固態(tài)庫點亮LED燈)
5.1實驗?zāi)康?/p>
5.2實驗設(shè)備
5.3實驗內(nèi)容
5.4實驗預(yù)習
5.5實驗原理
5.5.1GPIO寄存器的數(shù)據(jù)結(jié)構(gòu)
5.5.2GPIO初始化
5.6實驗步驟
5.6.1硬件連接
5.6.2實驗講解
5.6.3創(chuàng)建工程
5.7實驗參考程序
5.7.1led文件夾
5.7.2main.c
5.8實驗總結(jié)
5.9思考題
實驗6GPIO設(shè)備編程輸入實驗
6.1實驗?zāi)康?/p>
6.2實驗設(shè)備
6.3實驗內(nèi)容
6.4實驗預(yù)習
6.5實驗原理
6.5.1GPIO配置寄存器的設(shè)置
6.5.2GPIO初始化
6.6實驗步驟
6.6.1硬件連接
6.6.2實驗講解
6.6.3創(chuàng)建工程
6.7實驗參考程序
6.8實驗總結(jié)
6.9思考題
實驗7外部中斷實驗
7.1實驗?zāi)康?/p>
7.2實驗設(shè)備
7.3實驗內(nèi)容
7.3.1實驗題目
7.3.2實驗描述
7.4實驗預(yù)習
7.5實驗原理
7.5.1外部中斷的原理
7.5.2外部中斷編程的基本方法
7.6實驗步驟
7.6.1硬件連接
7.6.2實驗講解
7.6.3創(chuàng)建工程
7.7實驗參考程序
7.8實驗總結(jié)
7.9思考題
實驗8定時器實驗
8.1實驗?zāi)康?/p>
8.2實驗設(shè)備
8.3實驗內(nèi)容
8.3.1實驗題目
8.3.2實驗描述
8.4實驗預(yù)習
8.5實驗原理
8.5.1定時器簡介
8.5.2數(shù)據(jù)結(jié)構(gòu)介紹
8.6實驗步驟
8.6.1硬件連接
8.6.2實驗講解
8.6.3創(chuàng)建工程
8.7實驗參考程序
8.8實驗總結(jié)
8.9思考題
實驗9呼吸燈與PWM控制實驗
9.1實驗?zāi)康?/p>
9.2實驗設(shè)備
9.3實驗內(nèi)容
9.3.1實驗題目
9.3.2實驗描述
9.4實驗預(yù)習
9.5實驗原理
9.5.1通用定時器簡介
9.5.2PWM簡介
9.6實驗步驟
9.6.1硬件連接
9.6.2實驗講解
9.6.3創(chuàng)建工程
9.7實驗參考程序
9.8實驗總結(jié)
9.9思考題
實驗10USART通信實驗
10.1實驗?zāi)康?/p>
10.2實驗設(shè)備
10.3實驗內(nèi)容
10.4實驗預(yù)習
10.5實驗原理
10.5.1USART及其通信方式
10.5.2STM32F4的USART功能介紹
10.5.3串口通信硬件與實現(xiàn)方法
10.6實驗步驟
10.6.1硬件連接
10.6.2實驗講解
10.6.3串口調(diào)試助手
10.6.4創(chuàng)建工程
10.7實驗參考程序
10.8實驗總結(jié)
10.9思考題
實驗11I2C通信實驗
11.1實驗?zāi)康?/p>
11.2實驗設(shè)備
11.3實驗內(nèi)容
11.4實驗預(yù)習
11.5實驗原理
11.5.1I2C通信介紹
11.5.2STM32F4的I2C接口框圖
11.5.3I2C總線的信號類型及其實現(xiàn)方法
11.5.4I2C的工作模式
11.5.5I2C接口芯片AT24C02介紹
11.5.6I2C讀寫流程小結(jié)
11.6實驗步驟
11.6.1硬件連接
11.6.2實驗講解
11.6.3串口調(diào)試助手
11.6.4創(chuàng)建工程
11.7實驗參考程序
11.8實驗總結(jié)
11.9思考題
實驗12實時時鐘RTC部件
12.1實驗?zāi)康?/p>
12.2實驗設(shè)備
12.3實驗內(nèi)容
12.4實驗預(yù)習
12.5實驗原理
12.5.1時鐘
12.5.2周期性自動喚醒
12.5.3RTC中斷
12.5.4RTC日歷時間和日期寄存器
12.5.5初始化
12.6實驗步驟
12.6.1硬件連接
12.6.2實驗講解
12.6.3串口調(diào)試助手
12.6.4創(chuàng)建工程
12.7實驗參考程序
12.8實驗總結(jié)
12.9思考題
實驗13實時操作系統(tǒng)內(nèi)核移植與編譯實驗
13.1實驗?zāi)康?/p>
13.2實驗設(shè)備
13.3實驗內(nèi)容
13.4實驗預(yù)習
13.5實驗原理
13.6實驗步驟
13.6.1C/OSⅢ下載
13.6.2C/OSⅢ源代碼文件結(jié)構(gòu)
13.6.3文件復制
13.6.4添加到工程中
13.6.5修改參數(shù)
13.6.6修改文檔
13.7實驗總結(jié)
13.8思考題
實驗14綜合實驗: 最小系統(tǒng)的實驗
14.1實驗?zāi)康?/p>
14.2實驗設(shè)備
14.3實驗內(nèi)容
14.3.1實驗題目
14.3.2實驗描述
14.4實驗預(yù)習
14.5實驗原理
14.5.1最小系統(tǒng)介紹
14.5.2循環(huán)緩沖區(qū)
14.6實驗步驟
14.6.1硬件連接
14.6.2實驗講解
14.6.3創(chuàng)建工程
14.7實驗參考程序
14.8實驗總結(jié)
14.9思考題
附錄AARM CortexM4主要指令列表
附錄B硬件連接圖