本書全面地介紹了嵌入式系統(tǒng)的概念、硬軟件結構、典型傳感器原理、協(xié)同設計原理、軟件和硬件開發(fā)工具等內(nèi)容,涵蓋嵌入式軟硬件設計和實現(xiàn)全過程所需要掌握的知識。全書共分9章三大模塊,第1章是嵌入式系統(tǒng)的概念,第2-5章是嵌入式系統(tǒng)的硬件部分,第6-9章是嵌入式系統(tǒng)操作系統(tǒng)和軟件部分。第1章,主要介紹嵌入式系統(tǒng)的概念、特點、應用、硬件結構、軟件體系,協(xié)同設計原理,嵌入式形式和發(fā)展方向等內(nèi)容。第2章,介紹嵌入式處理的概念,特點和分類,其次以廣泛應用的ARM處理、DSP處理器、FPGA為例介紹了嵌入式處理器的學習方法和應用特點。第3章,介紹存儲器的相關技術概念,介紹RAM和ROM類型的存儲技術和典型芯片,重點介紹在嵌入式系統(tǒng)中廣泛使用的FLASH存儲技術和其典型應用。第4章,介紹接口和總線的概念以及典型的嵌入式外設、傳感器、執(zhí)行器。常用總線包括USB總線,IIC總線,SPI總線,485總線等,常用外設按鈕包括LED,LCD,ADC/DAC,各類傳感器,執(zhí)行器,看門狗等。第5章,介紹嵌入式硬件設計的概念,電路原理圖和印制電路板PCB的設計流程和設計原則,電路仿真、芯片設計等內(nèi)容。*后介紹幾種常用的硬件設計環(huán)境和工具。第6章,介紹嵌入式系統(tǒng)操作系統(tǒng)的概念,特點以及實時性概念。重點以Linux、Ucos和RTThread等三個操作系統(tǒng),介紹它們的特點,內(nèi)核結構,圖形驅(qū)動,移植等應用要點等。第7章,主要介紹嵌入式系統(tǒng)的軟件開發(fā)環(huán)境的特點、構建方法、開發(fā)和調(diào)試流程以及嵌入式軟件體系各層次的軟件開發(fā)技術。重點介紹交叉編譯環(huán)境、開發(fā)過程,Linux軟件開發(fā)、Linux內(nèi)核配置、驅(qū)動開發(fā),中斷技術,BootLoader、文件系統(tǒng)、GUI圖形用戶界面,典型的嵌入式軟件開發(fā)工具(如ADS、IAR等)和嵌入式軟件的調(diào)試方法等內(nèi)容。第8章,介紹嵌入式設備之間的網(wǎng)絡互聯(lián)技術以及與物聯(lián)網(wǎng),人工智能等技術的結合,包括TCP /IP網(wǎng)絡,Zigbee等無線通信技術,無線傳感器網(wǎng)絡,移動網(wǎng)絡,人工智能,邊緣計算等技術以及軟硬件設計與實現(xiàn)的實例。第9章,以6個具體的嵌入式項目實例介紹嵌入式系統(tǒng)協(xié)同設計的思路、介紹具體的設計和開發(fā)的過程。通過這些典型例子,讀者可以熟悉嵌入式系統(tǒng)的硬件和軟件構成以及它們的實現(xiàn)過程。
(1)作者為以科研項目中真實開發(fā)的十多個實際案例為背景,聚焦讀者*關心的可操作性、可參考性和知識可遷移性。(2)提供所有案例的真實電路原理圖和關鍵源代碼,讓讀者可以快速嘗試構建自己的嵌入式系統(tǒng)。
嵌入式技術是一門涉及計算機、微電子、通信和電子材料等相關信息技術的綜合技術,其應用范圍極其廣泛,涵蓋航空航天電子、武器自動化、工業(yè)自動控制、智能儀器儀表、智能測控系統(tǒng)、網(wǎng)絡設備、通信設備、醫(yī)療電子和消費娛樂電子等領域?梢院敛豢鋸埖卣f,從生產(chǎn)到生活,從軍用到民用,只要涉及電的機電設備,都或多或少地應用了某種嵌入式技術。嵌入式系統(tǒng)及其相關技術是目前信息技術中發(fā)展*快、*有活力、*有挑戰(zhàn)性和*有創(chuàng)新力的領域之一,也一直吸引著眾多大學生、研究人員、工程技術人員從事相關的理論研究和應用開發(fā)。因此,牢固掌握嵌入式系統(tǒng)的概念、原理、設計和應用技術是對每一位立志在該領域成就未來的大學生和研發(fā)人員的基本要求。嵌入式系統(tǒng)是軟件和硬件協(xié)同工作的系統(tǒng),因此在嵌入式系統(tǒng)的設計過程中也同樣充滿了軟件和硬件、前臺和后臺協(xié)同設計的思維。同樣的功能,既可以由軟件實現(xiàn),也可以由硬件實現(xiàn);既可以由前臺實現(xiàn),也可以由后臺實現(xiàn)。協(xié)同設計既是技術問題,也是哲學問題。本書通過全面介紹嵌入式系統(tǒng)的硬件和軟件的典型結構、技術特點,并通過大量案例,向讀者系統(tǒng)介紹了協(xié)同設計時必須要掌握的知識和技能。本書具有以下三特點。,語言通俗易懂,內(nèi)容深入淺出,行文脈絡清晰,特別適合課堂教學和研發(fā)人員參考。第二,內(nèi)容全面,覆蓋嵌入式系統(tǒng)的硬件、軟件、調(diào)試、設備網(wǎng)絡互聯(lián)等內(nèi)容。本書不局限于特定的操作系統(tǒng)或CPU,也不局限于特定的開發(fā)板,因此能更好地符合課堂大面積教學的特點,滿足系統(tǒng)開發(fā)人員的需求。第三,概念、理論和實踐三者的比例適當,適合課堂教學和自學。嵌入式系統(tǒng)這門課程是一門跨學科的綜合性課程,其概念和理論繁雜,事實上還存在大量生造且不規(guī)范的名詞術語,這些很容易挫傷初學者的興趣。為了便于讀者學習,本書在介紹概念和理論的同時充分結合實踐和實例來介紹其應用,以幫助讀者理解。教學相長。編寫本書的過程也是我重新學習嵌入式系統(tǒng)的過程。嵌入式系統(tǒng)的體系龐大,內(nèi)容繁雜。每一個章節(jié)或模塊倘若展開,都是值得深入研究的專題。書中的不少內(nèi)容,本人以前也僅理解其基本概念和原理,并未做過深入研究或分析過源代碼,可以說知之甚淺。在編寫本書的過程中,我認真地探究其內(nèi)部原理和分析相關的源代碼,雖是管中窺豹,但也能再次感受到嵌入式系統(tǒng)的設計之美。我樂意與讀者朋友和選用本書的教師們交流學習心得和教學經(jīng)驗,也樂意為大家提供教輔資料或?qū)嶒炠Y料供參考。受限于本人的理論知識儲備、項目實踐經(jīng)驗、成書時間短,書中定會存在不少疏漏和錯誤,請讀者朋友們不吝賜教指正,我定會虛心接受并更正。本人的聯(lián)系郵箱:sushuguang@hust.edu.cn。本人參考了大量已正式發(fā)表或出版的文獻以及非正式出版的網(wǎng)絡資源,由于篇幅所限和其他原因,書末僅列出了部分參考資料,無法一一注明全部參考資料的來源和作者的具體姓名,無論何種情況,在此一并向各位作者表示感謝!
本人為華中科技大學軟件工程學院副教授,是《嵌入式系統(tǒng)協(xié)同設計》《操作系統(tǒng)原理》《微機原理與接口》三門課程的骨干教師:于2020年獲湖北省線上一流本科課程《操作系統(tǒng)原理》、于2018年獲湖北省高校自制實驗設備與儀器三等獎、于2018年獲湖北省教學成果三等獎、于2017年獲華中科技大學教學質(zhì)量一等獎。在科研方面,主持醫(yī)學顯微圖像的受約束深度弱監(jiān)督學習算法研究、基于ARM技術的嵌入式AI實驗室建設、抗遮擋的多目標識別跟蹤新方法研究等縱向項目以及公安情報信息綜合應用平臺等橫向項目。
第1章嵌入式系統(tǒng)概述(1)
1.1計算機的分類(1)
1.2嵌入式系統(tǒng)的概念(1)
1.3嵌入式系統(tǒng)的特點(2)
1.4嵌入式系統(tǒng)的應用(3)
1.5協(xié)同設計思維和方法(5)
1.6嵌入式系統(tǒng)的結構(6)
1.7嵌入式系統(tǒng)的嵌入形式(10)
1.8嵌入式系統(tǒng)的發(fā)展方向(11)
習題(12)
第2章嵌入式處理器(13)
2.1嵌入式處理器概念(13)
2.2嵌入式處理器分類(16)
2.3嵌入式處理器選型(19)
2.4ARM處理器(23)
2.5DSP處理器(32)
習題(37)
第3章嵌入式存儲器(38)
3.1存儲器概念(38)
3.2RAM和ROM(41)
3.3Flash存儲器(43)
3.4典型的DRAM芯片及其應用(45)
3.5典型的SRAM芯片及其應用(49)
3.6典型NAND Flash芯片及其應用(51)
3.7典型NOR Flash芯片及其應用(55)
習題(56)
第4章接口和總線(58)
4.1接口(58)
4.2總線概述(60)
4.3SPI總線(61)
4.4RS232C總線及RS485總線(64)
4.5USB總線(66)
4.6I2C總線(71)
4.7其他常用總線(74)
4.8LED(75)
4.9數(shù)碼管(75)
4.10繼電器(77)
4.11紅外對射管(78)
4.12LCD顯示屏(80)
4.13編碼器(86)
4.14ADC和DAC(87)
4.15WatchDog(91)
4.16壓力傳感器(92)
4.17氣壓傳感器(95)
習題(96)
第5章嵌入式硬件設計及其方法(97)
5.1硬件設計概述(97)
5.2電路原理圖設計(99)
5.3PCB設計(101)
5.4CPLD/FPGA芯片設計(106)
5.5典型電路設計工具(111)
5.6典型單元電路設計(116)
習題(121)
第6章嵌入式操作系統(tǒng)(122)
6.1嵌入式操作系統(tǒng)的概念(122)
6.2嵌入式操作系統(tǒng)的實時性(124)
6.3嵌入式Linux(130)
6.4c/OS(137)
6.5RTThread(142)
6.6其他典型嵌入式操作系統(tǒng)(146)
習題(151)
第7章嵌入式軟件開發(fā)(152)
7.1交叉編譯環(huán)境(152)
7.2嵌入式軟件開發(fā)過程(157)
7.3嵌入式Linux軟件開發(fā)(161)
7.4Linux內(nèi)核配置(164)
7.5BSP開發(fā)(169)
7.6驅(qū)動開發(fā)(170)
7.7Linux中斷技術(177)
7.8BootLoader開發(fā)(182)
7.9文件系統(tǒng)(185)
7.10圖形用戶界面GUI(194)
7.11典型軟件開發(fā)環(huán)境(197)
7.12嵌入式軟件的調(diào)試和仿真(206)
習題(212)
第8章嵌入式網(wǎng)絡與互聯(lián)(213)
8.1嵌入式設備的網(wǎng)絡化(213)
8.2TCP/IP網(wǎng)絡(213)
8.5無線網(wǎng)絡操作系統(tǒng)Contiki(223)
8.6無線通信(228)
8.7無線傳感器網(wǎng)絡(238)
8.8Zigbee無線網(wǎng)絡(241)
8.9移動網(wǎng)絡(243)
習題(251)
第9章項目實例分析(253)
9.1LED設備驅(qū)動開發(fā)(253)
9.2單片機溫度控制系統(tǒng)(255)
9.3多路視頻服務器(259)
9.4基于壓力傳感器的體重測量系統(tǒng)(264)
9.5基于超聲波技術的身高測量系統(tǒng)(266)
9.6基于霍爾元件的自行車計速系統(tǒng)(268)
9.7電池供電管理單元(269)
參考文獻(273)