版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
(2022—2023學(xué)年第2學(xué)期)日期內(nèi)容名稱第1章緒論(3學(xué)時(shí))1.1嵌入式系統(tǒng)1.1.1嵌入式系統(tǒng)概述1.1.2嵌入式系統(tǒng)和通用計(jì)算機(jī)系統(tǒng)比較1.1.3嵌入式系統(tǒng)的特點(diǎn)1.2嵌入式系統(tǒng)的組成1.3實(shí)時(shí)操作系統(tǒng)1.3.2實(shí)時(shí)操作系統(tǒng)的基本特征1.3.3實(shí)時(shí)操作系統(tǒng)性能的衡量指標(biāo)1.3.4實(shí)時(shí)操作系統(tǒng)的分類1.4嵌入式系統(tǒng)的軟件1.4.1無操作系統(tǒng)的嵌入式軟件1.4.2帶操作系統(tǒng)的嵌入式軟件1.4.3嵌入式操作系統(tǒng)的分類1.4.4嵌入式實(shí)時(shí)操作系統(tǒng)的功能1.4.5典型嵌入式操作系統(tǒng)1.4.6軟件架構(gòu)選擇建議1.5嵌入式系統(tǒng)的分類1.5.1按應(yīng)用對(duì)象的分類1.5.2按功能和性能的分類1.5.3按結(jié)構(gòu)復(fù)雜度的分類1.6嵌入式系統(tǒng)的應(yīng)用領(lǐng)域教學(xué)目標(biāo)嵌入式系統(tǒng)嵌入式系統(tǒng)的組成實(shí)時(shí)操作系統(tǒng)實(shí)時(shí)系統(tǒng)的概念嵌入式系統(tǒng)的軟件嵌入式系統(tǒng)的分類嵌入式系統(tǒng)的應(yīng)用領(lǐng)域教學(xué)講授、演示和討論教學(xué)21、先修課程:C語(yǔ)言程序設(shè)計(jì)、模擬電路、數(shù)字電路2、后續(xù)課程:物聯(lián)網(wǎng)應(yīng)用、智能控制、人工智能教學(xué)內(nèi)容(含時(shí)間分配)教學(xué)第1章緒論信號(hào)處理器系統(tǒng)、以FPGA為核心的嵌入式SOPC(System提問:什么1.1.1嵌入式系統(tǒng)概述(1)以嵌入式微控制器為基礎(chǔ)的初級(jí)嵌入式系(2)以嵌入式操作系統(tǒng)為基礎(chǔ)的中級(jí)嵌入式系(3)以Internet和RTOS為基礎(chǔ)的高級(jí)嵌入式系統(tǒng)3)功耗。目前,通用計(jì)算機(jī)系統(tǒng)的功耗一般為200W左右;而嵌入機(jī),其待機(jī)功率100~200mW,即使在通話時(shí)功率也只有4~5W。4)資源。通用計(jì)算機(jī)系統(tǒng)通常擁有大而全的資源(如鼠標(biāo)、鍵盤、硬盤、內(nèi)存條和顯示器等);而嵌入式系統(tǒng)受限于嵌入的宿主對(duì)象(如手機(jī)、MP3和智能手環(huán)等),通常要求小型化和低功耗,其軟硬件資源受到嚴(yán)格的限5)價(jià)值。通用計(jì)算機(jī)系統(tǒng)的價(jià)值體現(xiàn)在“計(jì)算”和“存儲(chǔ)”上,計(jì)算能力(處理器的字長(zhǎng)和主頻等)和存儲(chǔ)能力(內(nèi)存和硬盤的大小和讀取速度等)是通用計(jì)算機(jī)的通用評(píng)價(jià)指標(biāo);而嵌入式系統(tǒng)往往嵌入到某個(gè)設(shè)備和產(chǎn)品中,其價(jià)值一般不取決于其內(nèi)嵌的處理器的性能,而體現(xiàn)在它所嵌入和控制的設(shè)1.1.3嵌入式系統(tǒng)的特點(diǎn)通過嵌入式系統(tǒng)的定義和嵌入式系統(tǒng)與通用計(jì)算機(jī)系統(tǒng)的比較,可以看出嵌入式系統(tǒng)具有以下特點(diǎn)。嵌入式系統(tǒng)通常是針對(duì)某種特定的應(yīng)用場(chǎng)景,與具體應(yīng)用密切相關(guān),其硬件和軟件都是面向特定產(chǎn)品或任務(wù)而設(shè)計(jì)的。不但一種產(chǎn)品中的嵌入式系統(tǒng)不能應(yīng)用到另一種產(chǎn)品中,甚至都不能嵌入同一種產(chǎn)品的不同系列。2.可裁剪性受限于體積、功耗和成本等因素,嵌入式系統(tǒng)的硬件和軟件必須高效率地設(shè)根據(jù)實(shí)際應(yīng)用需求量體裁衣,去除冗余,從而使系統(tǒng)在滿足應(yīng)用要求的前提下達(dá)到最精簡(jiǎn)的配置。3.實(shí)時(shí)性好許多嵌入式系統(tǒng)應(yīng)用于宿主系統(tǒng)的數(shù)據(jù)采集、傳輸與控制過程時(shí),普遍要求嵌入式系統(tǒng)具有較好的實(shí)時(shí)性。例如,像現(xiàn)代汽車中的制動(dòng)器、安全氣囊控制系統(tǒng)、武器裝備中的控制系統(tǒng)、某些工業(yè)裝置中的控制系統(tǒng)4.可靠性高嵌入式系統(tǒng)的應(yīng)用場(chǎng)景多種多樣,面對(duì)復(fù)雜的應(yīng)用環(huán)境,嵌入式系統(tǒng)應(yīng)能夠長(zhǎng)時(shí)間穩(wěn)定可靠地運(yùn)行。在某些應(yīng)用中,嵌入式系統(tǒng)硬件或軟件中存在的一個(gè)小“bug”,都有可能導(dǎo)致災(zāi)難性后果的發(fā)生。由于嵌入式系統(tǒng)要嵌入具體的應(yīng)用對(duì)象體中,其體積大小受限于宿主對(duì)象,因此往往對(duì)體積有著嚴(yán)格的要求,例如,心臟起搏器的大小就像一粒膠囊。2020年8月,埃隆·馬斯克發(fā)布的擁有1024個(gè)信道的Neuralink腦機(jī)接口只有一枚硬幣大小。與其他商品一樣,制造成本會(huì)對(duì)嵌入式系統(tǒng)設(shè)備或產(chǎn)品在市場(chǎng)上的競(jìng)爭(zhēng)力有很大的影響。因此注重嵌入式系統(tǒng)的硬件和軟件的高效設(shè)計(jì),量體裁衣、去除冗余,在滿足應(yīng)用需求的前提下有效地降低單個(gè)產(chǎn)品的制造成本,也成為嵌入式系統(tǒng)所追求的重點(diǎn)?要目標(biāo)之一。隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,像桌面計(jì)算機(jī)、筆記本電腦以及智能手機(jī)這樣的通用計(jì)算機(jī)系統(tǒng)的更新?lián)Q代速度大大加快,更新周期通常為18個(gè)月左右。然而嵌入式系對(duì)較長(zhǎng)的使用時(shí)間,其升級(jí)換代往往是和宿主對(duì)象系統(tǒng)同步進(jìn)行的。因此,相較于通用計(jì)算機(jī)系統(tǒng)而言,嵌入式系統(tǒng)產(chǎn)品一旦進(jìn)入市場(chǎng)后,不會(huì)像通用計(jì)算機(jī)系統(tǒng)那樣頻代表傳統(tǒng)計(jì)算機(jī)行業(yè)的Wintel(Windows-Intel)聯(lián)盟統(tǒng)治桌面計(jì)算機(jī)市場(chǎng)長(zhǎng)達(dá)30多年,形成了事實(shí)上的市場(chǎng)壟斷。而嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體電子技術(shù)和網(wǎng)絡(luò)通信技術(shù)與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,其擁有更為廣闊和多樣化的應(yīng)用市場(chǎng),行業(yè)細(xì)分市場(chǎng)極其寬泛,這一點(diǎn)就決定了嵌入式系統(tǒng)必然是一個(gè)技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識(shí)集成系嵌入式系統(tǒng)是一個(gè)在功能、可靠性、成本、體積和功耗等方面有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng),那么無一例外,具有一般計(jì)算機(jī)組成結(jié)構(gòu)的共性。從總體上看,嵌入式系統(tǒng)的核心部分由嵌入式硬件和嵌入式軟件組成,而從層次結(jié)構(gòu)上看,嵌入式系統(tǒng)可劃分為硬件層、驅(qū)動(dòng)層、操作系統(tǒng)層以及應(yīng)用層四個(gè)層次,如圖1-1所示。 埂件驅(qū)動(dòng)驅(qū)動(dòng)層圖1-1嵌入式系統(tǒng)的組成結(jié)構(gòu)作為管理計(jì)算機(jī)硬件與軟件資源的程序,操作系統(tǒng)(OperatingSystem,OS)在現(xiàn)代計(jì)算機(jī)體系結(jié)構(gòu)中占有重要的地位。目前,廣泛使用的操作系統(tǒng)有3類,即批處理操作系統(tǒng)、分時(shí)操作系統(tǒng)及實(shí)時(shí)操作系統(tǒng)。批處理操作系統(tǒng)不具有用戶交互性,用戶將作業(yè)提交給操作系統(tǒng)執(zhí)行后就不再干預(yù),多用于早期的大中型計(jì)算機(jī)系統(tǒng),例如IBM公司的DOS/VSE系統(tǒng)。實(shí)時(shí)操作系統(tǒng)是對(duì)事件進(jìn)行實(shí)時(shí)的處理,雖然事件可能在無法預(yù)知的時(shí)刻到達(dá),但是軟件在事件發(fā)生時(shí)必須能夠在嚴(yán)格的時(shí)限內(nèi)作出響應(yīng)(系統(tǒng)響應(yīng)時(shí)間),即使是在尖峰負(fù)荷下,也應(yīng)如此。若不滿足時(shí)限,則可能造成災(zāi)難性的后果,尤其在航天、軍事、工業(yè)控制等系統(tǒng)響應(yīng)時(shí)間要求較為嚴(yán)格的領(lǐng)域同時(shí),實(shí)時(shí)操作系統(tǒng)的重要特點(diǎn)是具有系統(tǒng)的可確定性,即系統(tǒng)能對(duì)運(yùn)行情況的最好和最壞運(yùn)行時(shí)間做出精確估計(jì)。因此,實(shí)時(shí)操作系統(tǒng)在現(xiàn)代工業(yè)、軍事、能源、自動(dòng)化、通信等方面有著重要的應(yīng)用。實(shí)時(shí)操作系統(tǒng)是一種既能提供有效機(jī)制和服務(wù)來保證系統(tǒng)的實(shí)時(shí)性調(diào)度和資源管理,也能保證時(shí)間和資源的可預(yù)測(cè)性以及可計(jì)算性的操作系實(shí)時(shí)操作系統(tǒng)具有實(shí)時(shí)性、可靠性、可確定性和容錯(cuò)實(shí)時(shí)操作系統(tǒng)保證系統(tǒng)能夠在預(yù)定或規(guī)定的時(shí)間內(nèi)完成對(duì)外部事件的響應(yīng)和處理。每個(gè)實(shí)時(shí)任務(wù)具有時(shí)間約束,所有實(shí)時(shí)任務(wù)必須要保證在任何情況下,都能按照實(shí)時(shí)任務(wù)調(diào)度算法滿足其時(shí)間約束。實(shí)時(shí)性是實(shí)時(shí)操作系統(tǒng)最基本的特征。為了保證系統(tǒng)的實(shí)時(shí)性,系統(tǒng)通常既需要依賴于硬件提供精確的時(shí)鐘精度,也需要系統(tǒng)本身具有高精度計(jì)時(shí)系統(tǒng),以確定實(shí)時(shí)應(yīng)用中某個(gè)任務(wù)或者函數(shù)執(zhí)行的時(shí)間。實(shí)時(shí)系統(tǒng)執(zhí)行中產(chǎn)生的故障可能會(huì)導(dǎo)致人身、財(cái)產(chǎn)等重大損失。實(shí)時(shí)操作系統(tǒng)需要保證系統(tǒng)能夠正確、實(shí)時(shí)地執(zhí)行,并且將產(chǎn)生故障的概率降到可以控制范圍之內(nèi)。同時(shí),通過特定的機(jī)制使得系統(tǒng)在故障產(chǎn)生時(shí)仍然能夠有效地執(zhí)行部分關(guān)鍵性任務(wù),最大限度地降低由于不可抗拒故障因素給系統(tǒng)帶來的不良影實(shí)時(shí)操作系統(tǒng)的任務(wù)可確定性是指實(shí)時(shí)操作系統(tǒng)的任務(wù)必須按照預(yù)定時(shí)間或者時(shí)間間隔進(jìn)行任務(wù)的調(diào)度和執(zhí)行。當(dāng)多個(gè)任務(wù)競(jìng)爭(zhēng)使用處理器和資源時(shí),實(shí)時(shí)操作系統(tǒng)可以采取中斷機(jī)制或者調(diào)度算法來保證任務(wù)的正確執(zhí)行。系統(tǒng)實(shí)時(shí)性的保證依賴于系統(tǒng)能夠準(zhǔn)確地對(duì)任務(wù)的執(zhí)行時(shí)間進(jìn)行判斷,包括硬件延遲的確定性和應(yīng)用程序響應(yīng)時(shí)間的確定性,保證應(yīng)用程序執(zhí)行時(shí)間是有界的,從而保證實(shí)時(shí)任務(wù)的執(zhí)行能夠滿足時(shí)間約束。礎(chǔ)。實(shí)時(shí)操作系對(duì)于系統(tǒng)在執(zhí)行過程中產(chǎn)生的錯(cuò)誤或者故障,實(shí)時(shí)操作系統(tǒng)能夠通過有效的算法等機(jī)制來預(yù)估其帶來的影響,并且最小化其帶來的影響,保證系統(tǒng)在最壞的情況下對(duì)于部分關(guān)鍵性任務(wù)仍然能正確執(zhí)行。容錯(cuò)性是相對(duì)于可靠性而言的,可靠性著重于在系統(tǒng)錯(cuò)誤發(fā)生之前,通過優(yōu)化調(diào)度算法等機(jī)制來盡力消除所有潛在的故障。而容錯(cuò)性則強(qiáng)調(diào)即使發(fā)生了故障,也要保障系統(tǒng)能夠正常工作。盡管系統(tǒng)在設(shè)計(jì)時(shí)通過了嚴(yán)格的測(cè)試和驗(yàn)證,但是在運(yùn)行中產(chǎn)生的軟件和硬件錯(cuò)誤還是不可避免的,所以實(shí)時(shí)操作系統(tǒng)的容錯(cuò)性更加至關(guān)重要。及Rhealstone等。Rhealstone基準(zhǔn)是目前作為工業(yè)準(zhǔn)之一。通過對(duì)實(shí)時(shí)操作系統(tǒng)的6個(gè)時(shí)間量進(jìn)行計(jì)算,將其數(shù)值越小,證明該系統(tǒng)實(shí)時(shí)性越好。這6個(gè)時(shí)間量為:(1)任務(wù)切換時(shí)間(上下文切換時(shí)間,contextswitchtime):系統(tǒng)在兩個(gè)獨(dú)立的任務(wù)之間切換所需要的時(shí)間。(2)搶占時(shí)間(preemptiontime):系統(tǒng)從正在執(zhí)行的低優(yōu)先級(jí)任務(wù)轉(zhuǎn)移到開始(3)中斷延遲時(shí)間(interruptlatencytime):從接收到中斷信號(hào)到操作系統(tǒng)做出(4)信號(hào)量混洗時(shí)間(semaphoreshuffling理,在一個(gè)任務(wù)執(zhí)行完成后釋放信號(hào)量到另一個(gè)等待該信號(hào)量的任務(wù)被激活所需(5)死鎖解除時(shí)間(deadlockbreakingti(6)數(shù)據(jù)包吞吐時(shí)間(datagramthrouShput1.3.4實(shí)時(shí)操作系統(tǒng)的分類任務(wù)若沒有在截止時(shí)間完成,實(shí)時(shí)操作系統(tǒng)根據(jù)所造成后果的嚴(yán)重程度分為硬實(shí)硬實(shí)時(shí)操作系統(tǒng)具有剛性的時(shí)限,要求所有的任務(wù)必須在任何條件下(即使在最壞的各種處理負(fù)載下)都能在規(guī)定的時(shí)間內(nèi)完成,任何任務(wù)超過其截止時(shí)間都會(huì)造成系統(tǒng)整體的失敗。任務(wù)超過截止時(shí)間會(huì)導(dǎo)致災(zāi)難性的后果,系統(tǒng)的收益為負(fù)無窮。例如,導(dǎo)彈控制系統(tǒng)、自動(dòng)駕駛系統(tǒng)等的操作系統(tǒng)都屬于硬實(shí)時(shí)操作系統(tǒng)。的時(shí)限,任務(wù)超過其截止時(shí)間所造成的后果沒有那么嚴(yán)重,可能僅僅降低了系統(tǒng)的吞吐量而已。任務(wù)超過截止時(shí)間不會(huì)導(dǎo)致嚴(yán)重的后果1.3.5POSIX標(biāo)準(zhǔn)作為一個(gè)標(biāo)準(zhǔn)的軟件接口,POSIX的主要目的是在跨越UNIX各種變型操作系統(tǒng)之間,完善應(yīng)用程序的互操作性和可移植性。理論上,只要兩個(gè)操作系統(tǒng)都支持POSIX,如果寫的程序和編譯的程序能夠在一個(gè)操作系統(tǒng)上執(zhí)行,那么該程序也可以在不改變?cè)创a的情況下通過編譯在另一個(gè)操作系統(tǒng)上執(zhí)行。POSIX標(biāo)準(zhǔn)定義了操作系統(tǒng)為應(yīng)用程序提供的標(biāo)準(zhǔn)接口,以及與操作系統(tǒng)各個(gè)方面相關(guān)的內(nèi)容和協(xié)議。目前該標(biāo)準(zhǔn)已經(jīng)成為實(shí)時(shí)操作系統(tǒng)的主要標(biāo)準(zhǔn)之一。雖然P早期為在UNIX環(huán)境下應(yīng)用程序的可移植性而開發(fā),但后來發(fā)展起來后,也適用于包括UNIX在內(nèi)的其他操作系統(tǒng)。POSIX標(biāo)準(zhǔn)設(shè)計(jì)的目的是為了保證一個(gè)支持POSIX兼容操作系統(tǒng)的程序可以應(yīng)用在任何一個(gè)(即使來自于其他廠商開發(fā))POSIX操作系統(tǒng)上,無須修改便可以編譯執(zhí)1.3.6實(shí)時(shí)操作系統(tǒng)的典型應(yīng)用實(shí)時(shí)操作系統(tǒng)主要應(yīng)用在需要實(shí)時(shí)處理大數(shù)據(jù)量或者大運(yùn)算量的并行系統(tǒng)航空航天領(lǐng)域采用硬實(shí)時(shí)系統(tǒng)來確保時(shí)間。例如,美國(guó)“好奇號(hào)”火星探測(cè)車就是采用VxWroks硬實(shí)時(shí)操作系統(tǒng).對(duì)于工業(yè)制造領(lǐng)域,涉及人身安全或者執(zhí)行重要任務(wù)時(shí)通常采用硬實(shí)時(shí)系統(tǒng),例如,飛機(jī)控制系統(tǒng)以及汽車安全氣囊系統(tǒng)等。軍事領(lǐng)域中也通常采用性能穩(wěn)定的實(shí)時(shí)系統(tǒng),例如,美國(guó)的FA-18、F-16戰(zhàn)斗機(jī)以通信或者電子產(chǎn)品領(lǐng)域,例如,IPTV電視機(jī)頂盒通常采用軟實(shí)時(shí)操作系統(tǒng)對(duì)視頻進(jìn)行實(shí)時(shí)解碼。嵌入式系統(tǒng)的軟件一般固化于嵌入式存儲(chǔ)器中,是嵌入式系統(tǒng)的控制核心,控制著嵌入式系統(tǒng)的運(yùn)行,實(shí)現(xiàn)嵌入式系統(tǒng)的功能。由此可見,嵌入式軟件在很大程度上決定整個(gè)嵌入式系統(tǒng)的價(jià)值。從軟件結(jié)構(gòu)上劃分,嵌入式系統(tǒng)的軟件分為無操作系統(tǒng)和帶操作系統(tǒng)兩對(duì)于通用計(jì)算機(jī),操作系統(tǒng)是整個(gè)軟件的核心,不可或缺;然而,對(duì)于嵌入式系統(tǒng),由于其專用性,在某些情況下無需操作系統(tǒng)。尤其在嵌入式系統(tǒng)發(fā)展的初期,由于較低的硬件配置、單一的功能需求以及有限的應(yīng)用領(lǐng)域(主要集中在工業(yè)控制和國(guó)防軍事領(lǐng)域),嵌入式軟件的規(guī)模通常較小,沒有專門的操作系統(tǒng)。在組成結(jié)構(gòu)上,無操作系統(tǒng)的嵌入式軟件僅由引導(dǎo)程序和應(yīng)用程序兩部分組成,如圖1-2所示。引導(dǎo)程序一般由匯編語(yǔ)言編寫,在嵌入式系統(tǒng)上電后運(yùn)行,完成自檢、言編寫,直接架構(gòu)在硬件之上,在引導(dǎo)程序之后運(yùn)行,負(fù)責(zé)實(shí)現(xiàn)嵌入式系統(tǒng)的主要功能。引導(dǎo)程序引導(dǎo)程序應(yīng)用程序圖1-2無操作系統(tǒng)嵌入式軟件結(jié)構(gòu)1.4.2帶操作系統(tǒng)的嵌入式軟件帶操作系統(tǒng)的嵌入式軟件的體系結(jié)構(gòu)如圖1-3所示,自下而上包括設(shè)備驅(qū)動(dòng)層、操作系統(tǒng)層和應(yīng)用軟件層等。應(yīng)用軟件層應(yīng)用程序操作系統(tǒng)層操作系統(tǒng)內(nèi)核網(wǎng)絡(luò)協(xié)議文件系統(tǒng)圖形用戶接口無操作系統(tǒng)的嵌入式軟件包層?設(shè)備驅(qū)動(dòng)層引導(dǎo)加載程序設(shè)備驅(qū)動(dòng)程序圖1-3帶操作系統(tǒng)的嵌入式軟件的體系結(jié)構(gòu)1.4.3嵌入式操作系統(tǒng)的分類按照嵌入式操作系統(tǒng)對(duì)任務(wù)響應(yīng)的實(shí)時(shí)性來分類,嵌入式操作系統(tǒng)可以分為嵌入式非實(shí)時(shí)操作系統(tǒng)和嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)。這兩類操作系統(tǒng)的主要區(qū)別在于任務(wù)調(diào)度處理方式不同。嵌入式非實(shí)時(shí)操作系統(tǒng)主要面向消費(fèi)類產(chǎn)品應(yīng)用領(lǐng)域。大部分嵌入式非實(shí)時(shí)操作系統(tǒng)都支持多用戶和多進(jìn)程,負(fù)責(zé)管理眾多的進(jìn)程并為它們分配系統(tǒng)資源,屬于不可搶占式操作系統(tǒng)。典型的非實(shí)時(shí)操作系統(tǒng)有Linux、iOS等嵌入式實(shí)時(shí)操作系統(tǒng)主要面向控制、通信等領(lǐng)域。實(shí)時(shí)操作系統(tǒng)除了要滿足應(yīng)用的功能需求,還要滿足應(yīng)用提出的實(shí)時(shí)性要求,屬于搶占式操作系統(tǒng)。嵌入式實(shí)時(shí)操作系統(tǒng)能及時(shí)響應(yīng)外部事件的請(qǐng)求,并以足夠快的速度予以處理,其處理結(jié)果能在規(guī)定的時(shí)間內(nèi)控制、監(jiān)控生產(chǎn)過程或?qū)μ幚硐到y(tǒng)做出快速響應(yīng),并控典型的嵌入式實(shí)時(shí)操作系統(tǒng)有VxWork、μCOS-III、QNX、FreeRTOS、eCOS、RTX及RT-Thread等,嵌入式實(shí)時(shí)操作系統(tǒng)滿足了實(shí)時(shí)控制和實(shí)時(shí)信息處理領(lǐng)域的需要,在嵌入式領(lǐng)域時(shí)操作系統(tǒng)需要完成以下管理功能。任務(wù)管理是嵌入式實(shí)時(shí)操作系統(tǒng)的核心和靈魂,決定了操作系統(tǒng)的實(shí)時(shí)性能。任務(wù)管理通常包含優(yōu)先級(jí)設(shè)置、多任務(wù)調(diào)度機(jī)制和時(shí)間確定性等部分。嵌入式實(shí)時(shí)操作系統(tǒng)支持多個(gè)任務(wù),每個(gè)任務(wù)都具有優(yōu)先級(jí),任務(wù)越重要,被賦實(shí)時(shí)操作系統(tǒng)的功能一般要通過若干任務(wù)和中斷服務(wù)程序共同完成。任務(wù)與任務(wù)之間、任務(wù)與中斷間任務(wù)及中斷服務(wù)程序之間必須協(xié)調(diào)動(dòng)作、互相配合,這就涉及任務(wù)間的同步與通信問題。嵌入式實(shí)時(shí)操作系統(tǒng)通常是通過信號(hào)量、互斥信號(hào)量、事件標(biāo)志和異步信號(hào)來實(shí)現(xiàn)同步的,是通過消息郵箱、消息隊(duì)列、管道和共享內(nèi)存來提供通信服務(wù)的。1.4.5典型嵌入式操作系統(tǒng)隨著嵌入式技術(shù)的快速發(fā)展,國(guó)內(nèi)外先后問世了150多種嵌入式操作系統(tǒng),較為常見的國(guó)外嵌入式操作系統(tǒng)有μC/OS、FreeRTOS、EmbeddedLinux、VxWorks、QNX、HarmonyOS、阿里AliOSThings、翼輝SylixOS、賽容德RT-Thread等。LiteOS是華為技術(shù)有限公司(簡(jiǎn)稱華為)于2015年5月發(fā)布的輕量級(jí)開源物聯(lián)網(wǎng)內(nèi)存管理、時(shí)間管理、通信機(jī)制、中斷管理、隊(duì)列管理、事件管理、定時(shí)器、異常管理等操作系統(tǒng)的基礎(chǔ)組件。組件均可以單獨(dú)運(yùn)行。另外還提供了軟件開發(fā)工具包LiteOSSDK。目前LiteOS支持ARMCortex-M0/M3/M4/M7等芯片架構(gòu),適配了包括ST、LiteOS的特點(diǎn)主要包括:1)高實(shí)時(shí)性、高穩(wěn)定性。2)超小內(nèi)核,基礎(chǔ)內(nèi)核體積可以裁剪至不到10KB。3)低功耗,最低功耗可在μW級(jí)。5)支持功能靜態(tài)裁剪。6)開發(fā)門檻低,設(shè)備布置以及維護(hù)成本低,開發(fā)周期短,可廣泛應(yīng)用于智能家居、個(gè)人穿戴、車聯(lián)網(wǎng)、城市公共服務(wù)、制造業(yè)等領(lǐng)2.華為HarmonyOS(HongmengOS,鴻蒙OS)HarmonyOS是華為推出的基于微內(nèi)核的全場(chǎng)景分布式嵌入式操作系統(tǒng),2017年推出鴻蒙內(nèi)核1.0版本,2020年9月迭代到2.0版本。HarmonyOS采用了微內(nèi)核設(shè)計(jì),通過簡(jiǎn)化內(nèi)核功能,使內(nèi)核只提供多進(jìn)程調(diào)度和多進(jìn)程通信等最基礎(chǔ)的服務(wù),而讓內(nèi)核之外的用戶態(tài)盡可能多地實(shí)現(xiàn)系統(tǒng)服務(wù),同時(shí)添加了相互之間的安全保護(hù),擁有更強(qiáng)的安全特性和更低的時(shí)延。AliOSThings是阿里巴巴集團(tuán)控股有限公司(簡(jiǎn)稱阿里巴巴)面向物聯(lián)網(wǎng)領(lǐng)域推出的輕量級(jí)開源物聯(lián)網(wǎng)嵌入式操作系統(tǒng),2017年11月發(fā)布1.1.0版本,2020年4月迭代棧、中間件、AOSAPI以及應(yīng)用示例等組件Cortex-M0+/M3/M4/M7/A7/A53/A72、RISC-V、C-SKY、MIPS-1和Renesas等。4.翼輝SylixOSSylixOs是由北京翼輝信息技術(shù)有限公司推出的開源嵌入式實(shí)時(shí)操作系統(tǒng)。從2006年開始研發(fā),經(jīng)過多年的持續(xù)開發(fā)與改進(jìn),已成為一個(gè)功能全面、穩(wěn)定可靠、易于開發(fā)的大型嵌入式實(shí)時(shí)操作系統(tǒng)平臺(tái)。翼輝SylixOS采用小而巧的硬實(shí)時(shí)內(nèi)核,支持256個(gè)優(yōu)先級(jí)搶占式調(diào)度和優(yōu)先級(jí)繼承,支持虛擬進(jìn)程和無限多任務(wù)數(shù),調(diào)度算法先進(jìn)、5.睿賽德RT-ThreadRT-Thread的全稱是RealTime-Thread,是由上海睿賽德電子科技有限公司推出的RT-Thread主要由內(nèi)核層、組件與服務(wù)層、軟件包三個(gè)部分組成。的硬實(shí)時(shí)內(nèi)核。它屬于一個(gè)完整、可移植、可固化、可裁減的搶占式多任務(wù)內(nèi)核,包含了任務(wù)調(diào)度、任務(wù)管理、時(shí)間管理、內(nèi)存管理和任務(wù)μC/OS-l嵌入式系統(tǒng)可用于各類8位單片機(jī)、16位和32位微控制器和數(shù)字信號(hào)處理器。操作系統(tǒng)(RTOS),1999年改寫后命名為μC/OS-Il,并在2000年被美國(guó)航空管理證。μC/OS-I系統(tǒng)具有足夠的安全性和穩(wěn)定性,可以運(yùn)行在諸如航天器等對(duì)安全要求(1)開源性。(3)可固化,(4)可裁前,(5)搶占式。(6)多任務(wù)。(8)任務(wù)棧。(10)中斷管理,支持嵌套。(1)汽車電子方面:發(fā)動(dòng)機(jī)控制、防抱死系統(tǒng)(ABS)、全球定位系統(tǒng)(GPS)等;(2)辦公用品:傳真機(jī)、打印機(jī)、復(fù)印機(jī)、掃描儀等;(3)通信電子:交換機(jī)、路由器、調(diào)制解調(diào)器、智能手機(jī)等;(4)過程控制:食品加工、機(jī)械制造等;(5)航空航天:飛機(jī)控制系統(tǒng)、噴氣式發(fā)動(dòng)機(jī)控制等;(6)消費(fèi)電子:MP3/MP4/MP5播放器、機(jī)頂盒、洗衣機(jī)、電冰箱、電視機(jī)等Linux誕生于1991年10月5日(這是第一次正式向外公布時(shí)間),是一套開源、免費(fèi)使用和自由傳播的類UNIX的操作系統(tǒng)。嵌入式Linux具有以下特點(diǎn)。(1)嵌入式Linux是完全開源的,因此它廣泛應(yīng)用于高校教學(xué)。研究嵌入式Linux代碼的專家、學(xué)者遠(yuǎn)比其他操作系統(tǒng)多,而且Internet上的資源豐富,還有大量的圖書、資料,使得學(xué)習(xí)Linux系統(tǒng)的代價(jià)最(2)嵌入式Linux是免費(fèi)的,不涉及任何版權(quán)和專利。這一點(diǎn)被商界所看重,因此,大部分嵌入式產(chǎn)品在初期都使用過嵌入式Linux版本。嵌入式Linux被很多團(tuán)體和組織二次開發(fā)后,形成具有獨(dú)立知識(shí)產(chǎn)權(quán)的嵌入式操作系統(tǒng),所以,嵌入式Linux變種系統(tǒng)非常多,如WindRiverLinux和μCLinux等。(3)嵌入式Linux與QT相結(jié)合,使嵌入式Linux具有良好的圖形人機(jī)界面,甚至可以和WindowsCE相媲美,而且QT目前也是開源的。(4)嵌入式Linux的移植能力強(qiáng),其變種形式幾乎可應(yīng)用于所有主流嵌入式系統(tǒng)中。嵌入式Linux對(duì)外設(shè)的驅(qū)動(dòng)能力很強(qiáng),驅(qū)動(dòng)接口程序設(shè)計(jì)相對(duì)容易,網(wǎng)絡(luò)上有大量?jī)?nèi)核,具有200多萬行源代碼,可支持32個(gè)CPU,實(shí)時(shí)性顯著提高(但嚴(yán)格意義上不是實(shí)時(shí)操作系統(tǒng)),采用了更有效的任務(wù)調(diào)度器,增加了對(duì)多種嵌入式處理器的支持,VxWorks是美國(guó)WindRiver公司于1983年設(shè)計(jì)研發(fā)的一種嵌入式實(shí)時(shí)操作系統(tǒng)有良好的持續(xù)發(fā)展能力、可裁剪微內(nèi)核結(jié)構(gòu)、高效的任務(wù)管理、靈活的任務(wù)間通信微秒級(jí)的中斷處理友好的開發(fā)環(huán)境等優(yōu)點(diǎn)。由于其良好的可靠性和卓越的實(shí)時(shí)VxWorks被廣泛地應(yīng)用在通信軍事、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域,如衛(wèi)星通信、軍事演習(xí)、彈道制導(dǎo)飛機(jī)導(dǎo)航等。VxWorks不提供源代碼,只提供二進(jìn)制代碼和應(yīng)用接口。VxWorks具有以下特點(diǎn)。(1)可靠性極高。(3)可裁剪性好。(4)開發(fā)環(huán)境友好。Android系統(tǒng)基于Linux系統(tǒng),是Google在2005年并購(gòu)Danger公司后發(fā)展他們Android計(jì)劃的成果(當(dāng)時(shí)由于iPhone取得了巨大成功,該計(jì)劃實(shí)質(zhì)上制定了與iOS競(jìng)爭(zhēng)的策略)。AndyRubin是這個(gè)計(jì)劃的負(fù)責(zé)人,主要針對(duì)智能手持設(shè)備。Android的運(yùn)行庫(kù)文件只有250KB,最基本內(nèi)存配置為32MB內(nèi)存、32MB閃存和200MHz處理開發(fā)Android系統(tǒng)應(yīng)用程序與開發(fā)WindowsCE應(yīng)用程序類似,可基于SDK包和Eclipse集成開發(fā)環(huán)境,或基于AndroidStudio集成開發(fā)環(huán)境實(shí)現(xiàn),就目前來說,相對(duì)于WindowsCE和iOS,Android系統(tǒng)Android逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上,如電視、數(shù)碼相機(jī)、游戲機(jī)表等。WindowsEmbeddedCompact(即WindowsCE)是微軟公司嵌入式、移臺(tái)的基礎(chǔ),它是一個(gè)可搶先式、多任務(wù)、多線程并具有強(qiáng)大通信能力的32位嵌入式操作系統(tǒng),是微軟公司為移動(dòng)應(yīng)用、信息設(shè)備、消費(fèi)電子和各種嵌人式應(yīng)用而設(shè)計(jì)的實(shí)時(shí)系統(tǒng),目標(biāo)是實(shí)現(xiàn)移動(dòng)辦公、便攜娛樂和智能通信。WindowsCE是模塊化的操作系統(tǒng),主要包括4個(gè)模塊,即內(nèi)核(Kernel)系統(tǒng)、圖形窗口事件子系統(tǒng)(GWES)和通信模塊。相對(duì)于其他嵌入式實(shí)時(shí)操作系統(tǒng)而言,WindowsCE具有以下優(yōu)點(diǎn)。(1)具有美觀的圖形用戶界面,而且該界面與桌面Windows系統(tǒng)一脈相承,使得操作直觀簡(jiǎn)單。(2)開發(fā)基于WindowsCE的應(yīng)用程序相對(duì)簡(jiǎn)單,因?yàn)閃indowsCE的API函數(shù)集是桌面Windows系統(tǒng)API函數(shù)的子集,熟悉桌面Windows程序設(shè)計(jì)的程序員可以很快地掌握WindowsCE應(yīng)用程序的設(shè)計(jì)方法,所以,WindowsCE應(yīng)用程序的開發(fā)成本較(3)WindowsCE的文件管理功能非常強(qiáng)大,支持桌面Windows系統(tǒng)下的FAT、FAT32等。(4)WindowsCE的可移植性較好。(5)WindowsCE下的設(shè)備驅(qū)動(dòng)程序開發(fā)相對(duì)容(6)WindowsCE的電源管理功能較好,主要體現(xiàn)在WindowsPhone上。(7)WindowsCE的進(jìn)程管理和中斷處理機(jī)制較(8)WindowsCE支持桌面Windows系統(tǒng)的眾多文件格式,例如Word和Excel等,這種兼容性方便桌面Windows用戶在WindowsCE設(shè)備上處理文檔和數(shù)據(jù)。1.4.6軟件架構(gòu)選擇建議1.5.1按應(yīng)用對(duì)象的分類1.5.2按功能和性能的分類實(shí)時(shí)嵌入式系統(tǒng)是指在一定的時(shí)間約束(截止時(shí)間)條件下完成任務(wù)執(zhí)行過程的網(wǎng)絡(luò)嵌入式系統(tǒng)是指連接著局域網(wǎng)、廣域網(wǎng)或互聯(lián)網(wǎng)1.5.3按結(jié)構(gòu)復(fù)雜度的分類小型嵌入式系統(tǒng)通常是指以8位或16位處理器為核心設(shè)計(jì)的嵌入式系中型族入式系統(tǒng)通常是指以16位、32位處理器或數(shù)字信號(hào)處理器為核心設(shè)計(jì)的行更為復(fù)雜的功能,需要采用性能更高的32位或64位處理器、專用集成電路(ASIC)學(xué)習(xí)成果交流討論,項(xiàng)目實(shí)踐,學(xué)生基本掌握“Arm嵌入式系統(tǒng)“教學(xué)內(nèi)容,達(dá)到知識(shí)、能力目標(biāo),為課程進(jìn)一步學(xué)習(xí)打下良好基礎(chǔ)。教學(xué)日志流,學(xué)生知識(shí)點(diǎn)掌握情況較好,課堂氣氛融洽活躍,取日期第1周,第2次課/2023年X月X日內(nèi)容名稱1.8嵌入式系統(tǒng)的設(shè)計(jì)方法1.8.1嵌入式系統(tǒng)的總體結(jié)構(gòu)1.8.2嵌入式系統(tǒng)設(shè)計(jì)流程1.8.3嵌入式系統(tǒng)的軟/硬件協(xié)同設(shè)計(jì)技術(shù)1.9嵌入式系統(tǒng)的發(fā)展1.9.1嵌入式系統(tǒng)的發(fā)展歷程1.9.2嵌入式系統(tǒng)的發(fā)展趨勢(shì)第2章嵌入式微處理器(2學(xué)時(shí))2.1Arm嵌入式微處理器簡(jiǎn)介2.1.1Arm處理器的特點(diǎn)2.1.2Arm體系結(jié)構(gòu)的版本和系列2.1.3Arm處理器系列2.1.4Arm的RISC結(jié)構(gòu)特性2.1.5ArmCortex-M處理器2.2嵌入式微處理器分類和特點(diǎn)2.2.1嵌入式微處理器2.2.2嵌入式微控制器2.2.4嵌入式SoC教學(xué)目標(biāo)嵌入式系統(tǒng)的體系嵌入式系統(tǒng)的設(shè)計(jì)方法嵌入式系統(tǒng)的發(fā)展嵌入式微處理器分類和特點(diǎn)教學(xué)講授、演示和討論教學(xué)2教學(xué)內(nèi)容(含時(shí)間分配)教學(xué)應(yīng)用程序1文件系梳擺形結(jié)梅應(yīng)用程序接口)應(yīng)用層硬件抽象層(HAL)OS層軟件層嵌入式操作系統(tǒng)OS層 內(nèi)存 能入式處理器 L接山路硬件層電源人機(jī)接口復(fù)位:圖1-4典型嵌入式系統(tǒng)的組成結(jié)構(gòu)1.7.1硬件架構(gòu)電源及復(fù)位等必要的輔助接口組成。嵌入式系統(tǒng)是量身定做的專用計(jì)算機(jī)應(yīng)用系統(tǒng)、1.7.2軟件層次嵌入式系統(tǒng)軟件結(jié)構(gòu)一般包含3個(gè)層面:設(shè)備驅(qū)動(dòng)層、OS層、應(yīng)用層(包括硬件抽象層、應(yīng)用程序)。由于嵌入式系統(tǒng)應(yīng)用的多樣性,需要根裝不同的硬件電路和嵌入式系統(tǒng)應(yīng)用特點(diǎn),對(duì)軟件部分進(jìn)行裁剪?,F(xiàn)代高性能嵌入式系統(tǒng)的應(yīng)用越來越廣上層程序可以不管設(shè)備內(nèi)部實(shí)現(xiàn)細(xì)節(jié),只需調(diào)用設(shè)備驅(qū)動(dòng)的操作接口即1)板級(jí)支持包板級(jí)支持包(BoardSupportPackage,BSP)介于主板硬件和嵌入式操作系統(tǒng)中驅(qū)動(dòng)程序之間的一層。BSP是所有與硬件相關(guān)的代碼體的集合,為嵌入式操作系統(tǒng)的正常運(yùn)行提供了最基本、最原始的硬件操作的軟件模塊,BSP和嵌入式操作系統(tǒng)息息相關(guān),為上層的驅(qū)動(dòng)程序提供了訪問硬件的寄存器的函數(shù)包,使之能夠更好地運(yùn)行于主BSP可以分為以下三大功能。(1)系統(tǒng)上電時(shí)的硬件初始化。例如,對(duì)系統(tǒng)內(nèi)存、寄存器及設(shè)備的中斷進(jìn)行設(shè)置。這是比較系統(tǒng)化的工作,硬件上電初始化要根據(jù)嵌入式開發(fā)所選的CPU類型、硬件及嵌入式操作系統(tǒng)的初始化等多方面決定BSP應(yīng)實(shí)現(xiàn)什么功能。(2)為嵌入式操作系統(tǒng)訪問硬件驅(qū)動(dòng)程序提供支持。驅(qū)動(dòng)程序經(jīng)常需要訪問硬件的寄存器,如果整個(gè)系統(tǒng)為統(tǒng)一編址,那么開發(fā)人員可直接在驅(qū)動(dòng)程序中用C語(yǔ)言的函數(shù)訪問硬件的寄存器。但是,如果系統(tǒng)為單獨(dú)編址,那么C語(yǔ)言將不能直接訪問硬件的寄存器,只有匯編語(yǔ)言編寫的函數(shù)才能對(duì)硬件的寄存器進(jìn)行訪問。BSP就是為上層的驅(qū)動(dòng)程序提供訪問硬件的寄存器的函數(shù)(3)集成硬件相關(guān)和硬件無關(guān)的嵌入式操作系統(tǒng)所需的軟件模塊。BSP是相對(duì)于嵌入式操作系統(tǒng)而言的,不同的嵌入式操作系統(tǒng)對(duì)應(yīng)于不同定義形式的BSP。例如,VxWorks的BSP和Linux的BSP相對(duì)于某一CPU來說盡管實(shí)現(xiàn)的功能一樣,但是寫法和接口定義是完全不同的,所以寫B(tài)SP一定要按照該系統(tǒng)BSP的定義形式(BSP的編程過程大多數(shù)是在某一個(gè)成型的BSP模板上進(jìn)行修改的)。這樣才能與上層嵌入式操作系統(tǒng)保持正確的接口,良好的支持上層嵌入式操作系統(tǒng)。2)驅(qū)動(dòng)程序2.OS層嵌入式操作系統(tǒng)是一種支持嵌入式系統(tǒng)應(yīng)用的操作系統(tǒng)軟件,是嵌入式系統(tǒng)的重要組成部分。嵌入式操作系統(tǒng)通常包括與硬件相關(guān)的底層驅(qū)動(dòng)軟件、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動(dòng)接口、通信協(xié)議、圖形界面、標(biāo)準(zhǔn)化瀏覽器等。嵌入式操作系統(tǒng)具有通用操作系統(tǒng)的基本特點(diǎn)。例如,能有效管理越來越復(fù)雜的系統(tǒng)資源;能把硬件虛擬化,使得開發(fā)人員從繁忙的驅(qū)動(dòng)程序移植和維護(hù)中解脫出來;能提供庫(kù)函數(shù)、驅(qū)動(dòng)程序、工具集及應(yīng)用程序。與通用操作系統(tǒng)相比較,嵌入式操作系統(tǒng)在系統(tǒng)實(shí)時(shí)高效性、硬件的相關(guān)依賴性、軟件固態(tài)化及應(yīng)用的專用性等方面具有較為突出的特點(diǎn)。嵌入式操作系統(tǒng)具有通用操作系統(tǒng)的基本特點(diǎn),能夠有效管理復(fù)雜的系統(tǒng)資源,并且把硬件虛擬域的嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS),如VxWorks、PSOS、QNX、μCOS-II、RT-Thread、1)硬件抽象層硬件抽象層本質(zhì)上就是一組對(duì)硬件進(jìn)行操作的API,是對(duì)硬件功能抽象的結(jié)果。硬件抽象層通過API為嵌入式操作系統(tǒng)和應(yīng)用程序提供服務(wù)。但是,在Windows和Linux操作系統(tǒng)下,硬件抽象層的定義是不同的。2)應(yīng)用程序應(yīng)用程序是為完成某項(xiàng)或某幾項(xiàng)特定任務(wù)而被開發(fā)運(yùn)行于嵌入式操作系統(tǒng)之上的程序,如文件操作、圖形操作等。在嵌入式操作系統(tǒng)上編寫應(yīng)用程序一般需要一些應(yīng)接口,是軟件系統(tǒng)不同組部分銜接的約定。應(yīng)用程序接口的設(shè)計(jì)十分重要,良好的接口設(shè)計(jì)可以降低系統(tǒng)各部分的相互依賴性,提高組成單元的內(nèi)聚性,降低組成單元間的耦合程度,從而提高系統(tǒng)的維護(hù)性和擴(kuò)展根據(jù)嵌入式系統(tǒng)應(yīng)用需求,應(yīng)用程序通過調(diào)用嵌入式操作系統(tǒng)的API函數(shù)操作系多任務(wù)的,通過嵌入式操作系統(tǒng)管理工具(信號(hào)量、隊(duì)列等)實(shí)現(xiàn)任務(wù)間通信和管理,1.8.1嵌入式系統(tǒng)的總體結(jié)構(gòu)在不同的應(yīng)用場(chǎng)合,嵌入式系統(tǒng)呈現(xiàn)出的外觀和形式各不相同,但通過對(duì)其內(nèi)部組成。其中嵌入式微處理器系統(tǒng)是整個(gè)系統(tǒng)的核心,由硬件層、中間層、軟件層和功能層組成。被控對(duì)象可以是各種傳感器、電機(jī)、輸入輸出設(shè)備等,可以接收嵌入式微處理器系統(tǒng)發(fā)出的控制命令,執(zhí)行所規(guī)定的操作或任務(wù)。下面對(duì)嵌入式系統(tǒng)的主要組硬件層由嵌入式微處理器、外圍電路和外部設(shè)備組成。在一片嵌入式微處理器基礎(chǔ)上增加電源電路、復(fù)位電路、調(diào)試接口和存儲(chǔ)器電路,就構(gòu)成一個(gè)嵌入式核心控制模塊。其中操作系統(tǒng)和應(yīng)用程序都可以固化在ROM或者Flash中,為方便使用,有的模塊在此基礎(chǔ)上增加了LCD、鍵盤、USB接口,以及其他一些功能的擴(kuò)展電路和接口。嵌入式系統(tǒng)的硬件層是以嵌入式處理器為核心的,最初的嵌入式處理器都是為通用目的而設(shè)計(jì)的。后來隨著微電子技術(shù)的發(fā)展出現(xiàn)了ASIC(專用的集成電路),ASIC是硬件層與軟件層之間為中間層,也稱為BSP(板級(jí)支持包),將系統(tǒng)軟件與底層硬化、數(shù)據(jù)的輸入輸出操作和硬件設(shè)備的配置等功能。BSP是主板硬件環(huán)境和操作系統(tǒng)的中間接口,是軟件平臺(tái)中具有硬件依賴性的那一部分,主要目的是為了支持操作系純粹的BSP所包含的內(nèi)容一般說來是與系統(tǒng)有關(guān)的驅(qū)動(dòng)程序,如網(wǎng)絡(luò)驅(qū)動(dòng)程序和系統(tǒng)中的網(wǎng)絡(luò)協(xié)議,串口驅(qū)動(dòng)程序和系統(tǒng)的下載調(diào)試等。離開這些驅(qū)動(dòng)程序系統(tǒng)就不3.軟件層軟件層主要是操作系統(tǒng),有的還包括文件系統(tǒng)、圖形用戶接口和網(wǎng)絡(luò)系統(tǒng)等。操作系統(tǒng)是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺(tái),實(shí)際上是一段程序,系統(tǒng)復(fù)位后首先執(zhí)行,相當(dāng)于用戶的主程序,用戶的其他應(yīng)用程序都建立在操作系統(tǒng)之上。操作系統(tǒng)是一個(gè)標(biāo)準(zhǔn)的內(nèi)核,將中斷、IO、定時(shí)器等資源都封裝起來、以方使用戶使操作系統(tǒng)的引入大大提高了嵌入式系統(tǒng)的功能,方便了應(yīng)用軟件的設(shè)計(jì),但同時(shí)嵌入式操作系統(tǒng)。功能層由基于操作系統(tǒng)開發(fā)的應(yīng)用程序組成,用來完成對(duì)被控對(duì)象的控制功能面向被控對(duì)象和用戶的,為了方便用戶操作,往往需要具有友好的人機(jī)界面。1.8.2嵌入式系統(tǒng)設(shè)計(jì)流程析、體系結(jié)構(gòu)設(shè)計(jì)、硬件/軟件設(shè)計(jì)、系統(tǒng)集成和代碼固化,各個(gè)階段之間往往要求不斷地重復(fù)和修改直至最終完成設(shè)計(jì)目標(biāo)。嵌入式系統(tǒng)開發(fā)已經(jīng)逐步規(guī)范化,在遵循一般工程開發(fā)流程的基礎(chǔ)上,必須將硬件、軟件人力等各方面資源綜合起來。嵌入式系統(tǒng)發(fā)都是軟、硬件的結(jié)合體和協(xié)同開發(fā)過程,這是其最大的特點(diǎn)。嵌入式系統(tǒng)設(shè)計(jì)流程圖1-13所示。高求分析和產(chǎn)品定義高求分析和產(chǎn)品定義系統(tǒng)方案設(shè)計(jì)設(shè)計(jì)方案是否合理? 軟、硬件協(xié)同設(shè)計(jì)電路原理設(shè)計(jì)及元器件選擇軟件設(shè)計(jì)概要電路原理圖繪制PCB版圖繪制系統(tǒng)軟、硬件聯(lián)合調(diào)試系統(tǒng)性能和可靠性測(cè)試是否符合要求?N 開發(fā)環(huán)境選擇操作系統(tǒng)選擇處理器選擇和硬件接口定義系統(tǒng)功能劃分系統(tǒng)總體設(shè)計(jì)硬件測(cè)試程序程序編寫N圖1-13嵌入式系統(tǒng)設(shè)計(jì)流程圖嵌入式系統(tǒng)的特點(diǎn)決定了系統(tǒng)在開發(fā)初期的高求分析中就要搞清楚需要完成的任面。功能需求是系統(tǒng)的基本功能,如輸入輸出信號(hào)、操作方式等;非功能需求包括系根據(jù)系統(tǒng)的需求,確定設(shè)計(jì)任務(wù)和設(shè)計(jì)目標(biāo),并提煉出設(shè)計(jì)規(guī)格說明書,作為正2.體系結(jié)構(gòu)設(shè)計(jì)以及系統(tǒng)的數(shù)、硬件和操作系統(tǒng)的選型等?;隗w系結(jié)構(gòu)對(duì)系統(tǒng)的軟、硬件進(jìn)行詳細(xì)設(shè)計(jì)。為了縮短產(chǎn)品開發(fā)周期,設(shè)計(jì)往往是并行的。。把系統(tǒng)中的軟件、硬件集成在一起,進(jìn)行調(diào)試,發(fā)現(xiàn)并改進(jìn)單元設(shè)計(jì)過程中的錯(cuò)誤。1.8.3嵌入式系統(tǒng)的軟/硬件協(xié)同設(shè)計(jì)技術(shù)傳統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)方法,硬件和軟件分為兩個(gè)獨(dú)立的部分,由硬件工程師和軟件工程師按照擬定的設(shè)計(jì)流程分別完成。這種設(shè)計(jì)方法只能改善硬件/軟件各自的性能,而有限的設(shè)計(jì)空間不可能對(duì)系統(tǒng)做出較好的性能綜合優(yōu)化。從理論上來說,每一個(gè)應(yīng)用系統(tǒng),都存在一個(gè)適合該系統(tǒng)的硬件、軟件功能的最佳組合,如何從應(yīng)用系統(tǒng)需求出發(fā),依據(jù)一定的指導(dǎo)原則和分配算法對(duì)硬件/軟件功能進(jìn)行分析及合理的劃分,從而使系統(tǒng)的整體性能、運(yùn)行時(shí)間、能量耗損、存儲(chǔ)能量達(dá)到最佳狀態(tài),已成為軟/硬件協(xié)同設(shè)計(jì)的重要研究?jī)?nèi)容之一。系統(tǒng)協(xié)同設(shè)計(jì)與傳統(tǒng)設(shè)計(jì)相比有兩個(gè)顯著的區(qū)別:(1)描述硬件和軟件使用統(tǒng)一的表示形式;(2)軟/硬件劃分可以選擇多種方案,直到滿足要求。顯然,這種設(shè)計(jì)方法對(duì)于具體的應(yīng)用系統(tǒng)而言,容易獲得滿足綜合性能指標(biāo)的最佳解決方案。傳統(tǒng)方法雖然也可改進(jìn)軟/硬件性能,但由于這種改進(jìn)是各自獨(dú)立進(jìn)行的,不一定使系統(tǒng)綜合性能達(dá)到最佳。傳統(tǒng)的嵌入式系統(tǒng)開發(fā)采用的是軟件開發(fā)與硬件開發(fā)分離的方式,其過程可描述如下:(1)需求分析;(2)軟/硬件分別設(shè)計(jì)、開發(fā)、調(diào)試、測(cè)(3)系統(tǒng)集成;(4)集成測(cè)試;(5)若系統(tǒng)正確,則結(jié)束,否則繼續(xù)進(jìn)行;(6)若出現(xiàn)錯(cuò)誤,需要對(duì)軟/硬件分別驗(yàn)證和修改;返回(3),再繼續(xù)進(jìn)行集成測(cè)試。雖然在系統(tǒng)設(shè)計(jì)的初始階段考慮了軟/硬件的接口問題,但由于軟、硬件分別開發(fā),各自部分的修改和缺陷很容易導(dǎo)致系統(tǒng)集成出現(xiàn)錯(cuò)誤。由于設(shè)計(jì)方法的限制,這些錯(cuò)誤不但難以定位,而且更重要的是,對(duì)它們的修改往往會(huì)涉及整個(gè)軟件結(jié)構(gòu)或硬(1)需求分析;(2)軟/硬件協(xié)同設(shè)計(jì);(3)軟/硬件實(shí)現(xiàn);這種方法的特點(diǎn)是在協(xié)同設(shè)計(jì)、協(xié)同測(cè)試和協(xié)同驗(yàn)證上,充分考慮了軟/硬件的關(guān)系,并在設(shè)計(jì)的每個(gè)層次上給以測(cè)試驗(yàn)證,使得盡早發(fā)現(xiàn)和解決問題,避免災(zāi)難嵌入式系統(tǒng)自誕生以來已經(jīng)走過了漫長(zhǎng)的道路,如今世界上99%快速發(fā)展的推動(dòng)者。那么,接下來的幾年嵌入式系統(tǒng)會(huì)朝著哪些方向發(fā)展呢?以下是第2章嵌入式微處理器本章對(duì)對(duì)嵌入式微處理器進(jìn)行了概述,介紹了ARM嵌入式處理器、嵌入式微ARM(AdvancedRISCMachine)既是一個(gè)公司的名字,也是對(duì)一類微處理器的通稱,還可以認(rèn)為是一種技術(shù)的名字。ARM系列處理器是由英國(guó)ARM公司設(shè)計(jì)的,年,ARM公司從劍橋的Acorn獨(dú)立出來并上市;1991年,ARM公司設(shè)計(jì)出全球第一款RISC處理器。從此以后,ARM處理器被授權(quán)給眾多半導(dǎo)體制造廠,成為了低功耗和低成本的嵌入式應(yīng)用的市場(chǎng)領(lǐng)導(dǎo)者。般的公司不同,ARM公司既不生產(chǎn)芯片,也不銷售芯片,耗、低成本和高可靠性的IP內(nèi)核,如ARM7TDMI、ARM9TDMI、ARM10TDMI等,授權(quán)給各半導(dǎo)體公司使用。這樣既使ARM技術(shù)獲得更多的第三方工具、硬件、軟件的支持,又使整個(gè)系統(tǒng)成ARM嵌入式處理器有著非常廣泛的嵌入式系統(tǒng)支持,如WindowsCE、μC/OS-Il、μCLinux、VxWorks、μTenux等。2.1.1ARM處理器的特點(diǎn)因?yàn)锳RM處理器采用RISC結(jié)構(gòu),所以(2)支持Thumb(16位)/ARM(32位)雙指令集,能很好地兼容8位/16位器件?;贏RM處理器具有上述特點(diǎn),它被廣泛應(yīng)用于以下領(lǐng)(1)為通信、消費(fèi)電子、成像設(shè)備等產(chǎn)品,提供可運(yùn)行復(fù)雜操作系統(tǒng)的開放應(yīng)用平臺(tái)。(2)在海量存儲(chǔ)、汽車電子、工業(yè)控制和網(wǎng)絡(luò)應(yīng)用等領(lǐng)域,提供實(shí)時(shí)嵌入式應(yīng)用。(3)在軍事、航天等領(lǐng)域,提供寬溫、抗電磁于擾、耐腐蝕的復(fù)雜嵌入式應(yīng)用。2.1.2ARM體系結(jié)構(gòu)的版本和系列ARM體系結(jié)構(gòu)是CPU產(chǎn)品所使用的一種體系結(jié)構(gòu),ARM公司開發(fā)了一套擁有知識(shí)產(chǎn)權(quán)的RISC體系結(jié)構(gòu)的指令集。每個(gè)ARM處理器都有一自從第1個(gè)ARM處理器芯片誕生至今,ARM公司先后定義了8個(gè)ARM體系結(jié)構(gòu)版本,分別命名為V1~V8;此外還有基于這些體系結(jié)構(gòu)的變種版本。版本v1~V3已經(jīng)被淘汰,目前常用的是V4~V8版本,每一個(gè)版本均集成了前一個(gè)版本的基本設(shè)計(jì),但性能有所提高或功能有所擴(kuò)充,并且指令集向下兼容。ARM處理器在制造過程中的具體功能要求往往會(huì)與某一個(gè)標(biāo)準(zhǔn)的ARM體系結(jié)構(gòu)不完全一致,有可能根據(jù)實(shí)際需求增加或減少一些功能。表2-1給出了ARM體系結(jié)構(gòu)版本的變量后綴。變量后綴國(guó)內(nèi)描述TThumb指令集,Thumb指令長(zhǎng)度為16位,目前有兩個(gè)版本:Thumb1用于ADM內(nèi)嵌硬件乘法器(Multiplier),提供用于進(jìn)行長(zhǎng)乘法操作的ARM指令,產(chǎn)生全64位結(jié)身l嵌入式ICE,用于實(shí)現(xiàn)片上斷點(diǎn)和調(diào)試點(diǎn)支持E增強(qiáng)型DSP指令,增加了新的16位數(shù)據(jù)乘法與乘加操作指號(hào)數(shù)的加減法操作」Java加速器Jazelle,與一般的Java虛擬機(jī)相比,它將Java代碼運(yùn)了80%F向量浮點(diǎn)單元S可綜合版本一般ARM處理器內(nèi)核都有一個(gè)規(guī)范的名稱,該名稱概括地表明了內(nèi)核的體系結(jié)構(gòu)和功能特性。理水平持續(xù)提高。根據(jù)功能/性能指標(biāo)和應(yīng)用方向,開發(fā)ARM7內(nèi)核采用馮·諾伊曼體系結(jié)構(gòu),數(shù)據(jù)和指令使用同一條總線。內(nèi)核有一條3級(jí)流水線,執(zhí)行ARMV4指令集。ARM7系列處理器主要用于對(duì)功耗和成本要求比較苛刻的消費(fèi)類產(chǎn)品主頻可以到達(dá)130MIPS(MIPS指每秒執(zhí)行的百萬條指令數(shù))。ARM7系列包括ARM7TDMI、ARM7TDMI-S、ARM7EJ-S和ARM720T4種類型,主要用于適應(yīng)不同的市場(chǎng)需求。ARM7系列處理器主要具有以下特點(diǎn)。(1)具有32位RISC處理器。(2)最高主頻達(dá)130MIPS。(3)功耗低。(4)代碼密度高,兼容16位微處理器。(6)調(diào)試機(jī)制完善。(7)提供0.25μm、0.18μm及0.13μm的生產(chǎn)工藝。(8)代碼與ARM9系列、ARM9E系列以及ARM10ARM7系列包含ARM7EJ-S、ARM7TDMI、ARM7TDMI-S、ARM720T。低端的ARM微處理器核,在工業(yè)控制器、MP3播放器、噴墨打印機(jī)司的S3C44B0、恩智浦公司的LPC2131和2.ARM9/9E系列ARM9系列發(fā)布于1997年,由于采用了5級(jí)指令流水線,ARM9處理ARM9系列包含ARM922T、ARM926EJ-S、ARM940T、ARM946E-S、ARM966E-S3.ARM10系列ARM10發(fā)布于1999年,具有高性能、低功耗的特點(diǎn)。它將ARM9的展到6級(jí),也支持可選的向量浮點(diǎn)單元(VFP),對(duì)ARM10的流水線加入了第7段。發(fā)工具。ARM10E系列包括ARM1020E、ARM1022E4.ARM11系列是第一個(gè)執(zhí)行ARMV6架構(gòu)指令的處理器。它集成了一條具有獨(dú)立的Load/Stroe和算術(shù)流水線的8級(jí)流水線。ARMV6指令包含了針對(duì)多媒體處理的單流擴(kuò)展,采用特殊的設(shè)計(jì)改善視頻處理能力。ARM11系列包含ARM1136J-S、ARM1136JF-S、ARM1156T2(F)—S、ARM1176JZ(F)—S、ARM11MPCor型的ARM11系列微處理器芯片有三星公司的S3C6410和飛思卡爾公司的i.MX35系(1)支持ARM指令集和Thumb指令集,以提高代碼密度和系統(tǒng)性能。(3)提供了安全特性,可以抵制攻擊。(4)提供面向智能卡和低成本的存儲(chǔ)保護(hù)(5)可以集成用戶自己的安全特性和其他的協(xié)處理器。SecurCore系列包含SC100、SC110、SC200和SC210四種類6.Cortex系列ARMCortex-A系列處理器主要用于具有高計(jì)算要求、運(yùn)行豐富的操作供交互媒體和圖形體驗(yàn)的應(yīng)用領(lǐng)域,如智能手機(jī)、平板電腦、汽車娛樂系統(tǒng)、數(shù)字ARMCortex-R系列處理器屬于面向?qū)崟r(shí)應(yīng)用的高性能處理器系列,主盤控制器、汽車傳動(dòng)系統(tǒng)、無線通信的基帶控制、大容量存儲(chǔ)控制器等深層嵌入式ARMCortex-M系列處理器主要針對(duì)低成本和功耗敏感的應(yīng)用,如智能機(jī)接口設(shè)備、汽車和工業(yè)控制系統(tǒng)、家用電器、消費(fèi)性產(chǎn)品Cortex-M處理器家族更多地集中在低性能端,但是這些處理器相比于許多傳統(tǒng)微控制器性能仍然更為強(qiáng)大。例如,Cortex-M4和Cortex-M7處理器應(yīng)用在許多高性能的微控制器產(chǎn)品中,最大的時(shí)鐘頻率可以達(dá)到400MHz。表2-2所示是ARM處理器描述面向低成本、超低功耗的微控制器和深度嵌入式應(yīng)用的非常小的處理器針對(duì)小型嵌入式系統(tǒng)的最高能效的處理器,與Co有擴(kuò)展功能,如單周期l/O接口和向量表重定位功能針對(duì)FPGA設(shè)計(jì)優(yōu)化的小處理器,利用FPGA上的存儲(chǔ)器塊實(shí)現(xiàn)了緊耦合有相同的指令集集。具有硬件除法器和乘加指令(MAC),并且M3支持全面的調(diào)以快速地開發(fā)他們的應(yīng)用不但具備Cortex-M3的所有功能,并且和更快的單周期MAC操作。此外,它還有一個(gè)可選的支持IEEE7元針對(duì)高端微控制器和數(shù)據(jù)處理密集的應(yīng)用開發(fā)的高面向超低功耗、低成本應(yīng)用設(shè)計(jì)的小尺寸處理器,集和系統(tǒng)層面的功能特性。M23還支持TrustZone安全擴(kuò)展主流的處理器設(shè)計(jì),與之前的Cortex-M3和Cortex-M4處理器更高效,性能更高。M33還支持TrustZone安全擴(kuò)展相比于老的ARM處理器(例如,ARM7TDMI、ARM9),Cortex-M處理器有一(1)僅支持ARMThumb指令,已擴(kuò)展到同時(shí)支持16位和32位指令Thumb-2(2)內(nèi)置的嵌套向量中斷控制負(fù)責(zé)中斷處理,自動(dòng)處理中斷優(yōu)先級(jí)、中斷屏把處理器分為通用處理器與嵌入式處理器兩類。通用處理器以x86體系架構(gòu)的產(chǎn)品為代表,基本被Intel和AMD兩家公司壟斷。通用處理器追求更快的計(jì)算速度、更大的數(shù)據(jù)吞吐率,有8位處理器、16位處理器、32位處理器、64位處理器。2.2.1嵌入式微處理器電磁兼容方面更適合嵌入式系統(tǒng)應(yīng)用要求。嵌入式微處理器目前主要有ARM、MIPS、2.1.2嵌入式微控制器極其廣泛的應(yīng)用。嵌入式微控制器芯片內(nèi)部集成了ROM/EPROM、RAM、總線、總線2.2.3嵌入式DSP具有很高的編譯效率和指令執(zhí)行速度。嵌入式DSP內(nèi)部采用程序和數(shù)據(jù)分開的哈佛結(jié)構(gòu),具有專門的硬件乘法器,廣泛采用流水線操作,提供特殊的數(shù)字信號(hào)處理指可以快速實(shí)現(xiàn)各種數(shù)字信號(hào)處理算法。設(shè)計(jì),因而嵌入式DSP在執(zhí)行相關(guān)操作時(shí)具有很高的效率。比較有代表性的嵌入式DSP產(chǎn)品是TexasInstruments公司的TMS320系列和AnalogDevices公司的ADSP系列。2.2.4嵌入式SoC針對(duì)嵌入式系統(tǒng)的某一類特定的應(yīng)用對(duì)嵌入式系統(tǒng)的性能、功能、接口有相似的要求的特點(diǎn),用大規(guī)模集成電路技術(shù)將某一類應(yīng)用需要的大多數(shù)模塊集成在一個(gè)芯片上,從而在芯片上實(shí)現(xiàn)一個(gè)嵌入式系統(tǒng)大部分核心功能的處理器就是SoC。SoC把微處理器和特定應(yīng)用中常用的模塊集成在一個(gè)芯片上,應(yīng)用時(shí)往往只需要統(tǒng),極大地簡(jiǎn)化了系統(tǒng)設(shè)計(jì)的難度,還有利于減小電路板面積、降低系統(tǒng)成本、提高系統(tǒng)可靠性。SoC是嵌入式處理器的一個(gè)重要發(fā)展趨勢(shì)。在分類的基礎(chǔ)上,描述一款嵌入式微處理器通常包括下列方面。(1)內(nèi)核。內(nèi)核是一個(gè)處理器的核心,它影響處理器的性能和開發(fā)環(huán)境。通常,內(nèi)核包括內(nèi)部結(jié)構(gòu)、指令集。而內(nèi)部結(jié)構(gòu)又包括運(yùn)算和控制單元、總線、存儲(chǔ)管理單元及異常管理單元等。(2)片內(nèi)存儲(chǔ)資源。高性能處理器通常片內(nèi)集成高速RAM,以提高程序執(zhí)行速用的方便性。(3)外設(shè)。嵌入式處理器不可缺少外設(shè),例如,中斷控制器、定時(shí)器、DMA(DirectMemoryAccess,直接存儲(chǔ)器訪問)控制器等,還包括通信、人機(jī)交互、信號(hào)(4)電源。嵌入式處理器的電源電氣指標(biāo)通常包括處理器正常工作和耐受的電壓范圍,以及工作所需的最大電流。(5)封裝形式。封裝形式包括處理器的尺寸、外形和引腳方式2.2.5嵌入式微處理器的特點(diǎn)嵌入式微處理器是嵌入式系統(tǒng)的核心。為了滿足嵌入式系統(tǒng)實(shí)時(shí)性強(qiáng)、功耗低、(1)速度快。(2)功耗低,(5)生命周期長(zhǎng)。(6)產(chǎn)品系列化。學(xué)習(xí)成果教學(xué)日志日期第2周,第3次課/2023年X月X日內(nèi)容名稱2.3Cortex-M3嵌入式微處理器2.3.1Arm概述2.3.2CISC和RISC2.3.3Arm架構(gòu)的演變2.3.4Arm體系結(jié)構(gòu)與特點(diǎn)2.3.5Cortex-M系列處理器2.3.6Cortex-M3處理器的主要特性2.3.7Cortex-M3處理器結(jié)構(gòu)2.3.8存儲(chǔ)器系統(tǒng)2.4ArmCortet-M3的調(diào)試第3章STM32系列微控制器(3學(xué)時(shí))3.1STM32微控制器概述3.1.1STM32微控制器產(chǎn)品介紹3.1.2STM32系統(tǒng)性能分析3.1.3STM32微控制器的命名規(guī)則3.1.4STM32微控制器的選型3.2STM32F1系列產(chǎn)品系統(tǒng)構(gòu)架和STM32F103ZET6內(nèi)部架構(gòu)3.2.1STM32F1系列產(chǎn)品系統(tǒng)架構(gòu)3.2.2STM32F103ZET6的內(nèi)部架構(gòu)教學(xué)目標(biāo)Cortex-M3嵌入式微處理器STM32微控制器概述STM32F1系列產(chǎn)品系統(tǒng)構(gòu)架和STM32F103ZET6內(nèi)部架構(gòu)教學(xué)講授、演示和討論教學(xué)21、學(xué)生已經(jīng)了解嵌入式系統(tǒng)基本概念。教學(xué)內(nèi)容時(shí)間分配)教學(xué)供體處理器處理器IP(IP知識(shí)產(chǎn)權(quán))微控制器供應(yīng)商模擬處理器系統(tǒng)控制外設(shè)其他IP總線部件單元庫(kù)外設(shè)VO庫(kù)存儲(chǔ)器控制器存儲(chǔ)器庫(kù)可供授權(quán)的多種IP微控制器設(shè)計(jì)中可能會(huì)包含多個(gè)ARMIP部件,由微控制器供應(yīng)商完成或半導(dǎo)完整的微控制器設(shè)計(jì)基本部分微控制器接口(2)采用哈佛結(jié)構(gòu),指令總線和數(shù)據(jù)總線被分開,取指和訪問可以并行操(3)Thumb-2指令集無須進(jìn)行32位ARM狀態(tài)和16位Thumb狀態(tài)的切換,極大地簡(jiǎn)化了軟件開發(fā)和代碼維護(hù),也縮短了產(chǎn)(5)取指都按32位處理,同一周期最多可以取出兩條指令,留下了更多的帶寬的每指令周期數(shù)(CPI)也更低,于是同樣的頻率下(2)Cortex-M3在進(jìn)入異常服務(wù)例程時(shí),因?yàn)樽院蚉C,同時(shí)在返回時(shí)自動(dòng)彈出它們,因此加速了中斷的響應(yīng),也無須匯編語(yǔ)言代碼(3)NVIC支持對(duì)每一路中斷設(shè)置不同的優(yōu)先級(jí),使中斷管理極富彈性。(1)Cortex-M3需要的邏輯門數(shù)少,自然對(duì)功耗的要求就低(功率低于(2)在內(nèi)核水平上支持節(jié)能模式(SLEEPING和SLEEPDEEP位)。通過使用等待中斷指令(WFI)和等待事件指令(WFE),內(nèi)核可以進(jìn)入睡眠模式,并且以不同的方式(3)Cortex-M3的設(shè)計(jì)是全靜態(tài)的、同步的、可綜合的。任何低功耗的或標(biāo)準(zhǔn)的(2)擁有先進(jìn)的fault處理機(jī)制,支持多種類型的異常和faul(3)通過引入banked堆棧指針機(jī)制,將系統(tǒng)程序使用的堆棧和用戶程序使用的堆棧劃清界限。如果再配上可選的MPU,處理器就能徹底滿足對(duì)軟件健壯性和可靠性(1)在支持傳統(tǒng)的JTAG的基礎(chǔ)上,還支持串行線調(diào)試接口。(2)基于CoreSight調(diào)試解決方案,使處理器運(yùn)行期間也能訪問處理器狀態(tài)和存(3)內(nèi)建了對(duì)多達(dá)6個(gè)斷點(diǎn)和4個(gè)數(shù)據(jù)觀察點(diǎn)的支持。(4)可以選配一個(gè)ETM,用于指令跟蹤。(6)可選ITM模塊,測(cè)試代碼可以通過它輸出調(diào)試信息,2.3.2CISC和RISCARM公司在經(jīng)典處理器ARM11以后的產(chǎn)品都改用Cortex命名,主要分成A、R和M三類,旨在為各種不同的市場(chǎng)提供服務(wù),A系列處理器面向尖端的基于虛擬內(nèi)存的操作系統(tǒng)和用戶應(yīng)用,R系列處理器針對(duì)實(shí)時(shí)系統(tǒng),M系列處理器針指令的強(qiáng)弱是CPU的重要指標(biāo),指令集是提高處理器效率的最有效現(xiàn)階段的主流體系架構(gòu)來講,指令集可分為復(fù)雜指令集(CISC)和精簡(jiǎn)指令集(RISC)CISC是一種為了便于編程和提高存儲(chǔ)器訪問效率的1.CISC機(jī)器雜性來獲得的。隨著集成電路技術(shù),特別是VLSI(超大規(guī)模集成電路)技術(shù)的迅實(shí)現(xiàn)復(fù)雜功能的指令和多種靈活的編址方式,甚至,某些指令可支持高級(jí)語(yǔ)言語(yǔ)句歸類后的復(fù)雜操作,因此硬件越來越復(fù)雜,造價(jià)也越來越提高。為實(shí)現(xiàn)復(fù)雜操作,CISC處理器除了向程序員提供類似各種寄存器和機(jī)器指令功能,還通過存于ROM中的微代碼來實(shí)現(xiàn)其極強(qiáng)的功能,指令集直接在微代碼存儲(chǔ)器(比主存儲(chǔ)器的速度快很多)中執(zhí)行。龐大的指令集可以減少編程所需要的代碼行數(shù),減輕程序員的負(fù)擔(dān)。優(yōu)點(diǎn):指令豐富,功能強(qiáng)大,尋址方式靈活,能夠有效縮短新指令的微代碼設(shè)計(jì)時(shí)間,允許設(shè)計(jì)師實(shí)現(xiàn)CISC體系機(jī)器的向上相容。缺點(diǎn):指令集及晶片的設(shè)計(jì)比上一代產(chǎn)品更復(fù)雜,不同的指令需要不同的時(shí)鐘周期來完成,執(zhí)行較慢的指令,將影響整臺(tái)機(jī)器的執(zhí)行效2.RISC機(jī)器優(yōu)點(diǎn):在使用相同的晶片技術(shù)和相同運(yùn)行時(shí)鐘下,RISC系統(tǒng)的運(yùn)行速度是CISC系統(tǒng)的運(yùn)行速度的2~4倍。由于RISC處理器的指令集是精簡(jiǎn)的,它的存儲(chǔ)管理單元、缺點(diǎn):多指令的操作使得程序開發(fā)者必須小心地選用合適的編譯器,而且編寫的代碼量會(huì)變得非常大。另外就是RISC處理器需要更快的存儲(chǔ)器,并將其集成于處理器內(nèi)部,如一級(jí)緩存(L1Cache)。3.RISC和CISC比較綜合RISC和CISC的特點(diǎn),可以由以下幾點(diǎn)來分析兩者之間的區(qū)(1)指令系統(tǒng):RISC設(shè)計(jì)者把主要精力放在那些經(jīng)常使用的指令上,盡量使它們具有簡(jiǎn)單高效的特點(diǎn)。對(duì)不常用的功能,常通過組合指令來完成。因此,在RISC機(jī)器上實(shí)現(xiàn)特殊功能時(shí),效率可能較低。但可以利用流水技術(shù)和超標(biāo)量技術(shù)加以改進(jìn)和彌補(bǔ)。而CISC機(jī)器的指令系統(tǒng)比較豐富,有專用指令來完成特定的功能,因此,處理特殊任務(wù)效率較高。(2)存儲(chǔ)器操作:RISC對(duì)存儲(chǔ)器的操作有限制,使控制簡(jiǎn)單化;而CISC機(jī)器的存儲(chǔ)器操作指令多,且操作直接(3)程序:RISC匯編語(yǔ)言程序一般需要較大的內(nèi)存空間,實(shí)現(xiàn)特殊功能時(shí)程序復(fù)雜,不易設(shè)計(jì);而CISC匯編語(yǔ)言程序編程相對(duì)簡(jiǎn)單,科學(xué)計(jì)算及復(fù)雜操作的程序設(shè)計(jì)相對(duì)容易,效率較高。(4)CPU:RISCCPU包含較少的單元電路,因而面積小、功耗低;CISCCPU包含豐富的電路單元,因而功能強(qiáng)、面積大、功耗大。(5)設(shè)計(jì)周期:RISC處理器結(jié)構(gòu)簡(jiǎn)單,布局緊湊,設(shè)計(jì)周期短,且易于采用最新技術(shù):CISC處理器結(jié)構(gòu)復(fù)雜,設(shè)計(jì)周期(7)應(yīng)用范圍:由于RISC指令系統(tǒng)的確定與特定的應(yīng)用領(lǐng)域有關(guān),故RISC機(jī)器更適合于專用機(jī),而CISC機(jī)器更適合于通用1985年以來,ARM發(fā)布陸續(xù)發(fā)布了多個(gè)ARM內(nèi)核架構(gòu)版本,從ARMV4架構(gòu)開目前,ARM體系結(jié)構(gòu)已經(jīng)經(jīng)歷了6個(gè)版本。從V6版本開始,各個(gè)版本都在實(shí)際中裝得了應(yīng)用,各個(gè)版本中還有一些變種,如支持Thumb指令集的T變種、長(zhǎng)乘法指令(M)變種、ARM媒體功能擴(kuò)展(SIMI)變種、支持變種等。例如,ARM7TDMI表示該處理器支持Thumb指令集(T)、片上Debug(D)、如Cortex-A9如Corex-R4架構(gòu)v6架枸v7架構(gòu)如Cortex-M3架構(gòu)例子ARM7500ARM9各種架構(gòu)的ARM應(yīng)用領(lǐng)域如圖2-4所示。性能功能ARM11系列ARM9E系列處理器高端應(yīng)用處理器高性能實(shí)時(shí)系統(tǒng)微處理器應(yīng)用圖2-4各種架構(gòu)的ARM應(yīng)用領(lǐng)域2.3.4ARM體系結(jié)構(gòu)與特點(diǎn)如圖2-5所示,任何微處理器都至少由內(nèi)核、存儲(chǔ)器、總線、1/O構(gòu)成。ARM公司的芯片特點(diǎn)是內(nèi)核部分都是統(tǒng)一的,由ARM設(shè)計(jì),但是其他部分各個(gè)芯片制造商可Cortex-M3處理器內(nèi)核是微處理器的中央處理單元(CPU)。完整的基于Cortex-M3它們就可以把Cortex-M3內(nèi)核用在自己的硅片設(shè)計(jì)中,添加存儲(chǔ)器、aa Cortex-M3芯片內(nèi)部總琖圖2-5微處理器內(nèi)核示例接口等。NN 毒存器組鷺術(shù)建域維元存神基浦口存鍵能保護(hù)單元指字存健等存健器系統(tǒng)和外設(shè)粘有外設(shè)可選配期班系統(tǒng)由總線直違同增數(shù)據(jù)總線指令總線相珠信碼圖2-6微處理內(nèi)核進(jìn)一步細(xì)化如果從編程的角度來看待微處理器,如圖2-7所示,則看到的主要就是一些寄存數(shù)據(jù)總線寄存器數(shù)據(jù)總線寄存器轉(zhuǎn)換器輸入寄存器 串行接口數(shù)據(jù)存儲(chǔ)地址0存儲(chǔ)地址1存儲(chǔ)地址2寄存器2存儲(chǔ)器寄存器3存儲(chǔ)地址n-1控制線計(jì)數(shù)器 看門狗計(jì)數(shù)器 /O接口寄存器l地址總線 Rx-寄存器輸出寄存器 數(shù)據(jù)圖2-7從編程員的角度看到的微處理器內(nèi)核2.3.5Cortex-M系列處理器Cortex-M系列處理器應(yīng)用主要集中在低性能端領(lǐng)域,但是這些處理器相比于傳統(tǒng)處理器(如8051處理器、AVR處理器等)性能仍然很強(qiáng)大,不僅具備強(qiáng)大的控力(如Cortex-M4處理器和Cortex-M7處理器),這使其在綜合信號(hào)處理和控制領(lǐng)域也具備較大的競(jìng)爭(zhēng)力。Cortex-M系列處理器的特征如下:(1)RISC處理器內(nèi)核:高性能32位CPU、具有確定性的運(yùn)算、低延遲3階段管道,可達(dá)1.25DMIPS/MHz。(2)Thumb-2指令集:16/32位指令的最佳混合、小于8位設(shè)備3倍的代碼大小、(3)低功耗模式:集成的睡眠狀態(tài)支持、多電源域、基于架構(gòu)的軟件控(4)嵌套矢量中斷控制器(NVIC):低延遲、低抖動(dòng)中斷響應(yīng)、不需要匯編編程、以純C語(yǔ)言編寫中斷服務(wù)例程,能完成出色的中斷處(5)工具和RTOS支持:廣泛的第三方工具支持、Cortex微控制器軟件接口標(biāo)準(zhǔn)(CMSIS)、最大限度地增加軟件成果重(6)CoreSight調(diào)試和跟蹤:JTAG或2針串行線調(diào)試(SWD)連接、支持多處理器、支持實(shí)時(shí)跟蹤。此外,Cortex-M系列處理器還提供了一個(gè)可選的內(nèi)存保護(hù)單元(MPU),提供低成本的調(diào)試/追蹤功能和集成的休眠狀態(tài),以增加靈活Cortex-M0處理器、Cortex-M0+處理器、Cortex-M3處理器、Cortex-M4處理器、Cortex-M7處理器之間有很多的相似之處,例如:①基本編程模型;②嵌套向量中斷控制器(NVIC)的中斷響應(yīng)管理;③架構(gòu)設(shè)計(jì)的休眠模式,包括睡眠模式和深度睡眠模式;④操作系統(tǒng)支持特性;2.Cortex-M3指令集Cortex-M3處理器是基于ARMv7-M架構(gòu)的處理器,支持更豐富的指令集,包括許多32位指令,這些指令可以高效地使用高位寄存器。另外,Cortex-M3處理器還支持:①查表跳轉(zhuǎn)指令和條件執(zhí)行(使用π指令);②硬件除法指令;③乘加指令(MAC指令);④各種位操作指令。更豐富的指令集通過以下幾種途徑來增強(qiáng)性能:如32位Thumb指令支持了更大范圍的立即數(shù),跳轉(zhuǎn)偏移和內(nèi)存數(shù)據(jù)范圍的地址偏移;支持基本的DSP操作(如支持若干條需要多個(gè)時(shí)鐘周期執(zhí)行的MAC指令,還有飽和運(yùn)算指令);這些32位指令允許用單個(gè)指令對(duì)多個(gè)數(shù)據(jù)一起做桶形移位操作。但是,支持更豐富的指令導(dǎo)致了更高的成本和功耗。Cortex-M4處理器在很多地方和Cortex-M3處理器相同,如流水線、編程模型等。Cortex-M4處理器支持Cortex-M3處理器的所有功能,并額外支持各種面向DSP應(yīng)用的持有限條數(shù)的MAC指令,并且是多周期執(zhí)行的)和可選的單精度浮點(diǎn)運(yùn)算指Cortex-M4處理器的SIMD操作可以并行處理2個(gè)16位數(shù)據(jù)和4個(gè)8位數(shù)據(jù)。在某些DSP運(yùn)算中,使用SIMD指令可以加速計(jì)算16位和8位數(shù)據(jù),因?yàn)檫@些運(yùn)算可以并行處理。但是,在一般的編程中,C編譯器并不能充分利用SIMD運(yùn)算能力,這是Cortex-M3處理器和Cortex-M4處理器典型benchmark的分?jǐn)?shù)差不多的原因。然而,Cortex-M4處理器的內(nèi)部數(shù)據(jù)通路和Cortex-M3處理器的內(nèi)部數(shù)據(jù)通路不同,在某些情況下Cortex-M4處理器可以處理得更快(如單周期MAC指令,可以在一個(gè)周期中寫回2.3.6Cortex-M3處理器的主要特性Cortex-M3是ARM公司在ARMV7架構(gòu)的基礎(chǔ)上設(shè)計(jì)出來的一款新型的芯片內(nèi)核。相對(duì)于其他ARM系列的微控制器,Cortex-M3內(nèi)核擁有以下優(yōu)勢(shì)和特點(diǎn)。代高性能的流水線處理器都會(huì)就一些分支預(yù)測(cè)的部件,在處理器從存儲(chǔ)器預(yù)取指令的過程中,當(dāng)遇到分支指令時(shí),處理器能自動(dòng)預(yù)測(cè)跳轉(zhuǎn)是否會(huì)發(fā)生,然后才從預(yù)測(cè)的方向進(jìn)行相應(yīng)的取值,從而讓流水線能連續(xù)地執(zhí)行指令,保證它的性哈佛結(jié)構(gòu)的處理器采用獨(dú)立的數(shù)據(jù)總線和指令總線,處理器可以同時(shí)進(jìn)行對(duì)指令和數(shù)據(jù)的讀寫操作,使得處理器的運(yùn)行速度得以提高。Cortex-M3首次在內(nèi)核部分采用了嵌套向量中斷控制器,即NVIC。也正是采用了中斷嵌套的方式,使得Cortex-M3能將中斷延遲減小到12個(gè)時(shí)鐘周期(一般,ARM7需要24~42個(gè)時(shí)鐘周期)。Cortex-M3不僅采用了NVIC技術(shù),還采用了尾鏈技術(shù),從而使中斷響應(yīng)時(shí)間減小到了6個(gè)時(shí)鐘周期。在Cortex-M3內(nèi)核出現(xiàn)之前,ARM內(nèi)核是不支持位操作的,而是要用邏輯與、或的操作方式來屏蔽對(duì)其他位的影響。這樣的結(jié)果帶來的是指令的增加和處理時(shí)間的增加。Cortex-M3采用了位綁定的方式讓位操作成為可能。5.支持串行調(diào)試(SWD)一般的ARM處理器采用的都是JTAG調(diào)試接口,但是JTAG接口占用的芯片I/O端口過多,這對(duì)于一些引腳少的處理器來說很浪費(fèi)資源。Cort的基礎(chǔ)上增加了SWD模式,只需要兩個(gè)I/O端口即可完成仿真,節(jié)約了調(diào)試占用的引Cortex-M3內(nèi)核在原來的只有運(yùn)行/停止的模式上增加了休眠模式,使得Cortex-M3的運(yùn)行功耗也很低。原有的ARM7、ARM9等內(nèi)核使用的都是不同的指令,例如32位的ARM指令和16位的Thumb指令。Cortex-M3使用了更高效的Thumb2指令來實(shí)現(xiàn)接近Thumb指令的代碼尺寸,達(dá)到ARM編碼的運(yùn)行性能。Thumb2是一種高效的、緊湊的新一代指令Cortex-M3內(nèi)核加入了32位的除法的問題。同時(shí),Cortex-M3內(nèi)核也改進(jìn)了乘法運(yùn)算的部件,使得32位乘32位的乘法在Cortex-M3內(nèi)核的MCU相對(duì)于其他的ARM系列的MCU性價(jià)比高許2.3.7Cortex-M3處理器結(jié)構(gòu)ARMCortex-M3處理器是新一代的32位處理器,是一個(gè)高性能、低成本臺(tái),適用于微控制器、工業(yè)控制系統(tǒng)以及無線網(wǎng)絡(luò)傳感器等應(yīng)用場(chǎng)1)性能豐富成本低。專門針對(duì)微控制器應(yīng)用特點(diǎn)而開發(fā)的32位MCU,具有高性2)低功耗。把睡眠模式與狀態(tài)保留功能結(jié)合在一起,確保Cortex-M3處理器既可量中斷控制器)功能提高了設(shè)計(jì)的可配置性Cortex-M3處理器結(jié)構(gòu)如圖2-9所示。dartsdarts的些婷事修門加了-的部療觀1單行案片船費(fèi)試建11勤測(cè)點(diǎn)戲難口家單克指重稱城1中都單元急線知異(B數(shù)重觀內(nèi)春醒護(hù)單備向量中身校制霉微門除霉簡(jiǎn)讀挪1A再試家級(jí) 圖2-9Cortex-M3處理器結(jié)構(gòu)Cortex-M3處理器結(jié)構(gòu)中各個(gè)部分的解釋和功能如下:3)閃存地址重載及斷點(diǎn)(FPB):實(shí)現(xiàn)硬件斷點(diǎn)以及代碼空間到系統(tǒng)5)數(shù)據(jù)觀察點(diǎn)及跟蹤單元(DWT):調(diào)試中用于數(shù)6)AHB訪問端口(AHB-AP):高速總線AHB訪問端口將SW/SWJ端口的命令轉(zhuǎn)換7)總線矩陣(BusMatrix):Cortex-M3總線矩陣,CPU內(nèi)部的總線通過總線矩陣連接到外部的ICode、DCode及系8)指令跟蹤宏單元(ITM):可以產(chǎn)生時(shí)間戳數(shù)據(jù)包并插入到跟蹤數(shù)據(jù)流中,用于9)喚醒中斷控制器(WIC):WIC可以使處理器和NVIC處于一個(gè)低功耗睡眠的模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ù)與片外跟和其他數(shù)據(jù)存儲(chǔ)器采用不同的總線(ICode和DCode總2.3.8存儲(chǔ)器系統(tǒng)Cortex-M3存儲(chǔ)器系統(tǒng)的功能與傳統(tǒng)的ARM架構(gòu)相比,有了(1)存儲(chǔ)器映射是預(yù)定義的,并且還規(guī)定好了哪個(gè)位置使用哪條總(2)Cortex-M3存儲(chǔ)器系統(tǒng)支持“位帶”(bit-band)操作。通過它,實(shí)現(xiàn)了對(duì)單(3)Cortex-M3存儲(chǔ)器系統(tǒng)支持非對(duì)齊訪問(4)Cortex-M3存儲(chǔ)器系統(tǒng)支持大端配單片機(jī)間的移植。舉個(gè)簡(jiǎn)單的例子,各款Cortex-M3單片機(jī)的NVIC和MPU都在相同等私有外設(shè),這個(gè)地址段被稱為私有外設(shè)區(qū)。私有(1)閃存地址重載及斷點(diǎn)單元(FPB)。(2)數(shù)據(jù)觀察點(diǎn)單元(DWT)。(3)儀器化跟蹤宏單元(ITM)。(4)嵌人式跟蹤宏單元(ETM)。(5)跟蹤端口接口單元(TPIU)。(6)ROM表。Cortex-M3的地址空間是4GB,程序可以在代碼區(qū)、內(nèi)部SRAM區(qū)以及RAM區(qū)執(zhí)內(nèi)部SRAM區(qū)的大小是512MB,用于讓芯片制造商連接片上的SRAM,這個(gè)區(qū)通有一個(gè)對(duì)應(yīng)的32MB的位帶別名區(qū),容納了8M個(gè)“位變量”。位帶區(qū)對(duì)應(yīng)的是最低的1MB地址范圍,而位帶別名區(qū)里面的每個(gè)字對(duì)應(yīng)(1)AHB私有外設(shè)總線,只用于Cortex-M3內(nèi)部的AHB外設(shè),它們是NVIC、FPB、DWT和ITM。(2)APB私有外設(shè)總線,既用于Cortex-M3內(nèi)部的APB設(shè)備,也用于如果配備了MPU,則可議通過它配警不具的存儲(chǔ)區(qū),并且覆蓋默認(rèn)個(gè)512MB等份。Cortex-M3有一個(gè)默認(rèn)的存證訪問許可,它能防止用戶代碼訪問系統(tǒng)控制存儲(chǔ)空間,保護(hù)NVIC,MPU等關(guān)鍵部件,默認(rèn)訪問許可在下(1)沒有配備MPU.如果啟用了MPU,則MPU可以在地址空間中劃出若干個(gè)區(qū),并為不同的區(qū)規(guī)定支持了位帶操作后,可以使用普通的加載/存儲(chǔ)指令來對(duì)單一的比特進(jìn)行讀寫。在Cortex-M3中,有兩個(gè)區(qū)中實(shí)現(xiàn)了位帶。其中一個(gè)是SRAM區(qū)的最低1MB范圍,第二個(gè)則是片內(nèi)外設(shè)區(qū)的最低1MB范圍。第3章STM32系列微控制器本章對(duì)STM32微控制器進(jìn)行了概述,介紹了STM32F1系列產(chǎn)品系統(tǒng)構(gòu)架和STM32F103ZET6內(nèi)部結(jié)構(gòu)、STM32F103ZET6的存儲(chǔ)器映像、STM32F103ZET6的時(shí)鐘結(jié)構(gòu)、STM32F103VET6的引腳、STM32F103VET6最小系統(tǒng)設(shè)計(jì)和學(xué)習(xí)STM32的方法。STM32是意法半導(dǎo)體(STMicroelectronics)較早推向市場(chǎng)的基于Cortex-M內(nèi)核的STM32目前常用的有STM32F103~107系列,簡(jiǎn)稱“1系列”,最近又推出了高端(1)增加了浮點(diǎn)運(yùn)算;(2)DSP處理;(3)存儲(chǔ)空間更大,高達(dá)1M字節(jié)以上;(4)運(yùn)算速度更高,以168MHz高速運(yùn)行時(shí)可達(dá)到210DMIPS的處理能力;(5)更高級(jí)的外設(shè),新增外設(shè),例如,照相機(jī)接口、加密處理器、USB高速OTG接口等,提高性能,更快的通信接口,更高的采樣率,帶FIFO的DMA控制器。STM32系列單片機(jī)具有以下優(yōu)點(diǎn):1)哈佛結(jié)構(gòu)使其在處理器整數(shù)性能測(cè)試上有著出色的表現(xiàn),可以達(dá)到1.25DMIPS/MHz、而功耗僅為0.19mW/MHz。2)Thumb-2指令集以16位的代碼密度帶來了32位的性1)STM32內(nèi)嵌電源監(jiān)控器,包括上電復(fù)位、低電壓檢測(cè)、掉電檢測(cè)和自帶時(shí)鐘的2)使用一個(gè)主晶振可以驅(qū)動(dòng)整個(gè)系統(tǒng)。低成本的4~16MHz晶振即可驅(qū)動(dòng)CPU、USB以及所有外設(shè),使用內(nèi)嵌鎖相環(huán)(PhaseLockedLoop,PLL)產(chǎn)生多種頻率,可以為內(nèi)部實(shí)時(shí)時(shí)鐘選擇32kHz的晶振。3)內(nèi)嵌出廠前調(diào)校好的8MHzRC振蕩電路,可以作為4)針對(duì)RTC(RealTimeClock,實(shí)時(shí)時(shí)鐘)或看門狗的低頻率RC電路。5)LQPF100封裝芯片的最小系統(tǒng)只需要7個(gè)因此,使用STM32可以很輕松地完成產(chǎn)品的開發(fā)。ST提供了完整、高效的開發(fā)工STM32的優(yōu)勢(shì)來源于兩路高級(jí)外設(shè)總線,連接到該總線上的外設(shè)能以更高的速度1)USB接口速度可達(dá)12Mbit/s。2)USART接口速度高達(dá)4.5Mbit/s。3)SPI接口速度可達(dá)18Mbit/s。4)I2C接口速度可達(dá)400kHz.5)GPIO的最大翻轉(zhuǎn)頻率為18MHz。6)PWM(PulseWidthModulation,脈沖寬度調(diào)制)定時(shí)器最高可使用72MHz時(shí)3.1.1STM32微控制器產(chǎn)品介紹目前,市場(chǎng)上常見的基于Cortex-M3的MCU有意法半導(dǎo)體(STMicroelectronics)有限公司的STM32F103微控制器、德州儀器公司(TI)的LM3S8000微控制器和恩智浦公司(NXP)的LPC1788微控制器等,其應(yīng)用遍及工業(yè)控制、消費(fèi)電子、儀器儀表、分別面向不高性能類型主流類型超低功耗類型系列微控制器的產(chǎn)品線包括高性能產(chǎn)品系列如圖3類型、主流類型-1所示。106CoeMarkCortex-M0/MO+Cortex-M3Cortex-M4Cortex-M
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 入股合作協(xié)議范本版3篇
- 學(xué)生因病在校就讀安全協(xié)議3篇
- 裝修用石材合同范例
- 車位營(yíng)銷策劃合同范例
- 計(jì)量服務(wù)合同范例
- 正式分銷合同范例
- 武漢民政職業(yè)學(xué)院《設(shè)計(jì)思維與程序》2023-2024學(xué)年第一學(xué)期期末試卷
- 工程購(gòu)買建材合同范例
- 學(xué)校建設(shè)維修合同范例
- 荒田出租合同范例
- 模具維護(hù)保養(yǎng)PPT課件
- 《新媒體文案寫作》試卷4
- 【模板】OTS認(rèn)可表格
- 土地增值稅清算審核指南
- 死亡通知書模板
- 最新全球4G頻段精編版
- 真速通信密拍暗訪取證系統(tǒng)分冊(cè)
- 基于閱讀文本的寫作課堂觀察記錄表
- 2018年建設(shè)工程質(zhì)量檢測(cè)企業(yè)組織架構(gòu)、部門職能、商業(yè)模式、行業(yè)現(xiàn)狀研究
- 失業(yè)保險(xiǎn)金申領(lǐng)表_11979
- 淺談信息技術(shù)和幼兒園教育的融合三篇
評(píng)論
0/150
提交評(píng)論