根據(jù)嵌入式系統(tǒng)的特點(diǎn),對嵌入式系統(tǒng)的基礎(chǔ)知識、工作原理與典型的應(yīng)用設(shè)計等方面進(jìn)行了介紹。作者根據(jù)長期的嵌入式系統(tǒng)開發(fā)經(jīng)驗,從嵌入式系統(tǒng)研發(fā)人員的角度,分析嵌入式系統(tǒng)設(shè)計需要掌握的理論知識、設(shè)計方法及步驟,介紹了嵌入式系統(tǒng)的基本組成,從底層到應(yīng)用層各個典型模塊的設(shè)計,將理論知識和實際對象充分結(jié)合起來,形成了一個完整的嵌入式系統(tǒng)。其主要內(nèi)容包括:嵌入式系統(tǒng)軟硬件基礎(chǔ)知識、嵌入式系統(tǒng)開發(fā)基礎(chǔ)、ARMCortexM3內(nèi)核體系結(jié)構(gòu)、基于STM32F103VET6的典型的外設(shè)模塊硬件/驅(qū)動程序設(shè)計、嵌入式操作系統(tǒng)基礎(chǔ)、μC/OSII操作系統(tǒng)的應(yīng)用及移植等部分。
《嵌入式系統(tǒng)原理及應(yīng)用實例》既可以作為高等院校計算機(jī)、電子類、自動化及控制類大學(xué)本科高年級學(xué)生的教材,也可以作為非計算機(jī)類碩士研究生與嵌入式系統(tǒng)設(shè)計工程技術(shù)人員的重要參考書。
第1章 嵌入式系統(tǒng)概論
1.1 嵌入式系統(tǒng)簡介
1.1.1 嵌入式系統(tǒng)的歷史
1.1.2 嵌入式系統(tǒng)的定義
1.1.3 嵌入式系統(tǒng)的特點(diǎn)
1.2 嵌入式系統(tǒng)的分類
1.2.1 嵌入式系統(tǒng)的實時性分類
1.2.2 嵌入式系統(tǒng)的應(yīng)用領(lǐng)域分類
1.3 嵌入式系統(tǒng)的發(fā)展現(xiàn)狀和發(fā)展趨勢
1.3.1 嵌入式系統(tǒng)的發(fā)展現(xiàn)狀
1.3.2 嵌入式系統(tǒng)的發(fā)展趨勢
習(xí)題1
第2章 嵌入式系統(tǒng)的基礎(chǔ)知識
2.1 嵌入式系統(tǒng)的基本結(jié)構(gòu)
2.1.1 硬件層
2.1.2 中間層
2.1.3 軟件層
2.1.4 應(yīng)用層
2.2 嵌入式系統(tǒng)硬件基礎(chǔ)
2.2.1 嵌入式微處理器基本知識
2.2.2 存儲器系統(tǒng)
2.2.3 輸入/輸出接口
2.3 嵌入式系統(tǒng)軟件基礎(chǔ)
2.3.1 嵌入式軟件分類及特點(diǎn)
2.3.2 嵌入式軟件體系結(jié)構(gòu)
2.4 嵌入式系統(tǒng)中斷與系統(tǒng)啟動
2.4.1 中斷基礎(chǔ)知識
2.4.2 BootLoader基礎(chǔ)
習(xí)題2
第3章 嵌入式系統(tǒng)開發(fā)基礎(chǔ)
3.1 嵌入式系統(tǒng)硬件平臺
3.1.1 嵌入式處理器分類
3.1.2 常見的嵌入式處理器
3.2 嵌入式軟件平臺
3.2.1 常用嵌入式操作系統(tǒng)
3.2.2 嵌入式文件系統(tǒng)
3.2.3 嵌入式圖形用戶接口
3.3 嵌入式系統(tǒng)開發(fā)技術(shù)
3.3.1 嵌入式系統(tǒng)的設(shè)計流程
3.3.2 嵌入式系統(tǒng)的硬件/軟件協(xié)同設(shè)計技術(shù)
3.3.3 嵌入式系統(tǒng)的可重構(gòu)設(shè)計技術(shù)
3.3.4 嵌入式中間件技術(shù)
3.4 嵌入式系統(tǒng)開發(fā)與調(diào)試基礎(chǔ)
3.4.1 嵌入式代碼生成流程
3.4.2 嵌入式軟件代碼結(jié)構(gòu)分析
3.4.3 嵌入式軟件調(diào)試方法
習(xí)題3
第4章 ARM Cortex M3處理器體系結(jié)構(gòu)
4.1 ARM 處理器的發(fā)展歷程
4.2 Cortex M3處理器體系結(jié)構(gòu)
4.2.1 Cortex M3體系結(jié)構(gòu)簡介
4.2.2 Cortex M3異常管理
4.2.3 Cortex M3復(fù)位異常
習(xí)題4
第5章 嵌入式系統(tǒng)常用外設(shè)驅(qū)動編程實例
5.1 STM32F103VET6簡介
5.1.1 STM32F103VET6概述
5.1.2 引腳概述
5.2 GPIO應(yīng)用實例---LED模塊設(shè)計
5.2.1 GPIO簡介
5.2.2 GPIO寄存器描述
5.2.3 基于GPIO的LED燈控制
5.3 STM32外部中斷及鍵盤應(yīng)用實例
5.3.1 STM32外部中斷簡介
5.3.2 嵌入式鍵盤工作原理
5.3.3 基于中斷的鍵盤應(yīng)用實例
5.4 STM32UART串口應(yīng)用實例
5.4.1 異步串行通信概述
5.4.2 STM32UART串口簡介
5.4.3 STM32UART應(yīng)用實例
5.5 DMA 及A/D轉(zhuǎn)換器應(yīng)用實例
5.5.1 DMA 工作原理
5.5.2 STM32的DMA 控制器
5.5.3 A/D轉(zhuǎn)換器原理
5.5.4 STM32A/D轉(zhuǎn)換器介紹
5.5.5 STM32A/D轉(zhuǎn)換器應(yīng)用實例
5.6 LCD應(yīng)用實例
5.6.1 LCD工作原理
5.6.2 TFT型LCD顯示屏及接口簡介
5.6.3 TFT型LCD應(yīng)用實例
5.7 SPI總線及觸摸屏應(yīng)用實例
5.7.1 觸摸屏原理及有關(guān)技術(shù)
5.7.2 觸摸屏驅(qū)動芯片ADS7843簡介
5.7.3 SPI總線工作原理
5.7.4 STM32SPI簡介
5.7.5 觸摸屏應(yīng)用實例
習(xí)題5
第6章 嵌入式操作系統(tǒng)基礎(chǔ)知識
6.1 操作系統(tǒng)基礎(chǔ)知識
6.1.1 操作系統(tǒng)的基本概念
6.1.2 操作系統(tǒng)的主要功能
6.1.3 操作系統(tǒng)的分類
6.2 嵌入式操作系統(tǒng)
6.2.1 嵌入式操作系統(tǒng)的特點(diǎn)
6.2.2 實時操作系統(tǒng)的基本概念
6.3 任務(wù)間互斥、同步與通信
6.3.1 任務(wù)的互斥
6.3.2 任務(wù)的同步
6.3.3 任務(wù)間的通信
習(xí)題6
第7章 嵌入式實時操作系統(tǒng)μC/OS II
7.1 μC/OS II內(nèi)核結(jié)構(gòu)
7.1.1 μC/OS II組成及功能
7.1.2 μC/OS II內(nèi)核結(jié)構(gòu)概述
7.2 μC/OS II任務(wù)管理
7.2.1 μC/OS II系統(tǒng)任務(wù)管理
7.2.2 μC/OS II用戶任務(wù)管理
7.3 μC/OS II時間管理
7.3.1 μC/OS II時鐘節(jié)拍管理
7.3.2 μC/OS II軟件定時器管理
7.4 μC/OS II任務(wù)同步
7.4.1 μC/OS II信號量
7.4.2 μC/OS II事件標(biāo)志組
7.5 μC/OS II任務(wù)通信
7.5.1 μC/OS II消息郵箱
7.5.2 μC/OS II消息隊列
7.6 μC/OS II任務(wù)互斥
7.6.1 μC/OS II互斥原理
7.6.2 μC/OS II互斥信號量
習(xí)題7
第8章 μC/OS II操作系統(tǒng)的應(yīng)用及移植
8.1 μC/OS II應(yīng)用基礎(chǔ)
8.1.1 任務(wù)劃分
8.1.2 μC/OS II任務(wù)堆棧的設(shè)置
8.1.3 任務(wù)的執(zhí)行分類及優(yōu)先級設(shè)置
8.2 μC/OS II應(yīng)用編程舉例
8.2.1 μC/OS II同步信號量應(yīng)用實例
8.2.2 μC/OS II消息郵箱通信應(yīng)用實例
8.2.3 μC/OS II互斥信號量應(yīng)用實例
8.2.4 μC/OS II事件標(biāo)志組應(yīng)用實例
8.2.5 μC/OS II定時器應(yīng)用實例
8.3 操作系統(tǒng)移植
8.3.1 μC/OS II移植基礎(chǔ)知識
8.3.2 μC/OS II在STM32F103上的移植實現(xiàn)
習(xí)題8
第9章 智能家居監(jiān)測控制系統(tǒng)實例
9.1 需求分析
9.2 總體設(shè)計
9.3 系統(tǒng)硬件設(shè)計
9.3.1 家居控制器最小系統(tǒng)設(shè)計
9.3.2 電源電路設(shè)計
9.3.3 通信電路設(shè)計
9.3.4 顯示模塊電路
9.3.5 數(shù)據(jù)采集模塊電路
9.4 系統(tǒng)軟件設(shè)計
9.4.1 主程序設(shè)計
9.4.2 報警任務(wù)
9.4.3 GSM 短信查詢控制任務(wù)
9.4.4 信息采集任務(wù)
9.4.5 其他函數(shù)說明
9.5 系統(tǒng)驗證
習(xí)題9
參考文獻(xiàn)
嵌入式系統(tǒng)在工業(yè)生產(chǎn)控制、智能儀表、信息家電、網(wǎng)絡(luò)通信、醫(yī)療儀器、國防科技、智能機(jī)器人等領(lǐng)域中都有著廣泛的應(yīng)用.社會對嵌入式系統(tǒng)設(shè)計方面人才的需求量也越來越大.許多高校開設(shè)了嵌入式系統(tǒng)設(shè)計的相關(guān)課程,社會上也有許多嵌入式系統(tǒng)設(shè)計方面的培訓(xùn)班.但是關(guān)于嵌入式系統(tǒng)設(shè)計的參考書大多針對某一型號的處理器或操作系統(tǒng)進(jìn)行詳細(xì)講解,而沒有講解相應(yīng)的嵌入式系統(tǒng)基礎(chǔ)知識,就像產(chǎn)品說明書,讀者只知道怎么用,而不知道為什么這樣用;或者是只針對嵌入式理論知識進(jìn)行說明、分析,而沒有一個具體的對象,讓讀者感覺像空中樓閣.這些參考書對于初學(xué)者來說,很難真正系統(tǒng)掌握嵌入式系統(tǒng)方面的知識;在設(shè)計時,難以設(shè)計出一個優(yōu)秀的嵌入式系統(tǒng)產(chǎn)品,從而也限制了行業(yè)的發(fā)展.
針對這一情況,作者根據(jù)多年從事嵌入式系統(tǒng)設(shè)計方面的科研及教學(xué)經(jīng)驗,結(jié)合嵌入式系統(tǒng)理論知識,編著了本書.本書主要針對非計算機(jī)專業(yè)學(xué)生進(jìn)行設(shè)計,在內(nèi)容的選擇上,采用理論與具體對象相結(jié)合的原則,采用嵌入式控制領(lǐng)域應(yīng)用廣泛的Cortex M3處理器STM32和典型的接口及總線作為硬件對象,分析講解Cortex M3處理器的結(jié)構(gòu)、工作模式、中斷處理、系統(tǒng)啟動等原理及過程;然后針對控制領(lǐng)域?qū)Σ僮飨到y(tǒng)的應(yīng)用需求,選擇編程簡單但功能齊全的μC/OS II操作系統(tǒng)作為主要內(nèi)容,系統(tǒng)分析介紹了該操作系統(tǒng)的工作原理、應(yīng)用及移植.本書系統(tǒng)講解了嵌入式系統(tǒng)理論知識及硬件設(shè)計、系統(tǒng)啟動與中斷處理、底層驅(qū)動編程、操作系統(tǒng)概念及應(yīng)用等知識,讓讀者能將理論知識和具體對象結(jié)合起來,真正系統(tǒng)理解和掌握嵌入式系統(tǒng)的軟/硬件知識;以“從總體到具體”、“從底層到上層”的順序進(jìn)行內(nèi)容安排,更符合人的思維習(xí)慣.因此,本書可以作為高校有關(guān)專業(yè)本科高年級嵌入式系統(tǒng)設(shè)計相關(guān)課程的教材,也可作為嵌入式系統(tǒng)設(shè)計工程師的重要參考書.
本書共9章,第1章主要介紹嵌入式系統(tǒng)的概念、應(yīng)用與發(fā)展.第2章主要介紹嵌入式系統(tǒng)構(gòu)架、組成、硬件/軟件基礎(chǔ)知識以及嵌入式系統(tǒng)設(shè)計方法等內(nèi)容.第3章主要講解嵌入式系統(tǒng)的開發(fā)基礎(chǔ),主要分析了嵌入式系統(tǒng)的基本組成,常見的微處理器和操作系統(tǒng)的特點(diǎn)及應(yīng)用領(lǐng)域,嵌入式軟件開發(fā)調(diào)試方法,以及嵌入式系統(tǒng)平臺構(gòu)建的注意事項等.第4章重點(diǎn)講述ARM Cortex系列處理器的結(jié)構(gòu)、工作模式、指令、開發(fā)環(huán)境等內(nèi)容.第5章重點(diǎn)分析STM32F103處理器的引腳與接口配置,然后對STM32F103處理器的中斷、系統(tǒng)啟動、常用接口及外設(shè)工作原理、接口電路及驅(qū)動程序編寫進(jìn)行講解.第6章對嵌入式操作系統(tǒng)的概念、內(nèi)核結(jié)構(gòu)和功能進(jìn)行講解,重點(diǎn)講解嵌入式操作系統(tǒng)任務(wù)、調(diào)度、通信與同步的工作原理.第7章對μC/OS II操作系統(tǒng)的內(nèi)核構(gòu)架進(jìn)行分析,重點(diǎn)分析該操作系統(tǒng)的內(nèi)核任務(wù)管理、通信與同步機(jī)制和API函數(shù).第8章是μC/OS II的應(yīng)用舉例,主要對通信、同步、互斥、事件標(biāo)志組、軟件定時器等應(yīng)用進(jìn)行實例設(shè)計分析,然后講述如何在STM32F103上移植μC/OS II操作系統(tǒng).第9章以智能家居系統(tǒng)為例,采用STM32F103處理器和μC/OS II操作系統(tǒng)進(jìn)行智能家居控制器設(shè)計.該章系統(tǒng)介紹整個嵌入式系統(tǒng)的開發(fā)過程.
本書第1、2、3、4章由曾素華負(fù)責(zé)完成,第5、6、7、8章由蔣建春負(fù)責(zé)完成,第9章由陳家佳負(fù)責(zé)完成,全書由蔣建春負(fù)責(zé)統(tǒng)稿.參與編寫的人員還有岑明、李勇、呂霞付、謝昊飛等,在這里對他們表示感謝.同時還要感謝鄧露和王開龍、陳慧玲、景艷梅、蔣麗等同學(xué)為本書的付出.感謝胡向東教授和余成波教授對本書的評閱和提出的寶貴意見.
同時,本書的應(yīng)用實例都是采用典型的應(yīng)用進(jìn)行編排說明,并把每章應(yīng)用實例完整的工程文件通過郵箱:goodtextbook@126.com 提供給讀者,便于讀者進(jìn)行驗證學(xué)習(xí).當(dāng)然,任何一本書都不可能囊括所有內(nèi)容,本書力爭做到合理安排內(nèi)容與順序,引導(dǎo)讀者進(jìn)入嵌入式系統(tǒng)領(lǐng)域,讓讀者能循序漸進(jìn)地系統(tǒng)掌握嵌入式系統(tǒng)的相關(guān)知識,同時也注重實例的典型性和實用性.希望本書對讀者的嵌入式系統(tǒng)開發(fā)能有所幫助.
本書中也引用了參考文獻(xiàn)中的一些信息,正是這些優(yōu)秀的作品為作者提供了豐富的知識,從而使本書內(nèi)容更加充實.在此對這些作者表示感謝! 由于時間倉促,加之水平有限,書中難免會有一些錯誤和不妥之處,敬請讀者批評指正.
作 者
2015年5月