《STM32嵌入式單片機(jī)原理與應(yīng)用》 課件 第1章 緒論_第1頁
《STM32嵌入式單片機(jī)原理與應(yīng)用》 課件 第1章 緒論_第2頁
《STM32嵌入式單片機(jī)原理與應(yīng)用》 課件 第1章 緒論_第3頁
《STM32嵌入式單片機(jī)原理與應(yīng)用》 課件 第1章 緒論_第4頁
《STM32嵌入式單片機(jī)原理與應(yīng)用》 課件 第1章 緒論_第5頁
已閱讀5頁,還剩85頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第1章緒論本章對微型計算機(jī)進(jìn)行了概述,介紹了國內(nèi)外流行的單片微控制器ARM、嵌入式系統(tǒng)、嵌入式系統(tǒng)的軟件、嵌人式系統(tǒng)的應(yīng)用領(lǐng)域和嵌入式控制系統(tǒng)(ECS)。

1.1微型計算機(jī)概述現(xiàn)場總線946年問世的世界上第一臺計算機(jī)開創(chuàng)了科學(xué)技術(shù)高速發(fā)展的時代。經(jīng)過半個多世紀(jì)的不斷發(fā)展和提高,計算機(jī)獲得了突飛猛進(jìn)的發(fā)展,經(jīng)歷了由電子管、晶體管、集成電路以及超大規(guī)模集成電路的發(fā)展歷程。計算機(jī)在科學(xué)技術(shù)、文化、經(jīng)濟(jì)等領(lǐng)域的發(fā)展中,發(fā)揮了巨大的推動作用。微型計算機(jī)的發(fā)展取決于微處理器的發(fā)展。1971年,美國Intel公司生產(chǎn)出了世界上第一片4位集成微處理器4004;1975年,中檔8位微處理器的產(chǎn)品問世;1976年,各公司又相繼推出了高檔微處理器,如Intel公司的8085、Zilog公司的Z80等;1978年,各公司推出了性能與中檔16位小型機(jī)相當(dāng)?shù)奈⑻幚砥?,比較有代表性的產(chǎn)品是Intel8086。Intel8086的地址線為20位,可尋址1MB的存儲單元,時鐘頻率為4~8MHz。隨著新技術(shù)的應(yīng)用和大規(guī)模集成電路制造技術(shù)水平的不斷提高,微處理器的集成度越來越高,一只芯片中包含的晶體管多達(dá)上億只。同時,微處理器的性能價格比也在不斷提高。與CPU配套的各種器件和設(shè)備,如存儲器、顯示器、打印機(jī)、數(shù)模、模數(shù)轉(zhuǎn)換設(shè)備等也在迅速發(fā)展,總的發(fā)展趨勢是功能加強(qiáng)、性能提高、體積減小和價格下降。進(jìn)入21世紀(jì)以來,各計算機(jī)公司不斷推出新型的計算機(jī),使得計算機(jī)無論從硬件還是軟件方面,以及速度、性能、價格等諸方面不斷適應(yīng)各種人群的使用。新一代計算機(jī)采用人工智能技術(shù)及新型軟件,硬件采用新的體系結(jié)構(gòu)和超導(dǎo)集成電路,分為問題解決與推理機(jī)、知識數(shù)據(jù)庫管理機(jī)、智能接口計算機(jī)等。具有以下特點(diǎn):1)在CPU上集成存儲管理部件。2)采用指令和數(shù)據(jù)高速緩存。3)采用流水線結(jié)構(gòu)以提高系統(tǒng)的并行性。4)采用大量的寄存器組成寄存器堆以提高處理速度。5)具有完善的協(xié)處理器接口,提高數(shù)據(jù)處理能力。6)在系統(tǒng)設(shè)計上引入兼容性,實(shí)現(xiàn)高、低檔微機(jī)間的兼容。另外,產(chǎn)品是否開源也成為微處理器發(fā)展的方向之一。微處理器一般由計算單元、存儲單元、總線和外部接口構(gòu)成。另外,晶振和電源管理部分也是不可少的。隨著集成度越來越高,有更多的東西可以放到微處理器芯片中。從動態(tài)的角度看,晶振是微處理器工作的心臟,所傳出的像脈搏一樣的信號是時鐘周期??偩€像神經(jīng)一樣連接起各個部分,并傳送數(shù)據(jù)和指令。指令和數(shù)據(jù)在本質(zhì)上沒多大區(qū)別,之所以這樣劃分是為了能夠說得更清楚。一般而言,指令能夠讓處理器產(chǎn)生動作;數(shù)據(jù)只是指令的后果或指令執(zhí)行的一些資源。存儲單元則如大腦的記憶體,它們存放著指令或者數(shù)據(jù)。不同的是,大腦的記憶體記憶的多是過去發(fā)生過的事情,微處理器的數(shù)據(jù)存儲器里存放的是某個運(yùn)算的結(jié)果,而指令存儲器里存放的是未來的一些安排好的動作序列,更像我們安排的計劃表。計算單元就像大腦的科學(xué)計算區(qū)域,負(fù)責(zé)一些有規(guī)則的數(shù)學(xué)的運(yùn)算。這種運(yùn)算是由指令安排的,并且計算操作數(shù)和結(jié)果都是存放在存儲單元里的。外部接口像傳到四肢的神經(jīng)接口,把微處理器的指令傳到四肢,讓四肢做一些工作,或者從四肢傳回來一些感覺信息,讓微處理器判斷要做什么。微處理器與人腦的主要不同在于微處理器里的所有指令都是事先安排好的,而人腦是可以自己學(xué)習(xí)、自己安排動作的。微處理器(microprocessor,縮寫為μP)是可編程化的特殊集成電路,其所有組件小型化至一塊或數(shù)塊集成電路內(nèi),可在其一端或多端接收編碼指令,執(zhí)行此指令并輸出描述其狀態(tài)的信號。之所以會稱為微處理器,并不只是因?yàn)樗让阅阌嬎銠C(jī)所用的處理器還要小,最主要的原因是當(dāng)初各大芯片廠的工藝已經(jīng)進(jìn)入了1μm的階段,用1μm的工藝所產(chǎn)制出來的處理器芯片,廠商就會在產(chǎn)品名稱上用“微”字,以強(qiáng)調(diào)它們是高科技。早在微處理器問世之前,電子計算機(jī)的中央處理單元就經(jīng)歷了從真空管到晶體管再到離散式TTL集成電路等幾個重要階段,甚至在電子計算機(jī)以前,還出現(xiàn)過以齒輪、輪軸和杠桿為基礎(chǔ)的機(jī)械結(jié)構(gòu)計算機(jī)。文藝復(fù)興時期的著名畫家兼科學(xué)家列奧納多·達(dá)·芬奇就曾做過類似的設(shè)計,但那個時代落后的制造技術(shù)根本沒有能力將這個設(shè)計付諸實(shí)現(xiàn)。微處理器的發(fā)明使得復(fù)雜的電路群得以制成單一的電子組件。從20世紀(jì)70年代早期開始,微處理器性能的提升就基本上遵循著IT界著名的摩爾定律。這意味著在過去的30多年里,每18個月,CPU的計算能力就會翻一番。大到巨型機(jī),小到筆記本電腦,持續(xù)高速發(fā)展的微處理器取代了諸多其他計算形式而成為各個類別各個領(lǐng)域所有計算機(jī)系統(tǒng)的計算動力之源。目前常常聽到的微處理器是微處理機(jī)的一種變體,它包括了CPU、一些內(nèi)存以及I/O接口,所有都集成在一塊集成電路上。微處理器已經(jīng)無處不在,錄像機(jī)、智能洗衣機(jī)、移動電話等家電產(chǎn)品,汽車引擎控制,以及數(shù)控機(jī)床、導(dǎo)彈精確制導(dǎo)等,都要嵌入各類不同的微處理器。微處理器不僅是微型計算機(jī)的核心部件,也是各種數(shù)字化智能設(shè)備的關(guān)鍵部件。國際上的超高速巨型計算機(jī)、大型計算機(jī)等高端計算系統(tǒng)也都采用大量的通用高性能微處理器建造。典型的微型計算機(jī)的基本結(jié)構(gòu)由微處理器(CPU)、存儲器、輸入/輸出接口(I/O接口)及外部設(shè)備等組成,各個部件之間通過系統(tǒng)總線連接,如圖1-1所示。1.1.1微型計算機(jī)的基本構(gòu)成圖1-1微型計算機(jī)的基本結(jié)構(gòu)在計算機(jī)系統(tǒng)中,各個部件之間傳送信息的公共線路稱為總線(bus),CPU與各功能模塊之間以及各功能部件之間的信息是通過總線傳輸?shù)?。按照所傳輸?shù)男畔⒎N類,計算機(jī)的總線分為數(shù)據(jù)總線、地址總線和控制總線,分別用來傳輸數(shù)據(jù)、地址和控制信號,即典型的三總線結(jié)構(gòu)。CPU通過總線與各個部件相連,外設(shè)通過相應(yīng)的接口電路再與總線相連,如此構(gòu)成計算機(jī)的硬件系統(tǒng)。地址總線AB是單向的,輸出地址信號,即輸出將要訪問的存儲器單元或I/O口的地址,地址線的多少決定了系統(tǒng)直接尋址存儲器的范圍。數(shù)據(jù)總線DB是傳輸數(shù)據(jù)或代碼的一組信號線,數(shù)據(jù)線的數(shù)目一般與處理器的字長相等??刂瓶偩€CB用來傳送各種控制信號和狀態(tài)信號。在連接系統(tǒng)總線的設(shè)備中,某時刻只能有一個發(fā)送者向總線發(fā)送信號;但可以有多個設(shè)備從總線上同時獲取信號。一個CPU和存儲器的連接示意圖如圖1-2所示。例如,人們常說的奔騰系列或者酷睿系列的CPU芯片,就是典型的微處理器;程序存儲器主要是硬盤,數(shù)據(jù)存儲器即為內(nèi)存條;輸入/輸出接口由主機(jī)板上的接口芯片構(gòu)成,最終通過機(jī)箱上的并行口、串行口、USB口等和外部設(shè)備連接。市面上常見的個人計算機(jī)就是在上述計算機(jī)的結(jié)構(gòu)上加上顯示器、鍵盤、鼠標(biāo)等外部設(shè)備構(gòu)成的。圖1-1FCS與DCS結(jié)構(gòu)比較1.微處理器微處理器是計算機(jī)的核心部件,利用集成技術(shù)將運(yùn)算器、控制器集成在一片芯片上。其功能是:對指令譯碼并執(zhí)行規(guī)定動作;能與存儲器及外設(shè)交換數(shù)據(jù);可響應(yīng)其他部件的中斷請求;提供系統(tǒng)所需的定時和控制。2.微型計算機(jī)微型計算機(jī)就是在微處理器的基礎(chǔ)上配置存儲器、I/O接口電路、系統(tǒng)總線等所構(gòu)成的系統(tǒng)。1.1.2微處理器、微型計算機(jī)和微型計算機(jī)系統(tǒng)關(guān)系3.微型計算機(jī)系統(tǒng)

以微型計算機(jī)為主體,配置系統(tǒng)軟件和外部設(shè)備即構(gòu)成微型計算機(jī)系統(tǒng)。軟件部分包括系統(tǒng)軟件(如操作系統(tǒng))和應(yīng)用軟件(如字處理軟件)。以上三者之間的關(guān)系如圖1-3所示。圖1-3微處理器、微型計算機(jī)和微型計算機(jī)系統(tǒng)關(guān)系圖當(dāng)前,微型計算機(jī)技術(shù)正向兩個方向發(fā)展:一是高性能、多功能,使微型計算機(jī)逐步替價格昂貴、功能優(yōu)越的中小型計算機(jī)。二是價格低廉、體積更小,使微型計算機(jī)不以計算機(jī)的面貌出現(xiàn),而是嵌入到生產(chǎn)系統(tǒng)設(shè)備、儀器儀表、家用電器、醫(yī)療儀器等智能產(chǎn)品中,構(gòu)成嵌入式系統(tǒng)。4.微控制器微控制器(MicroControllerUnit,MCU)是指一個集成在一塊芯片上的完整計算機(jī)系統(tǒng),具有一個完整計算機(jī)所需要的大部分部件:中央處理單元(CPU)、存儲器、內(nèi)部和外部總線系統(tǒng)。同時,集成諸如通信接口、定時器、實(shí)時時鐘等外圍設(shè)備(簡稱外設(shè))。而目前最強(qiáng)大的微控制器甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入/輸出系統(tǒng)集成在一塊芯片上。微控制器和微處理器的區(qū)別是:微控制器不僅包含微處理器,還包含其他更多的內(nèi)容。1.馮·諾依曼結(jié)構(gòu)和哈佛結(jié)構(gòu)1)馮·諾依曼結(jié)構(gòu)1964年,馮·諾依曼簡化了計算機(jī)的結(jié)構(gòu),提出了“存儲程序”的思想,大大提高了計算機(jī)的速度?!按鎯Τ绦颉彼枷肟梢院喕爬?點(diǎn):(1)計算機(jī)包括運(yùn)算器、控制器、存儲器、輸入/輸出設(shè)備。(2)計算機(jī)內(nèi)部應(yīng)采用二進(jìn)制來表示指令和數(shù)據(jù)。(3)將編寫好的程序和數(shù)據(jù)保存到存儲器,計算機(jī)自動地逐條取出指令和數(shù)據(jù)進(jìn)行分析、處理和執(zhí)行。1.1.3微處理器常用技術(shù)在馮·諾依曼結(jié)構(gòu)中,計算機(jī)系統(tǒng)由一個中央處理單元(CPU)和一個存儲器組成,數(shù)據(jù)和指令都存儲在存儲器中,程序指令和數(shù)據(jù)不加區(qū)分,均采用數(shù)據(jù)總線進(jìn)行傳輸,因此,數(shù)據(jù)訪問和指令存取不能同時在總線上傳輸。CPU可以根據(jù)所給的地址對存儲器進(jìn)行讀或?qū)?。程序指令和?shù)據(jù)的寬度相同。Intel8086、ARM7、MIPS處理器等是馮·諾依曼結(jié)構(gòu)的典型代表。馮·諾依曼結(jié)構(gòu)的構(gòu)成示意圖如圖1-4所示。圖1-4馮·諾依曼結(jié)構(gòu)的構(gòu)成示意圖2)哈佛體系結(jié)構(gòu)在哈佛體系結(jié)構(gòu)中,數(shù)據(jù)和程序使用各自獨(dú)立的存儲器。程序計數(shù)器PC只指向程序存儲器而不指向數(shù)據(jù)存儲器,這樣做的后果是很難在哈佛體系結(jié)構(gòu)的計算機(jī)上編寫出一個自修改的程序(有時稱為在應(yīng)用可編程,InApplicationProgramming,IAP)。哈佛體系結(jié)構(gòu)具有以下優(yōu)點(diǎn):1)獨(dú)立的程序存儲器和數(shù)據(jù)存儲器為數(shù)字信號處理提供了較高的性能。2)指令和數(shù)據(jù)可以有不同的數(shù)據(jù)寬度,具有較高的效率。如恩智浦公司的MC68系列、Zilog公司的Z8系列、ARM9、ARM10系列等。哈佛體系結(jié)構(gòu)的示意圖如圖1-5所示。圖1-5哈佛結(jié)構(gòu)的構(gòu)成示意圖2.高速緩沖存儲器Cache

為了解決微處理器運(yùn)行速度快、存儲器存取速度慢的矛盾,在兩者之間加一級高速緩沖器Cache。Cache采用與制作CPU相同的半導(dǎo)體工藝,速度與CPU匹配,其容量約占主存的1%左右。Cache的作用是:當(dāng)CPU要從主存儲器(在個人計算機(jī)中稱為內(nèi)存)中讀取一個數(shù)據(jù)時,先在Cache中查找是否有該數(shù)據(jù),若有,則立即從Cache中讀取到CPU,否則用一個主存儲器訪問時間從主存儲器中讀取這個數(shù)據(jù)送CPU,與此同時,將包含這個數(shù)據(jù)字的整個數(shù)據(jù)塊送到Cache中。3.流水線技術(shù)流水線(pipeline)技術(shù)是指在程序執(zhí)行時多條指令重疊進(jìn)行操作的一種準(zhǔn)并行處理實(shí)現(xiàn)技術(shù)。流水線的工作方式就像工業(yè)生產(chǎn)中的裝配流水線。在工業(yè)制造中采用流水線可以提高單位時間的生產(chǎn)量;同樣在CPU中采用流水線設(shè)計也有助于提高CPU的效率。CPU的工作可以大致分為取指、譯碼、執(zhí)行和存結(jié)果4個步驟。流水線技術(shù)可以使用時空圖來說明。時空圖從時間和空間兩個方面描述了流水線的工作過程。4段指令流水線的時空圖如圖1-6所示。在時空圖中,橫坐標(biāo)代表時間節(jié)拍,縱坐標(biāo)代表流水線的各個段。圖1-64段指令流水線的時空圖4.CISC和RISC20世紀(jì)70年代末發(fā)展起來的計算機(jī),其結(jié)構(gòu)隨著VISI技術(shù)的飛速發(fā)展而越來越復(fù)雜,大多數(shù)計算機(jī)的指令系統(tǒng)多達(dá)幾百條,這些計算機(jī)被稱為復(fù)雜指令系統(tǒng)計算機(jī)(ComplexInstructionSetComputer,CISC)。在CISC指令集的各種指令中,大約有20%的指令會被反復(fù)使用,占整個程序代碼的80%。而余下的指令卻不經(jīng)常使用,在程序設(shè)計中只占20%,這種情況造成了硬件和資源的浪費(fèi)。CISC結(jié)構(gòu)的處理器都有一個指令集,每執(zhí)行一條指令,處理器要在幾百條指令中分類查找對應(yīng)指令,因此需要一定的時間;由于指令的復(fù)雜,增加了處理器的結(jié)構(gòu)復(fù)雜性以及邏輯電路的級數(shù),降低了時鐘頻率,使指令執(zhí)行的速度變慢,純CISC結(jié)構(gòu)的處理器執(zhí)行一條指令至少需要一個以上的時鐘周期。RISC是精簡指令集計算機(jī)(ReducedInstructionSetComputer)的簡稱,其指令集結(jié)構(gòu)只有少數(shù)簡單的指令,使計算機(jī)硬件簡化,將CPU的時鐘頻率提得很高,配合流水線結(jié)構(gòu)可做到一個時鐘周期執(zhí)行一條指令,使整個系統(tǒng)的性能得到提高,性能超過CISC結(jié)構(gòu)的計算機(jī)。RISC指令系統(tǒng)的特點(diǎn)是:1)選取使用頻率最高的一些簡單指令。2)指令長度固定,指令格式和尋址方式種類少。3)只有取數(shù)據(jù)和存數(shù)據(jù)指令訪問存儲器,其余指令的操作數(shù)在寄存器之間進(jìn)行。微型計算機(jī)的應(yīng)用范圍十分廣闊,它不僅在科學(xué)計算、信息處理、事務(wù)管理和過程控制等方面占有重要地位,并且在日常生活中也發(fā)揮著不可缺少的作用。目前,微型計算機(jī)主要有以下幾個方面的應(yīng)用。1.科學(xué)計算這是通用微型計算機(jī)的重要應(yīng)用之一。不少微型機(jī)系統(tǒng)具有較強(qiáng)的運(yùn)算能力,特別是用多個微處理器構(gòu)成的系統(tǒng),其功能往往可與大型機(jī)相匹配,甚至超過大型機(jī)。2.信息處理由于Internet的蓬勃發(fā)展,世界進(jìn)入了嶄新的信息時代,對大量信息包括多媒體信息的處理是信息時代的必然要求。連接在Internet上的微型計算機(jī)配上相應(yīng)的軟件以后,就可以很靈活地對各種信息進(jìn)行檢索、傳輸、分類、加工、存儲和打印。1.1.4微型計算機(jī)的應(yīng)用3.在工業(yè)控制中的應(yīng)用過程控制是微型計算機(jī)應(yīng)用最多、也是最有效的方面之一。目前,在制造工業(yè)和日用品生產(chǎn)廠家中都可見到微型計算機(jī)控制的自動化生產(chǎn)線和數(shù)據(jù)采集系統(tǒng),微型計算機(jī)的應(yīng)用為生產(chǎn)能力和產(chǎn)品質(zhì)量的迅速提高開辟了廣闊前景。例如工廠流水線的智能化管理、電梯智能化控制、各種報警系統(tǒng),與計算機(jī)聯(lián)網(wǎng)構(gòu)成二級控制系統(tǒng)等。4.儀器儀表控制在許多儀器儀表中,已經(jīng)用微處理器代替?zhèn)鹘y(tǒng)的機(jī)械部件或分離的電子部件,使產(chǎn)品減小了體積、降低了價格,而可靠性和功能卻得到了提高。5.家用電器和民用產(chǎn)品控制可以說,現(xiàn)在的家用電器基本上都采用了微處理器控制,從電飯煲、洗衣機(jī)、電冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材,到電子稱量設(shè)備,五花八門,無所不在。6.人工智能方面的應(yīng)用人工智能(ArtificialIntelligence,AI)是研究、開發(fā)用于模擬、延伸和擴(kuò)展人的智能的理論、方法、技術(shù)及應(yīng)用系統(tǒng)的一門新的技術(shù)科學(xué)。人工智能是計算機(jī)科學(xué)的一個分支,它通過了解智能的實(shí)質(zhì),生產(chǎn)出一種新的能與人類智能相似的方式做出反應(yīng)的智能機(jī)器,該領(lǐng)城的研究包括機(jī)器人、語言識別、圖像識別、自然語言處理和專家系統(tǒng)等。人工智能還有許多方面的應(yīng)用研究,如機(jī)器學(xué)習(xí)、模式識別、智能控制及檢索、機(jī)器學(xué)習(xí)及視覺、智能調(diào)度與指揮等。這些領(lǐng)域的研究成果輝煌,使人驚嘆,隨著全球性高科技的不斷飛速發(fā)展,人工智能會日臻完善。目前,有計算機(jī)控制的機(jī)器人、機(jī)械手已經(jīng)在工業(yè)界得到了成功應(yīng)用。1.2ARM概述ARM這個縮寫包含兩個意思:一是指ARM公司;二是指ARM公司設(shè)計的低功耗CPU及其架構(gòu),包括ARM1~ARM11與Cortex,其中,被廣泛應(yīng)用的是ARM7、ARM9、ARM11以及Cortex系列。ARM是全球領(lǐng)先的32位嵌入式RISC芯片內(nèi)核設(shè)計公司。RISC的英文全稱是ReducedInstructionSetComputer,對應(yīng)的中文是精簡指令集計算機(jī)。特點(diǎn)是所有指令的格式都是一致的,所有指令的指令周期也是相同的,并且采用流水線技術(shù)。1.2.1ARM簡介ARM的設(shè)計具有典型的精簡指令系統(tǒng)(RISC)風(fēng)格。ARM的體系架構(gòu)已經(jīng)經(jīng)歷了6個版本,版本號分別是V1~V6。每個版本各有特色,定位也各有不同,彼此之間不能簡單地相互替代。其中,ARM9、ARM10對應(yīng)的是V5架構(gòu),ARM11對應(yīng)的是發(fā)表于2001年的V6架構(gòu),時鐘頻率為350~500MHz,最高可達(dá)1GHz。Cortex是ARM的全新一代處理器內(nèi)核,它在本質(zhì)上是ARMV7架構(gòu)的實(shí)現(xiàn),它完全有別于ARM的其他內(nèi)核,是全新開發(fā)的。按照3類典型的嵌入式系統(tǒng)應(yīng)用,即高性能、微控制器、實(shí)時類,它又分成3個系列,即Cortex-A、Cortex-M、Cortex-R。而STM32就屬于Cortex-M系列。Cortex-M旨在提供一種高性能、低成本的微處理器平臺,以滿足最小存儲器、小引腳數(shù)和低功耗的需求,同時兼顧卓越的計算性能和出色的中斷管理能力。目前典型的、使用最為廣泛的是Cortex-M0、Cortex-M3、Cortex-M4。與MCS-51單片機(jī)采用的哈佛結(jié)構(gòu)不同,Cortex-M采用的是馮·諾依曼結(jié)構(gòu),即程序存儲器和數(shù)據(jù)存儲器不分開、統(tǒng)一編址。ARM在1990年成立,最初的名字是AdvancedRISCMachinesLtd.,當(dāng)時它由三家公司-蘋果電腦公司、Acorn電腦公司以及VLSI技術(shù)(公司)合資成立。1991年,ARM推出了ARM6處理器家族,VLSI則是第一個制造ARM芯片的公司。后來,TI、NEC、Sharp、ST等陸續(xù)都獲取了ARM授權(quán),使得ARM處理器應(yīng)用在手機(jī)、硬盤控制器、PDA、家庭娛樂系統(tǒng)以及其他消費(fèi)電子中。ARM過去稱作高級精簡指令集機(jī)器(AdvancedRISCMachine,更早稱作AcornRISCMachine),是一個32位精簡指令集(RISC)處理器架構(gòu),其廣泛地使用在許多嵌入式系統(tǒng)設(shè)計中。ARM公司是一家出售IP(技術(shù)知識產(chǎn)權(quán))的公司。許多半導(dǎo)體公司持有ARM授權(quán):Intel、TI、Qualcomm、華為、中興、Atmel、Broadcom、CirrusLogic、恩智浦半導(dǎo)體(于2006年從飛利浦獨(dú)立出來)、富士通、英特爾、IBM、NVIDIA、臺灣新唐科技(NuvotonTechnology)、英飛凌、任天堂、OKI電氣工業(yè)、三星電子、Sharp、STMicroelectronics、TI和VLSI等許多這些公司均擁有各個不同形式的ARM授權(quán)。ARM公司與獲得授權(quán)的半導(dǎo)體公司的關(guān)系如圖1-7所示。圖1-7在微控制器中使用ARM授權(quán)1985年以來,ARM陸續(xù)發(fā)布了多個ARM內(nèi)核架構(gòu)版本,從ARMV4架構(gòu)開始的ARM架構(gòu)發(fā)展歷程如圖1-8所示。目前,ARM體系結(jié)構(gòu)已經(jīng)經(jīng)歷了6個版本。從V6版本開始,各個版本都在實(shí)際中裝得了應(yīng)用,各個版本中還有一些變種,如支持Thb指令集的工變種、長乘法指令(M)變種、ARM媒體功能擴(kuò)展(SIMI)變種、支持Java的J變種和增強(qiáng)功能的E變種等。例如,ARM7TDMI表示該處理器支持Thumb指令集(T)、片上Debug(D)、內(nèi)嵌硬件乘法器(M)、嵌入式ICE(I)。

1.2.2ARM架構(gòu)的演變圖1-8ARM架構(gòu)的發(fā)展歷程圖1-9常見ARM處理器的演變常見ARM處理器的演變過程如圖1-9所示。

圖1-10各種架構(gòu)的ARM應(yīng)用領(lǐng)域各種架構(gòu)的ARM應(yīng)用領(lǐng)域如圖1-10所示。在ARM公司發(fā)出的Cortex內(nèi)核授權(quán)中,Cortex-M3內(nèi)核發(fā)出的授權(quán)數(shù)量最多。在諸多獲得Cortex-M3內(nèi)核授權(quán)的公司中,意法半導(dǎo)體公司是較早在市場上推出基于CortexM3內(nèi)核微控制器的廠商,STM32F1系列是其典型的產(chǎn)品系列。本書后續(xù)介紹的ARMCortex-M3是諸多ARM內(nèi)核架構(gòu)中的一種,并以基于該內(nèi)核的意法半導(dǎo)體公司的STM32F103VET6微控制器為背景進(jìn)行原理介紹,以STM32F103VET6微控制器開發(fā)為背景進(jìn)行應(yīng)用實(shí)例講解。如圖1-11所示,任何微處理器都至少由內(nèi)核、存儲器、總線、I/O構(gòu)成。ARM公司的芯片特點(diǎn)是內(nèi)核部分都是統(tǒng)一的,由ARM設(shè)計,但是其他部分各個芯片制造商可以有自己的設(shè)計。有的甚至包含一些外設(shè)在里面。Cortex-M3處理器內(nèi)核是微處理器的中央處理單元(CPU)。完整的基于Cortex-M3的MCU還需要很多其他組件。在芯片制造商得到Cortex-M3處理器內(nèi)核的使用授權(quán)后,1.2.3ARM體系結(jié)構(gòu)與特點(diǎn)圖1-11微處理器內(nèi)核示例如果把處理器內(nèi)核更加詳細(xì)地畫出來,圖1-12表示出了處理器內(nèi)核中包含中斷控制器、取指單元、指令解碼器、寄存器組、算術(shù)邏輯單元(ALU)、存儲器接口、跟蹤接口等。如果把總線細(xì)分下去,總線可以分成指令總線和數(shù)據(jù)總線,并且這兩種總線之間帶有存儲器保護(hù)單元。這兩種總線從內(nèi)核的存儲器接口接到總線網(wǎng)絡(luò)上,再與指令存儲器、存儲器系統(tǒng)和外設(shè)等連接在一起。存儲器也可細(xì)分為指令存儲器和其他存儲器。外設(shè)可以分為私有外設(shè)和其他外設(shè)等。圖1-12微處理內(nèi)核進(jìn)一步細(xì)化圖1-13從編程員的角度看到的微處理器內(nèi)核如果從編程的角度來看待微處理器,如圖1-13所示,則看到的主要就是一些寄存器和地址。Cortex-M3是ARM公司在ARMV7架構(gòu)的基礎(chǔ)上設(shè)計出來的一款新型的芯片內(nèi)核。相對于其他ARM系列的微控制器,Cortex-M3內(nèi)核擁有以下優(yōu)勢和特點(diǎn)。1.2.4Cortex-M3處理器的主要特性1.三級流水線和分支預(yù)測現(xiàn)代處理器中,大多數(shù)都采用了指令預(yù)存及流水線技術(shù),來提高處理器的指令運(yùn)行速度。執(zhí)行指令的過程中,如果遇到了分支指令,由于執(zhí)行的順序也許會發(fā)生改變,指令預(yù)取隊(duì)列和流水線中的一些指令就可能作廢,需要重新取相應(yīng)的地址,這樣會使得流水線出現(xiàn)“斷流現(xiàn)象”,處理器的性能會受到影響。尤其在C語言程序中,分支指令的比例能達(dá)到10%~20%,這對于處理器來說無疑是一件很恐怖的事情。因此,現(xiàn)代高性能的流水線處理器都會就一些分支預(yù)測的部件,在處理器從存儲器預(yù)取指令的過程中,當(dāng)遇到分支指令時,處理器能自動預(yù)測跳轉(zhuǎn)是否會發(fā)生,然后才從預(yù)測的方向進(jìn)行相應(yīng)的取值,從而讓流水線能連續(xù)地執(zhí)行指令,保證它的性能。2.哈佛結(jié)構(gòu)哈佛結(jié)構(gòu)的處理器采用獨(dú)立的數(shù)據(jù)總線和指令總線,處理器可以同時進(jìn)行對指令和數(shù)據(jù)的讀寫操作,使得處理器的運(yùn)行速度得以提高。3.內(nèi)置嵌套向量中斷控制器Cortex-M3首次在內(nèi)核部分采用了嵌套向量中斷控制器,即NVIC。也正是采用了中斷嵌套的方式,使得Cortex-M3能將中斷延遲減小到12個時鐘周期(一般,ARM7需要24~42個時鐘周期)。Cortex-M3不僅采用了NVIC技術(shù),還采用了尾鏈技術(shù),從而使中斷響應(yīng)時間減小到了6個時鐘周期。4.支持位綁定操作在Cortex-M3內(nèi)核出現(xiàn)之前,ARM內(nèi)核是不支持位操作的,而是要用邏輯與、或的操作方式來屏蔽對其他位的影響。這樣的結(jié)果帶來的是指令的增加和處理時間的增加。Cortex-M3采用了位綁定的方式讓位操作成為可能。5.支持串行調(diào)試(SWD)一般的ARM處理器采用的都是JTAG調(diào)試接口,但是JTAG接口占用的芯片I/O端口過多,這對于一些引腳少的處理器來說很浪費(fèi)資源。Cortex-M3在原來的JTAG接口的基礎(chǔ)上增加了SWD模式,只需要兩個I/O端口即可完成仿真,節(jié)約了調(diào)試占用的引腳。6.支持低功耗模式Cortex-M3內(nèi)核在原來的只有運(yùn)行/停止的模式上增加了休眠模式,使得Cortex-M3的運(yùn)行功耗也很低。7.擁有高效的Thumb216/32位混合指令集原有的ARM7、ARM9等內(nèi)核使用的都是不同的指令,例如32位的ARM指令和16位的Thumb指令。Cortex-M3使用了更高效的Thumb2指令來實(shí)現(xiàn)接近Thumb指令的代碼尺寸,達(dá)到ARM編碼的運(yùn)行性能。Thumb2是一種高效的、緊湊的新一代指令集。8.32位硬件除法和單周期乘法Cortex-M3內(nèi)核加入了32位的除法指令,彌補(bǔ)了一些除法密集型運(yùn)用中性能不好的問題。同時,Cortex-M3內(nèi)核也改進(jìn)了乘法運(yùn)算的部件,使得32位乘32位的乘法在運(yùn)行時間上減少到了一個時鐘周期。9.支持存儲器非對齊模式訪問Cortex-M3內(nèi)核的MCU一般用的內(nèi)部寄存器都是32位編址。如果處理器只能采用對齊的訪問模式,那么有些數(shù)據(jù)就必須被分配,占用一個32位的存儲單元,這是一種浪費(fèi)的現(xiàn)象。為了解決這個問題,Cortex-M3內(nèi)核采用了支持非對齊模式的訪問方式,從而提高了存儲器的利用率。10.內(nèi)部定義了統(tǒng)一的存儲器映射在ARM7、ARM9等內(nèi)核中沒有定義存儲器的映射,不同的芯片廠商需要自己定義存儲器的映射,這使得芯片廠商之間存在不統(tǒng)一的現(xiàn)象,給程序的移植帶來了麻煩。Cortex-M3則采用了統(tǒng)一的存儲器映射的分配,使得存儲器映射得到了統(tǒng)一。11.極高的性價比Cortex-M3內(nèi)核的MCU相對于其他的ARM系列的MCU性價比高許多。ARMCortex-M3處理器是新一代的32位處理器,是一個高性能、低成本的開發(fā)平臺,適用于微控制器、工業(yè)控制系統(tǒng)以及無線網(wǎng)絡(luò)傳感器等應(yīng)用場合。其特點(diǎn)為:1)性能豐富成本低。專門針對微控制器應(yīng)用特點(diǎn)而開發(fā)的32位MCU,具有高性能、低成本、易應(yīng)用等優(yōu)點(diǎn)。2)低功耗。把睡眠模式與狀態(tài)保留功能結(jié)合在一起,確保Cortex-M3處理器既可提供低能耗,又不影響其很高的運(yùn)行性能。3)可配置性強(qiáng)。Cortex-M3的NVIC(NestedVectoredInterruptController,嵌套向量中斷控制器)功能提高了設(shè)計的可配置性,提供了多達(dá)240個具有單獨(dú)優(yōu)先級、動態(tài)重設(shè)優(yōu)先級功能和集成系統(tǒng)時鐘的系統(tǒng)中斷。1.2.5Cortex-M3處理器結(jié)構(gòu)4)豐富的鏈接。功能和性能兼顧的良好組合,使基于Cortex-M3的設(shè)備可以有效處理多個IO通道和協(xié)議標(biāo)準(zhǔn)。Cortex-M3處理器結(jié)構(gòu)如圖1-14所示。圖1-14Cortex-M3處理器結(jié)構(gòu)Cortex-M3處理器結(jié)構(gòu)中各個部分的解釋和功能如下:1)嵌套向量中斷控制器(NVIC):負(fù)責(zé)中斷控制。該控制器和內(nèi)核是緊耦合的,提供可屏蔽、可嵌套、動態(tài)優(yōu)先級的中斷管理。2)CortexM3處理器核(Cortex-M3processorcore):Cortex-M3處理器核是處理器的核心所在。3)存地址重載及斷點(diǎn)(FPB):實(shí)現(xiàn)硬件斷點(diǎn)以及代碼空間到系統(tǒng)空間的映射。4)內(nèi)存保護(hù)單元(MPU):內(nèi)存保護(hù)單元MPU的主要作用是實(shí)施存儲器的保護(hù),它能夠在系統(tǒng)或程序出現(xiàn)異常而非正常地訪問不應(yīng)該訪問的存儲空間時,通過觸發(fā)異常中斷而達(dá)到提高系統(tǒng)可靠性的目的。STM32系統(tǒng)并沒有使用該單元。5)數(shù)據(jù)觀察點(diǎn)及跟蹤單元(DWT):調(diào)試中用于數(shù)據(jù)觀察功能。6)AHB訪問端口(AHB-AP):高速總線AHB訪問端口將SW/SWJ端口的命令轉(zhuǎn)換為AHB的命令傳送。7)總線矩陣(BusMatrix):Cortex-M3總線矩陣,CPU內(nèi)部的總線通過總線矩陣連接到外部的ICode、DCode及系統(tǒng)總線。8)指令跟蹤宏單元(ITM):可以產(chǎn)生時間戳數(shù)據(jù)包并插入到跟蹤數(shù)據(jù)流中,用于幫助調(diào)試器求出各事件的發(fā)生時間。9)喚醒中斷控制器(WIC):WIC可以使處理器和NVIC處于一個低功耗睡眠的模式。10)嵌入式跟蹤宏單元(ETM):調(diào)試中用于處理指令跟蹤。11)串行調(diào)試端口/串行JTAG調(diào)試端口(SW-DP/SWJ-DP):串行調(diào)試的端口。12)跟蹤端口接口單元(TPIU):跟蹤端口的接口單元。用于向外部跟蹤捕獲硬件發(fā)送調(diào)試停息的接口單元,作為來自ITM和ETM的Cortex-M3內(nèi)核跟蹤數(shù)據(jù)與片外跟蹤端口之間的橋接。Cortex-M3既然是32位處理器核,地址線、數(shù)據(jù)線都是32位的。采用了哈佛結(jié)構(gòu)。哈佛這種并行結(jié)構(gòu)將程序指令和數(shù)據(jù)分開進(jìn)行存儲,其優(yōu)點(diǎn)是因?yàn)樵谝粋€機(jī)器周期內(nèi)處理器可以并行獲得執(zhí)行字和操作數(shù),提高了執(zhí)行速度。簡單理解一下,指令存儲器和其他數(shù)據(jù)存儲器采用不同的總線(ICode和DCode總線),可并行取得指令和數(shù)據(jù)。1.3嵌入式系統(tǒng)隨著計算機(jī)技術(shù)的不斷發(fā)展,計算機(jī)的處理速度越來越快,存儲容量越來越大,外圍設(shè)備的性能越來越好,滿足了高速數(shù)值計算和海量數(shù)據(jù)處理的需要,形成了高性能的通用計算機(jī)系統(tǒng)。國際電氣和電子工程師協(xié)會(IEEE)定義的嵌入式系統(tǒng)是“用于控制、監(jiān)視或者輔助操作機(jī)器和設(shè)備運(yùn)行的裝置”(原文為devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants)。這主要是從應(yīng)用上加以定義的,從中可以看出嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)械等附屬裝置。目前國內(nèi)普遍認(rèn)同的嵌入式系統(tǒng)定義是,以計算機(jī)技術(shù)為基礎(chǔ),以應(yīng)用為中心,軟件、硬件可剪裁,適合應(yīng)用系統(tǒng)對功能可靠性、成本、體積、功耗嚴(yán)格要求的專業(yè)計算機(jī)系統(tǒng)。在構(gòu)成上,嵌入式系統(tǒng)以微控制器及軟件為核心部件,兩者缺一不可;在特征上,嵌入式系統(tǒng)具有方便、靈活地嵌入到其他應(yīng)用系統(tǒng)的特征,即具有很強(qiáng)的可嵌入性。按嵌入式微控制器類型劃分,嵌入式系統(tǒng)可分為以單片機(jī)為核心的嵌入式單片機(jī)系統(tǒng)、以工業(yè)計算機(jī)板為核心的嵌入式計算機(jī)系統(tǒng)、以DSP為核心組成的嵌入式數(shù)字信號處理器系統(tǒng)、以FPGA為核心的嵌入式SOPC(SystemonaProgrammableChip,可編程片上系統(tǒng))等。嵌入式系統(tǒng)在含義上與傳統(tǒng)的單片機(jī)系統(tǒng)和計算機(jī)系統(tǒng)有很多重疊部分。為了方便區(qū)分,在實(shí)際應(yīng)用中,嵌入式系統(tǒng)還應(yīng)該具備下述三個特征。1)嵌入式系統(tǒng)的微控制器通常是由32位及以上的RISC(ReducedInstructionSetComputer,精簡指令集計算機(jī))處理器組成的。2)嵌入式系統(tǒng)的軟件系統(tǒng)通常是以嵌入式操作系統(tǒng)為核心,外加用戶應(yīng)用程序。3)嵌入式系統(tǒng)在特征上具有明顯的可嵌入性。嵌入式系統(tǒng)應(yīng)用經(jīng)歷了無操作系統(tǒng)、單操作系統(tǒng)、實(shí)時操作系統(tǒng)和面向Intemet四個階段。21世紀(jì)無疑是一個網(wǎng)絡(luò)的時代,互聯(lián)網(wǎng)的快速發(fā)展及廣泛應(yīng)用為嵌入式系統(tǒng)的發(fā)展及應(yīng)用提供了良好的機(jī)遇?!叭斯ぶ悄堋边@一熱詞一夜之間人盡皆知。而嵌入式在其發(fā)展過程中扮演著重要角色。嵌入式系統(tǒng)的發(fā)展大致經(jīng)歷了以下三個階段。(1)以嵌入式微控制器為基礎(chǔ)的初級嵌入式系統(tǒng)。(2)以嵌入式操作系統(tǒng)為基礎(chǔ)的中級嵌入式系統(tǒng)。(3)以Internet和RTOS為基礎(chǔ)的高級嵌入式系統(tǒng)。嵌入式技術(shù)與Internet技術(shù)的結(jié)合正在推動著嵌入式系統(tǒng)的飛速發(fā)展,為嵌入式系統(tǒng)市場展現(xiàn)出了美好的前景,也對嵌入式系統(tǒng)的生產(chǎn)廠商提出了新的挑戰(zhàn)。未來嵌入式系統(tǒng)的發(fā)展趨勢如下。(1)嵌入式系統(tǒng)的開發(fā)成為一項(xiàng)系統(tǒng)工程,開發(fā)廠商不僅需要提供嵌入式系統(tǒng)的軟硬件,還需要提供強(qiáng)大的硬件開發(fā)工具和軟件支持包。1.3.1

嵌入式系統(tǒng)概述(2)網(wǎng)絡(luò)化、信息化的要求隨著Internet技術(shù)的成熟和帶寬的提高而變得日益突出,電話、手機(jī)冰箱、微波爐等設(shè)備的功能和結(jié)構(gòu)會變得更加復(fù)雜,網(wǎng)絡(luò)互聯(lián)將成為必然趨勢。(3)系統(tǒng)內(nèi)核更加精簡,關(guān)鍵算法得到優(yōu)化,系統(tǒng)功耗和軟硬件成本進(jìn)一步降低。(4)為了適應(yīng)網(wǎng)絡(luò)發(fā)展的要求,未來的嵌入式系統(tǒng)必然要求其硬件提供各種網(wǎng)絡(luò)通信接口,同時系統(tǒng)要提供相應(yīng)的通信組網(wǎng)協(xié)議軟件和物理層驅(qū)動軟件;系統(tǒng)內(nèi)核支持網(wǎng)絡(luò)模塊,甚至可以在設(shè)備上嵌入Web瀏覽器,真正實(shí)現(xiàn)隨時隨地使用各種設(shè)備上網(wǎng)。(5)提供更加友好的多媒體人機(jī)交互界面。通用計算機(jī)具有計算機(jī)的標(biāo)準(zhǔn)形式,通過裝配不同的應(yīng)用軟件,應(yīng)用在社會的各個方面?,F(xiàn)在,在辦公室、家庭中廣泛使用的個人計算機(jī)(PC)就是通用計算機(jī)最典型的代表。而嵌入式計算機(jī)則是以嵌入式系統(tǒng)的形式隱藏在各種裝置、產(chǎn)品和系統(tǒng)中。在許多應(yīng)用領(lǐng)域,如工業(yè)控制、智能儀器儀表、家用電器、電子通信設(shè)備等,對嵌入式計算機(jī)的應(yīng)用有著不同的要求。主要要求如下。1)能面對控制對象,例如面對物理量傳感器的信號輸入,面對人機(jī)交互的操作控制,面對對象的伺服驅(qū)動和控制。2)可嵌入到應(yīng)用系統(tǒng)。由于體積小,低功耗,價格低廉,可方便地嵌入到應(yīng)用系統(tǒng)和電子產(chǎn)品中。3)能在工業(yè)現(xiàn)場環(huán)境中長時間可靠運(yùn)行。4)控制功能優(yōu)良。對外部的各種模擬和數(shù)字信號能及時地捕捉,對多種不同的控制對象能靈活地進(jìn)行實(shí)時控制。作為計算機(jī)系統(tǒng)的不同分支,嵌入式系統(tǒng)和人們熟悉的通用計算機(jī)系統(tǒng)既有共性也有差異。嵌入式系統(tǒng)和通用計算機(jī)系統(tǒng)的共同點(diǎn)嵌入式系統(tǒng)和通用計算機(jī)系統(tǒng)都屬于計算機(jī)系統(tǒng),從系統(tǒng)組成上講,它們都是由硬件和軟件構(gòu)成的;工作原理是相同的,都是存儲程序機(jī)制。從硬件上看,嵌入式系統(tǒng)和通用計算機(jī)系統(tǒng)都是由CPU、存儲器、I/O接口和中斷系統(tǒng)等部件組成;從軟件上看,嵌入式系統(tǒng)軟件和通用計算機(jī)軟件都可以劃分為系統(tǒng)軟件和應(yīng)用軟件兩類。作為計算機(jī)系統(tǒng)的一個新興的分支,嵌入式系統(tǒng)與人們熟悉和常用的通用計算機(jī)系統(tǒng)相比又具有以下不同點(diǎn)。1.3.2嵌入式系統(tǒng)和通用計算機(jī)系統(tǒng)比較1)形態(tài)。通用計算機(jī)系統(tǒng)具有基本相同的外形(如主機(jī)、顯示器、鼠標(biāo)和鍵盤等)并且獨(dú)立存在;而嵌入式系統(tǒng)通常隱藏在具體某個產(chǎn)品或設(shè)備(稱為宿主對象,如空調(diào)、洗衣機(jī)、數(shù)字機(jī)頂盒等)中,它的形態(tài)隨著產(chǎn)品或設(shè)備的不同而不同。2)功能。通用計算機(jī)系統(tǒng)一般具有通用而復(fù)雜的功能,任意一臺通用計算機(jī)都具有文檔編輯、影音播放、娛樂游戲、網(wǎng)上購物和通信聊天等通用功能;而嵌入式系統(tǒng)嵌入在某個宿主對象中。功能由宿主對象決定,具有專用性,通常是為某個應(yīng)用量身定做的。3)功耗。目前,通用計算機(jī)系統(tǒng)的功耗一般為200W左右;而嵌入式系統(tǒng)的宿主對象通常是小型應(yīng)用系統(tǒng),如手機(jī)、MP3和智能手環(huán)等,這些設(shè)備不可能配置容量較大的電源,因此,低功耗一直是嵌入式系統(tǒng)追求的目標(biāo),如日常生活中使用的智能手機(jī),其待機(jī)功率100~200mW,即使在通話時功率也只有4~5W。4)資源。通用計算機(jī)系統(tǒng)通常擁有大而全的資源(如鼠標(biāo)、鍵盤、硬盤、內(nèi)存條和顯示器等);而嵌入式系統(tǒng)受限于嵌入的宿主對象(如手機(jī)、MP3和智能手環(huán)等),通常要求小型化和低功耗,其軟硬件資源受到嚴(yán)格的限制。5)價值。通用計算機(jī)系統(tǒng)的價值體現(xiàn)在“計算”和“存儲”上,計算能力(處理器的字長和主頻等)和存儲能力(內(nèi)存和硬盤的大小和讀取速度等)是通用計算機(jī)的通用評價指標(biāo);而嵌入式系統(tǒng)往往嵌入到某個設(shè)備和產(chǎn)品中,其價值一般不取決于其內(nèi)嵌的處理器的性能,而體現(xiàn)在它所嵌入和控制的設(shè)備。如一臺智能洗衣機(jī)往往用洗凈比、洗滌容量和脫水轉(zhuǎn)速等來衡量,而不以其內(nèi)嵌的微控制器的運(yùn)算速度和存儲容量等來衡量。通過嵌入式系統(tǒng)的定義和嵌入式系統(tǒng)與通用計算機(jī)系統(tǒng)的比較,可以看出嵌入式系統(tǒng)具有以下特點(diǎn)。1.專用性強(qiáng)嵌入式系統(tǒng)按照具體應(yīng)用需求進(jìn)行設(shè)計,完成指定的任務(wù),通常不具備通用性,只能面向某個特定應(yīng)用,就像嵌入在微波爐中的控制系統(tǒng)只能完成微波爐的基本操作,而不能在洗衣機(jī)中使用。2.可裁剪性受限于體積、功耗和成本等因素,嵌入式系統(tǒng)的硬件和軟件必須高效率地設(shè)計,根據(jù)實(shí)際應(yīng)用需求量體裁衣,去除冗余,從而使系統(tǒng)在滿足應(yīng)用要求的前提下達(dá)到最精簡的配置。1.3.3嵌入式系統(tǒng)的特點(diǎn)3.實(shí)時性好所謂實(shí)時性是指系統(tǒng)能夠及時(在限定時間內(nèi))處理外部事件。大多數(shù)實(shí)時系統(tǒng)都是嵌入式系統(tǒng),而嵌入式系統(tǒng)多數(shù)也有實(shí)時性的要求,例如,用戶將銀行卡插入ATM機(jī)插卡口,ATM機(jī)控制系統(tǒng)必須立即啟動讀卡程序。4.可靠性高很多嵌入式系統(tǒng)必須一年365天、每天24小時持續(xù)工作,甚至在極端環(huán)境下正常運(yùn)行。大多數(shù)嵌入式系統(tǒng)都具有可靠性機(jī)制,例如,硬件的看門狗定時器、軟件的內(nèi)存保護(hù)和重啟機(jī)制等,以保證嵌入式系統(tǒng)在出現(xiàn)問題時能夠重新啟動,保障系統(tǒng)的健壯性。5.生命周期長遵從于摩爾定律,通用計算機(jī)的更新?lián)Q代速度較快。嵌入式系統(tǒng)的生命周期與其嵌入的產(chǎn)品或設(shè)備同步,經(jīng)歷產(chǎn)品導(dǎo)入期、成長期、成熟期和衰退期等各個階段,一般比通用計算機(jī)要長。6.不易被壟斷嵌入式系統(tǒng)是將先進(jìn)的計算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)和各個行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,這一點(diǎn)就決定了它必然是一個技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。因此,嵌入式系統(tǒng)不易在市場上形成壟斷。目前,嵌入式系統(tǒng)處于百花齊放、各有所長、全面發(fā)展的時代,各類嵌入式系統(tǒng)軟硬件差別顯著,其通用性和可移植性都較通用計算機(jī)系統(tǒng)要差。在學(xué)習(xí)嵌入式系統(tǒng)時要有所側(cè)重,然后觸類旁通。1.4嵌入式系統(tǒng)的軟件嵌入式系統(tǒng)的軟件一般固化于嵌入式存儲器中,是嵌入式系統(tǒng)的控制核心,控制著嵌入式系統(tǒng)的運(yùn)行,實(shí)現(xiàn)嵌入式系統(tǒng)的功能。由此可見,嵌入式軟件在很大程度上決定整個嵌入式系統(tǒng)的價值。從軟件結(jié)構(gòu)上劃分,嵌入式系統(tǒng)的軟件分為無操作系統(tǒng)和帶操作系統(tǒng)兩種。對于通用計算機(jī),操作系統(tǒng)是整個軟件的核心,不可或缺;然而,對于嵌入式系統(tǒng),由于其專用性,在某些情況下無需操作系統(tǒng)。尤其在嵌入式系統(tǒng)發(fā)展的初期,由于較低的硬件配置、單一的功能需求以及有限的應(yīng)用領(lǐng)域(主要集中在工業(yè)控制和國防軍事領(lǐng)域),嵌入式軟件的規(guī)模通常較小,沒有專門的操作系統(tǒng)。在組成結(jié)構(gòu)上,無操作系統(tǒng)的嵌入式軟件僅由引導(dǎo)程序和應(yīng)用程序兩部分組成,如圖1-15所示。引導(dǎo)程序一般由匯編語言編寫,在嵌入式系統(tǒng)上電后運(yùn)行,完成自檢、存儲映射、時鐘系統(tǒng)和外設(shè)接口配置等一系列硬件初始化操作。應(yīng)用程序一般由C語言編寫,直接架構(gòu)在硬件之上,在引導(dǎo)程序之后運(yùn)行,負(fù)責(zé)實(shí)現(xiàn)嵌入式系統(tǒng)的主要功能。

1.4.1無操作系統(tǒng)的嵌入式軟件圖1-15無操作系統(tǒng)嵌入式軟件結(jié)構(gòu)隨著嵌入式應(yīng)用在各個領(lǐng)域的普及和深入,嵌入式系統(tǒng)向多樣化、智能化和網(wǎng)絡(luò)化發(fā)展,其對功能、實(shí)時性、可靠性和可移植性等方面的要求越來越高,嵌入式軟件日趨復(fù)雜,越來越多地采用嵌入式操作系統(tǒng)+應(yīng)用軟件的模式。相比無操作系統(tǒng)的嵌入式軟件,帶操作系統(tǒng)的嵌入式軟件規(guī)模較大,其應(yīng)用軟件架構(gòu)于嵌入式操作系統(tǒng)上,而非直接面對嵌入式硬件,可靠性高,開發(fā)周期短,易于移植和擴(kuò)展,適用于功能復(fù)雜的嵌入式系統(tǒng)。帶操作系統(tǒng)的嵌入式軟件的體系結(jié)構(gòu)如圖1-16所示,自下而上包括設(shè)備驅(qū)動層、操作系統(tǒng)層和應(yīng)用軟件層等。1.4.2帶操作系統(tǒng)的嵌入式軟件圖1-15帶操作系統(tǒng)的嵌入式軟件的體系結(jié)構(gòu)構(gòu)嵌入式操作系統(tǒng)(EmbeddedOperatingSystem,EOS)是指用于嵌入式系統(tǒng)的操作系統(tǒng)。嵌入式操作系統(tǒng)是一種用途廣泛的系統(tǒng)軟件,通常包括與硬件相關(guān)的底層驅(qū)動軟件、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動接口、通信協(xié)議、圖形界面、標(biāo)準(zhǔn)化瀏覽器等。嵌入式操作系統(tǒng)負(fù)責(zé)嵌入式系統(tǒng)的全部軟硬件資源的分配、任務(wù)調(diào)度、控制與協(xié)調(diào)并發(fā)活動。它必須體現(xiàn)其所在系統(tǒng)的特征,能夠通過裝卸某些模塊來達(dá)到系統(tǒng)所要求的功能。目前在嵌入式領(lǐng)域廣泛使用的操作系統(tǒng)有:嵌入式實(shí)時操作系統(tǒng)μC/OS-II、嵌入式Linux、WindowsCE、VxWorks等,以及應(yīng)用在智能手機(jī)和平板電腦的Android、iOS等。1.4.3典型嵌入式操作系統(tǒng)1.μC/OS-IIμC/OSII(Micro-ControllerOperatingSystemTwo)是一個可以基于ROM運(yùn)行的、可裁剪的、搶占式、實(shí)時多任務(wù)內(nèi)核,具有高度可移植性,特別適合于微處理器和控制器,適合很多商業(yè)操作系統(tǒng)性能相當(dāng)?shù)膶?shí)時操作系統(tǒng)(RTOS)。為了提供最好的移植性能,μC/OSII最大程度上使用ANSIC語言進(jìn)行開發(fā),并且已經(jīng)移植到近40多種處理器體系上,涵蓋了從8位到64位各種CPU(包括DSP)。μC/OSII可以視為一個簡單的多任務(wù)調(diào)度器,在這個任務(wù)調(diào)度器之上完善并添加了和多任務(wù)操作系統(tǒng)相關(guān)的系統(tǒng)服務(wù),如信號量、郵箱等。其主要特點(diǎn)有公開源代碼,代碼結(jié)構(gòu)清晰、明了,注釋詳盡,組織有條理,可移植性好,可裁剪,可固化。內(nèi)核屬于搶占式,最多可以管理60個任務(wù)。從1992年開始,由于高度可靠性、魯棒性和安全性,μC/OSII已經(jīng)廣泛使用在照相機(jī)、航空電子產(chǎn)品等應(yīng)用中。2.嵌入式Linux嵌入式Linux是嵌入式操作系統(tǒng)的一個新成員,其最大的特點(diǎn)是源代碼公開并且遵循GPL協(xié)議,近幾年來已成為研究熱點(diǎn)。目前正在開發(fā)的嵌入式系統(tǒng)中,有近50%的項(xiàng)目選擇Linux作為嵌入式操作系統(tǒng)。嵌入式Linux是將日益流行的Linux操作系統(tǒng)進(jìn)行裁剪修改,使之能在嵌入式計算機(jī)系統(tǒng)上運(yùn)行的一種操作系統(tǒng)。嵌入式Linux既繼承了Internet上無限的開放源代碼資源,又具有嵌入式操作系統(tǒng)的特性。嵌入式Linux的特點(diǎn)是版權(quán)免費(fèi);為全世界的自由軟件開發(fā)者提供支持,而且性能優(yōu)異,軟件移植容易,代碼開放,有許多應(yīng)用軟件支持,應(yīng)用產(chǎn)品開發(fā)周期短,新產(chǎn)品上市迅速,系統(tǒng)實(shí)時性、穩(wěn)定性和安全性好。3.AndroidAndroid是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要應(yīng)用于移動設(shè)備,如智能手機(jī)和平板電腦,由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。Android逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上,如電視、數(shù)碼相機(jī)、游戲機(jī)、智能手表等。4.WindowsCEWindowsEmbeddedCompact(即WindowsCE)是微軟公司嵌入式、移動計算平臺的基礎(chǔ),它是一個可搶先式、多任務(wù)、多線程并具有強(qiáng)大通信能力的32位嵌入式操作系統(tǒng),是微軟公司為移動應(yīng)用、信息設(shè)備、消費(fèi)電子和各種嵌入式應(yīng)用而設(shè)計的實(shí)時系統(tǒng),目標(biāo)是實(shí)現(xiàn)移動辦公、便攜娛樂和智能通信。從理論上講,基于操作系統(tǒng)的開發(fā)模式具有快捷、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論