嵌入式系統(tǒng)設計(STM32)第1講課件_第1頁
嵌入式系統(tǒng)設計(STM32)第1講課件_第2頁
嵌入式系統(tǒng)設計(STM32)第1講課件_第3頁
嵌入式系統(tǒng)設計(STM32)第1講課件_第4頁
嵌入式系統(tǒng)設計(STM32)第1講課件_第5頁
已閱讀5頁,還剩171頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

STM32嵌入式微控器

快速上手陳志旺等編著電子工業(yè)出版社STM32嵌入式微控器

快速上手陳志旺等編著參考資料喻金錢,喻斌.STM32F系列ARMCortex-M3核微控制器開發(fā)與應用[M].清華大學出版社.彭剛,秦志剛.基于ARMCortex-M3的STM32系列嵌入式微控制器應用實踐[M].電子工業(yè)出版社.李寧.基于MDK的STM32處理器開發(fā)應用[M].北京航空航天大學出版社.參考資料喻金錢,喻斌.STM32F系列ARMCortex考試形式總成績=實驗40%+平時10%+期末50%實驗時間:1-17周,雙周周五上午8:00實驗地點:電子樓119考試形式總成績=實驗40%+平時10%+期末50%主要內(nèi)容

1.嵌入式系統(tǒng)簡介

2.STM32簡介

3.教學開發(fā)板

4.工程模板的建立主要內(nèi)容1.嵌入式系統(tǒng)簡介1.1嵌入式系統(tǒng)定義1.2嵌入式系統(tǒng)的特點1.3嵌入式系統(tǒng)的分類1.4嵌入式系統(tǒng)的應用1.5嵌入式系統(tǒng)的發(fā)展1.6通用計算機與嵌入式系統(tǒng)對比1.嵌入式系統(tǒng)簡介1.1嵌入式系統(tǒng)定義1.1嵌入式系統(tǒng)定義嵌入式系統(tǒng)(Embeddedsystem),是一種“完全嵌入受控器件內(nèi)部,為特定應用而設計的專用計算機系統(tǒng)”,根據(jù)英國電器工程師協(xié)會(U.K.InstitutionofElectricalEngineer)的定義,嵌入式系統(tǒng)為“用于控制、監(jiān)視或者輔助操作機器和設備的裝置”。與個人計算機這樣的通用計算機系統(tǒng)不同,嵌入式系統(tǒng)通常執(zhí)行的是帶有特定要求的預先定義的任務。由于嵌入式系統(tǒng)只針對一項特殊的任務,設計人員能夠對它進行優(yōu)化,減小尺寸降低成本。嵌入式系統(tǒng)通常進行大量生產(chǎn),所以單個的成本節(jié)約,能夠隨著產(chǎn)量進行成百上千的放大。1.1嵌入式系統(tǒng)定義嵌入式系統(tǒng)(Embeddedsys1.1嵌入式系統(tǒng)定義嵌入式系統(tǒng)的核心是由一個或幾個預先編程好以用來執(zhí)行少數(shù)幾項任務的微處理器或者單片機組成。與通用計算機能夠運行用戶選擇的軟件不同,嵌入式系統(tǒng)上的軟件通常是暫時不變的,所以經(jīng)常稱為“固件”。國內(nèi)普遍認同的嵌入式系統(tǒng)定義為:以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統(tǒng)。一般而言,嵌入式系統(tǒng)的構架可以分成四個部分:處理器、存儲器、輸入輸出(I/O)和軟件。1.1嵌入式系統(tǒng)定義嵌入式系統(tǒng)的核心是由一個或幾個預先編1.2嵌入式系統(tǒng)的特點嵌入式系統(tǒng)的幾個重要特征:(1)系統(tǒng)內(nèi)核小。由于嵌入式系統(tǒng)一般是應用于小型電子裝置的,系統(tǒng)資源相對有限,所以內(nèi)核較之傳統(tǒng)的操作系統(tǒng)要小得多。

內(nèi)核,是一個操作系統(tǒng)的核心。是基于硬件的第一層軟件擴充,提供操作系統(tǒng)的最基本的功能,是操作系統(tǒng)工作的基礎,它負責管理系統(tǒng)的進程、內(nèi)存、內(nèi)核體系結構設備驅動程序、文件和網(wǎng)絡系統(tǒng),決定著系統(tǒng)的性能和穩(wěn)定性。(2)專用性強。嵌入式系統(tǒng)的個性化很強,其中的軟件系統(tǒng)和硬件的結合非常緊密,一般要針對硬件進行系統(tǒng)的移植,即使在同一品牌、同一系列的產(chǎn)品中也需要根據(jù)系統(tǒng)硬件的變化和增減不斷進行修改。同時針對不同的任務,往往需要對系統(tǒng)進行較大更改,程序的編譯下載要和系統(tǒng)相結合,這種修改和通用軟件的“升級”是完全兩個概念。1.2嵌入式系統(tǒng)的特點嵌入式系統(tǒng)的幾個重要特征:1.2嵌入式系統(tǒng)的特點(3)系統(tǒng)精簡。嵌入式系統(tǒng)一般沒有系統(tǒng)軟件和應用軟件的明顯區(qū)分,不要求其功能設計及實現(xiàn)上過于復雜,這樣一方面利于控制系統(tǒng)成本,同時也利于實現(xiàn)系統(tǒng)安全。(4)高實時性。高實時性的系統(tǒng)軟件(OS)是嵌入式軟件的基本要求。而且軟件要求固態(tài)存儲,以提高速度;軟件代碼要求高質(zhì)量和高可靠性。(5)多任務的操作系統(tǒng)。嵌入式軟件開發(fā)要想走向標準化,就必須使用多任務的操作系統(tǒng)。嵌入式系統(tǒng)的應用程序可以沒有操作系統(tǒng)而直接在芯片上運行;但是為了合理地調(diào)度多任務,利用系統(tǒng)資源、系統(tǒng)函數(shù)以及專家?guī)旌瘮?shù)接口,用戶必須自行選配RTOS(RealTimeOperatingSystem)開發(fā)平臺,這樣才能保證程序執(zhí)行的實時性、可靠性,并減少開發(fā)時間,保障軟件質(zhì)量。1.2嵌入式系統(tǒng)的特點(3)系統(tǒng)精簡。嵌入式系統(tǒng)一般沒有1.2嵌入式系統(tǒng)的特點(6)專門的開發(fā)工具和環(huán)境。系統(tǒng)開發(fā)需要開發(fā)工具和環(huán)境。由于其本身不具備自舉開發(fā)能力,即使設計完成以后用戶通常也是不能對其中的程序功能進行修改的,必須有一套開發(fā)工具和環(huán)境才能進行開發(fā)。開發(fā)時往往有主機和目標機的概念,主機用于程序的開發(fā),目標機作為最后的執(zhí)行機,開發(fā)時需要交替結合進行。

【自舉(bootstrapping)一詞來自于人都是靠自身的“自舉”機構站立起來的這一思想。計算機必須具備自舉能力將自己所有的元件激活,以便能完成加載操作系統(tǒng)這一目的,然后再由操作系統(tǒng)承擔起那些單靠自舉代碼無法完成的更復雜的任務。自舉只有兩個功能:加電自檢和磁盤引導?!?.2嵌入式系統(tǒng)的特點(6)專門的開發(fā)工具和環(huán)境。系統(tǒng)開1.3嵌入式系統(tǒng)的分類

(1)體系結構。普林斯頓結構(馮·諾依曼結構)和哈佛結構(2)指令集。CISC(復雜指令系統(tǒng))和RISC(精簡指令系統(tǒng))(見表1-2,P4)(3)嵌入式處理器種類。一般可以將嵌入式處理器分成4類,即嵌入式微處理器(MicroProcessor

Unit,MPU)嵌入式微控制器(MicroControllerUnit,MCU單片機)嵌入式DSP處理器(Digital

SignalProcessor,DSP)嵌入式片上系統(tǒng)(SystemOnChip,SoC)

(見表1-3,P5)1.3嵌入式系統(tǒng)的分類

馮·諾依曼結構:單一存儲、統(tǒng)一編址、分時復用馮·諾依曼結構:單一存儲、統(tǒng)一編址、分時復用哈佛結構:分開存儲、獨立編址、兩倍帶寬、效率更高哈佛結構:分開存儲、獨立編址、兩倍帶寬、效率更高CISCvsRISCCISCvsRISC1.4嵌入式系統(tǒng)的應用(1)工業(yè)控制基于嵌入式芯片的工業(yè)自動化設備將獲得長足的發(fā)展,目前已經(jīng)有大量的8、16、32位嵌入式微控制器在應用中,網(wǎng)絡化是提高生產(chǎn)效率和產(chǎn)品質(zhì)量、減少人力資源主要途徑,如工業(yè)過程控制、數(shù)字機床、電力系統(tǒng)、電網(wǎng)安全、電網(wǎng)設備監(jiān)測、石油化工系統(tǒng)。就傳統(tǒng)的工業(yè)控制產(chǎn)品而言,低端型采用的往往是8位單片機。但是隨著技術的發(fā)展,32位、64位的處理器逐漸成為工業(yè)控制設備的核心,在未來幾年內(nèi)必將獲得長足的發(fā)展。(2)交通管理在車輛導航、流量控制、信息監(jiān)測與汽車服務方面,嵌入式系統(tǒng)技術已經(jīng)獲得了廣泛的應用,內(nèi)嵌GPS模塊、GSM模塊的移動定位終端已經(jīng)在各種運輸行業(yè)獲得了成功的使用。目前GPS設備已經(jīng)從尖端產(chǎn)品進入了普通百姓的家庭,只需要幾千元,就可以隨時隨地找到你的位置。1.4嵌入式系統(tǒng)的應用(1)工業(yè)控制1.4嵌入式系統(tǒng)的應用(3)信息家電這將稱為嵌入式系統(tǒng)最大的應用領域,冰箱、空調(diào)等的網(wǎng)絡化、智能化將引領人們的生活步入一個嶄新的空間。即使你不在家里,也可以通過電話線、網(wǎng)絡進行遠程控制。在這些設備中,嵌入式系統(tǒng)將大有用武之地。(4)家庭智能管理系統(tǒng)水、電、煤氣表的遠程自動抄表,安全防火、防盜系統(tǒng),其中嵌有的專用控制芯片將代替?zhèn)鹘y(tǒng)的人工檢查,并實現(xiàn)更高,更準確和更安全的性能。目前在服務領域,如遠程點菜器等已經(jīng)體現(xiàn)了嵌入式系統(tǒng)的優(yōu)勢。(5)POS網(wǎng)絡及電子商務公共交通無接觸智能卡(ContactlessSmartcard,CSC)發(fā)行系統(tǒng),公共電話卡發(fā)行系統(tǒng),自動售貨機,各種智能ATM終端將全面走入人們的生活,到時手持一卡就可以行遍天下。1.4嵌入式系統(tǒng)的應用(3)信息家電1.4嵌入式系統(tǒng)的應用(6)環(huán)境工程與自然水文資料實時監(jiān)測,防洪體系及水土質(zhì)量監(jiān)測、堤壩安全,地震監(jiān)測網(wǎng),實時氣象信息網(wǎng),水源和空氣污染監(jiān)測。在很多環(huán)境惡劣,地況復雜的地區(qū),嵌入式系統(tǒng)將實現(xiàn)無人監(jiān)測。(7)國防與航天嵌入式芯片的發(fā)展將使機器人在微型化,高智能方面優(yōu)勢更加明顯,同時會大幅度降低機器人的價格,使其在工業(yè)領域和服務領域獲得更廣泛的應用。1.4嵌入式系統(tǒng)的應用(6)環(huán)境工程與自然1.5嵌入式系統(tǒng)的發(fā)展縱觀嵌入式系統(tǒng)的發(fā)展歷程,大致經(jīng)歷了以下3個階段:以嵌入式微處理器為基礎的初級嵌入式系統(tǒng)以嵌入式操作系統(tǒng)為標志的中級嵌入式系統(tǒng)以Internet和實時多任務操作系統(tǒng)為標志的高級嵌入式系統(tǒng)

1.5嵌入式系統(tǒng)的發(fā)展發(fā)展趨勢嵌入式技術與Internet技術的結合正在推動著嵌入式技術的飛速發(fā)展,為嵌入式市場展現(xiàn)了美好的前景,同時也對嵌入式生產(chǎn)廠商提出了新的挑戰(zhàn),未來嵌入式系統(tǒng)的幾大發(fā)展趨勢:(1)嵌入式系統(tǒng)的開發(fā)成了一項系統(tǒng)工程,開發(fā)廠商不僅要提供嵌入式軟硬件系統(tǒng)本身,同時還要提供強大的硬件開發(fā)工具和軟件支持包。(2)網(wǎng)絡化、信息化的要求隨著Internet技術的成熟和帶寬的提高而日益突出,以往功能單一的設備如電話、手機、冰箱、微波爐等功能不再單一,結構變得更加復雜,網(wǎng)絡互聯(lián)成為必然趨勢。發(fā)展趨勢嵌入式技術與Internet技術的結合正在推動著嵌入發(fā)展趨勢(3)未來的嵌入式設備為了適應網(wǎng)絡發(fā)展的要求,必然要求硬件上提供各種網(wǎng)絡通信接口。傳統(tǒng)的單片機對于網(wǎng)絡支持不足,而新一代的嵌入式處理器已經(jīng)開始內(nèi)嵌網(wǎng)絡接口,除了支持TCP/IP協(xié)議,還有的支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口中的一種或者幾種,同時也需要提供相應的通信組網(wǎng)協(xié)議軟件和物理層驅動軟件。軟件方面系統(tǒng)系統(tǒng)內(nèi)核支持網(wǎng)絡模塊,甚至可以在設備上嵌入Web瀏覽器,真正實現(xiàn)隨時隨地用各種設備上網(wǎng)。

(4)精簡系統(tǒng)內(nèi)核,優(yōu)化關鍵算法,降低功耗和軟硬成本。(5)提供更加友好的多媒體人機交互界面。發(fā)展趨勢(3)未來的嵌入式設備為了適應網(wǎng)絡發(fā)展的要求,必然要1.6通用計算機與嵌入式系統(tǒng)對比1.6通用計算機與嵌入式系統(tǒng)對比硬件平臺比較硬件平臺比較軟件平臺比較返回軟件平臺比較返回2.STM32簡介STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM

Cortex-M3內(nèi)核。按性能分成兩個不同的系列:STM32F103“增強型”系列和STM32F101“基本型”系列。增強型系列時鐘頻率達到72MHz,是同類產(chǎn)品中性能最高的產(chǎn)品;基本型時鐘頻率為36MHz,以16位產(chǎn)品的價格得到比16位產(chǎn)品大幅提升的性能,是16位產(chǎn)品用戶的最佳選擇。兩個系列都內(nèi)置32K~128K的閃存,不同的是SRAM的最大容量和外設接口的組合。時鐘頻率72MHz時,從閃存執(zhí)行代碼,STM32功耗36mA,是32位市場上功耗最低的產(chǎn)品,相當于0.5mA/MHz。2.STM32簡介STM32系列基于專為要求高性能、低成本2.STM32簡介2.1歷史2.2產(chǎn)品介紹2.3Cortex-M3內(nèi)核2.4應用2.STM32簡介2.1歷史2.1STM32歷史意法半導體(STMicroelectronics)集團于1987年6月成立,是由意大利的SGS微電子公司和法國Thomson半導體公司合并而成。1998年5月,SGS-THOMSONMicroelectronics將公司名稱改為意法半導體有限公司,意法半導體是世界最大的半導體公司之一。從成立之初至今,ST的增長速度超過了半導體工業(yè)的整體增長速度。自1999年起,ST始終是世界十大半導體公司之一。2007年6月ST宣布了她的第一款基于Cortex-M3并內(nèi)嵌32K~128K閃存的STM32微控制器系列產(chǎn)品。ARM公司在2004年推出了CM3內(nèi)核,經(jīng)過5年市場的積累,包括ST公司、TI公司等一些半導體公司推出了基于CM3內(nèi)核的微控制器產(chǎn)品。2.1STM32歷史意法半導體(STMicroelecARMARM(AdvancedRISCMachines)是英國的一家微處理器企業(yè),也可以認為是對一類微處理器的通稱,還可以認為是一種技術的名字。見表1-5(P10)ARM體系結構定義了指令集和基于這一體系結構下處理器的編程模型。基于同樣體系結構可以有多種處理器,每個處理器性能不同,所面向的應用也就不同。ARMv7有三個分支,即:

A-應用分支,面向應用,如手持設備。

R-實時分支,面向一般的實時控制。

M-微處理機分支,面向深度嵌入系統(tǒng)。ARMARM(AdvancedRISCMachines)ARM處理器系列ARM處理器系列2.2Cortex-M3內(nèi)核Cortex-M3系列微處理器的主要特點如下:(1)Thumb-2指令集架構(ISA,InstructionSetArchitecture)。(2)哈佛處理器架構,在加載/存儲數(shù)據(jù)的同時能夠執(zhí)行指令取指。(3)三級流水線。(4)32位單周期乘法。(5)具備硬件除法。(6)Thumb狀態(tài)和調(diào)試狀態(tài)。(7)處理模式和線程模式。(8)ISR(InterruptServiceRoutine)的低延遲進入和退出。(9)可中斷-可繼續(xù)的LDM/STM(批量傳輸數(shù)據(jù)的指令),PUSH/POP。(10)ARMv6類型BE8/LE支持。

(字節(jié)不變式大端模式big-endian/小端模式little-endian)(11)ARMv6非對齊訪問。(12)分支預測功能2.2Cortex-M3內(nèi)核Cortex-M3系列微處理器關于指令集Cortex-M3處理器采用ARMv7-M架構,它包括所有的16位Thumb指令集和基本的32位Thumb-2指令集架構,Cortex-M3處理器不能執(zhí)行ARM指令集。Thumb-2在Thumb指令集架構(ISA)上進行了大量的改進,它與Thumb相比,具有更高的代碼密度并提供16/32位指令的更高性能。為兼容數(shù)據(jù)總線寬度為16位的應用系統(tǒng),ARM體系結構除了支持執(zhí)行效率很高的32位ARM指令集以外,同時支持16位的Thumb指令集。Thumb指令集是ARM指令集的一個子集,是針對代碼密度問題而提出的,它具有16位的代碼寬度。與等價的32位代碼相比較,Thumb指令集在保留32位代碼優(yōu)勢的同時,大大的節(jié)省了系統(tǒng)的存儲空間。關于指令集Cortex-M3處理器采用ARMv7-M架構,它Cortex-M3只支持最新的Thumb-2指令集,這樣設計的優(yōu)勢在于:免去Thumb和ARM代碼的互相切換,對于早期的處理器來說,這種切換會降低性能。Thumb-2指令集的設計是專門面向C語言的,切包括If/Then結構、硬件除法以及本地位域操作。Thumb-2指令集允許用戶在C代碼層面維護修改程序。Thumb-2指令集也包含了調(diào)用匯編代碼的功能。綜合以上優(yōu)勢,新產(chǎn)品的開發(fā)將更易于實現(xiàn),上市時間也大為縮短。Cortex-M3只支持最新的Thumb-2指令集,這樣設計三級流水線----取指、譯碼、執(zhí)行三級流水線----取指、譯碼、執(zhí)行關于工作狀態(tài)Coretx-M3處理器有2種工作狀態(tài)。Thumb狀態(tài):這是16位和32位“半字對齊”的Thumb和Thumb-2指令的執(zhí)行狀態(tài)。調(diào)試狀態(tài):處理器停止并進行調(diào)試,進入該狀態(tài)。關于工作狀態(tài)關于工作模式Cortex-M3處理器支持2種工作模式:線程模式和處理模式。在復位時處理器進入“線程模式”,異常返回時也會進入該模式,特權和用戶(非特權)模式代碼能夠在“線程模式”下運行。出現(xiàn)異常模式時處理器進入“處理模式”,在處理模式下,所有代碼都是特權訪問的。關于工作模式Cortex-M3處理器支持2種工作模式:線程模關于中斷Cortex-M3的一個創(chuàng)新在于嵌套中斷向量控制器(NVIC,NestedVectoredInterruptController),是Cortex-M3內(nèi)部的獨有集成單元。NVIC提供如下的功能:可嵌套中斷支持向量中斷支持動態(tài)優(yōu)先級調(diào)整支持中斷延遲大大縮短中斷可屏蔽關于中斷Cortex-M3的一個創(chuàng)新在于嵌套中斷向量控制器(ARM數(shù)據(jù)存儲格式ARM數(shù)據(jù)存儲格式Cortex-M3處理器能夠以小端格式或大端格式訪問存儲器中的數(shù)據(jù)字,而訪問代碼時始終使用小端格式。小端格式是ARM處理器默認的存儲器格式。Cortex-M3處理器能夠以小端格式或大端格式訪問存儲器2.3產(chǎn)品介紹在STM32F105和STM32F107互連型系列微控制器之前,意法半導體已經(jīng)推出STM32基本型系列、增強型系列、USB基本型系列、增強型系列;新系列產(chǎn)品沿用增強型系列的72MHz處理頻率。內(nèi)存包括64KB到256KB閃存和20KB到64KB嵌入式SRAM。新系列采用LQFP64、LQFP100和LFBGA100三種封裝,不同的封裝保持引腳排列一致性,結合STM32平臺的設計理念,開發(fā)人員通過選擇產(chǎn)品可重新優(yōu)化功能、存儲器、性能和引腳數(shù)量,以最小的硬件變化來滿足個性化的應用需求。2.3產(chǎn)品介紹在STM32F105和STM32F107互LQFP也就是薄型QFP(Low-profileQuadFlatPackage)指封裝本體厚度為1.4mm的QFP,是日本電子機械工業(yè)會制定的新QFP外形規(guī)格所用的名稱。QFP封裝:這種技術的中文含義叫四方扁平式封裝技術(QuadFlatPackage),該技術實現(xiàn)的CPU芯片引腳之間距離很小,管腳很細。一般大規(guī)模或超大規(guī)模集成電路采用這種封裝形式,其引腳數(shù)一般都在100以上。該技術封裝CPU時操作方便,可靠性高;而且其封裝外形尺寸較小,寄生參數(shù)減小,適合高頻應用;該技術主要適合用SMT表面貼裝技術在PCB上安裝布線。LQFP也就是薄型QFP(Low-profileQuadLFBGA封裝:也就是薄型FBGAFBGA(Fine-PitchBallGridArray:細間距球柵陣列)是一種在底部有焊球的面陣引腳結構,使封裝所需的安裝面積接近于芯片尺寸。BGA是英文BallGridArrayPackage的縮寫,即球柵陣列封裝。LFBGA封裝:也就是薄型FBGA2.3產(chǎn)品介紹基本型:STM32F101R6,STM32F101C8,STM32F101R8,STM32F101V8,STM32F101RB,STM32F101VB增強型:STM32F103C8,STM32F103R8,STM32F103V8,STM32F103RB,STM32F103VB,STM32F103VE,STM32F103ZE2.3產(chǎn)品介紹基本型:STM32F101R6,STM3STM32型號的說明以STM32F103RBT6這個型號的芯片為例,該型號的組成為7個部分,其命名規(guī)則如下:STM32:STM32代表ARMCortex-M3內(nèi)核的32位微控制器。F:F代表芯片子系列。103:103代表增強型系列。R:R這一項代表引腳數(shù),其中T代表36腳,C代表48腳,R代表64腳,V代表100腳,Z代表144腳。B:B這一項代表內(nèi)嵌Flash容量,其中6代表32K字節(jié)Flash,8代表64K字節(jié)Flash,B代表128K字節(jié)Flash,C代表256K字節(jié)Flash,D代表384K字節(jié)Flash,E代表512K字節(jié)Flash。T:T這一項代表封裝,其中H代表BGA封裝,T代表LQFP封裝,U代表VFQFPN封裝。6:6這一項代表工作溫度范圍,其中6代表-40---85℃,

7代表-40---105℃。STM32型號的說明以STM32F103RBT6這個型號的芯STM32F103RBT6封裝引腳圖STM32F103RBT6封裝引腳圖2.4STM32F103性能STM32F系列屬于中低端的32位ARM微控制器,該系列芯片是意法半導體(ST)公司出品,其內(nèi)核是Cortex-M3。該系列芯片按片內(nèi)Flash的大小可分為三大類:小容量(16K和32K)、中容量(64K和128K)、大容量(256K、384K和512K)。芯片集成有USB,CAN,最多8個定時器,2個ADC,SPI,IIC,USB,UART等多種功能。2.4STM32F103性能STM32F系列屬于中低端的2.4STM32F103性能內(nèi)核:ARM32位Cortex-M3CPU,最高工作頻率72MHz,1.25DMIPS/MHz。單周期乘法和硬件除法。存儲器:片上集成32~512KB的Flash存儲器。6~

64KB的SRAM存儲器。時鐘、復位和電源管理:2.0~

3.6V的電源供電和I/O接口的驅動電壓;上電/斷電復位;4~16MHz的晶振;內(nèi)嵌出廠前調(diào)校的8MHzRC振蕩電路;內(nèi)部40kHz的RC振蕩電路;用于CPU時鐘的PLL(PhaseLockedLoop,鎖相環(huán));帶校準用于RTC(real-timeclock)的32kHz的晶振??删幊屉妷簷z測(PVD)。低功耗:3種低功耗模式:休眠,停止,待機模式。為RTC和備份寄存器供電的VBAT(電池引腳)。調(diào)試模式:串行調(diào)試(SWD)和JTAG接口。DMA(DirectMemoryAccess):12通道DMA控制器。支持的外設:定時器,ADC,DAC,SPI,IIC和UART。2個12位的us級的A/D轉換器(16通道):A/D測量范圍:0-3.6V。雙采樣和保持能力。片上集成一個溫度傳感器。2.4STM32F103性能內(nèi)核:ARM32位Corte2.4STM32F103性能2通道12位D/A轉換器:STM32F103xC,STM32F103xD,STM32F103xE獨有。最多高達112個的快速I/O端口:根據(jù)型號的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16個外部中斷向量。除了模擬輸入,所有的都可以接受5V以內(nèi)的輸入。最多多達11個定時器:4個16位定時器,每個定時器有4個IC/OC/PWM或者脈沖計數(shù)器。2個16位的6通道高級控制定時器:最多6個通道可用于PWM輸出。2個看門狗定時器(獨立看門狗和窗口看門狗)。Systick定時器:24位倒計數(shù)器。2個16位基本定時器用于驅動DAC。最多多達13個通信接口:2個IIC接口。5個USART接口。3個SPI接口,兩個和IIS復用。CAN接口(2.0B)。USB2.0全速接口。SDIO接口。ECOPACK封裝:STM32F103xx系列微控制器采用ECOPACK封裝形式(一種無鉛的BGA封裝)。2.4STM32F103性能2通道12位D/A轉換器:S2.5應用返回2.5應用返回3.教學開發(fā)板3.教學開發(fā)板嵌入式系統(tǒng)設計(STM32)第1講課件嵌入式系統(tǒng)設計(STM32)第1講課件嵌入式系統(tǒng)設計(STM32)第1講課件嵌入式系統(tǒng)設計(STM32)第1講課件嵌入式系統(tǒng)設計(STM32)第1講課件嵌入式系統(tǒng)設計(STM32)第1講課件返回返回4工程模板的建立4.1ARMCortex-M3處理器編程環(huán)境需要準備的資料:1.STM32F10x_StdPeriph_Lib_V3.5.0(這是ST官網(wǎng)下載的固件庫完整版)2.安裝MDK4.70a(Keil)3.注冊License(破解,如果不破解只能支持32K的代碼)安裝成功后,桌面上Keil4顯示圖標4工程模板的建立4.1ARMCortex-M3處理器固件庫是壓縮文件,解壓縮后,準備編程時用。固件庫是壓縮文件,解壓縮后,準備編程時用。4.2新建工程4.2新建工程輸入工程名,保存輸入工程名,保存選擇CPU,STM32F103VB選擇CPU,STM32F103VB彈出對話框“CopySTM32StartupCodetoproject….”,詢問是否添加啟動代碼到我們的工程中,這里我們選擇“否”,因為我們使用的ST固件庫文件已經(jīng)包含了啟動文件。彈出對話框“CopySTM32StartupCode接下來,在Template工程目錄下面,新建3個文件夾CORE,USER,STM32F10x_FWLib。USER用來放我們主函數(shù)文件main.c,以及其他包括system_stm32f10x.c等等,CORE用來存放啟動文件等,STM32F10x_FWLib文件夾顧名思義用來存放ST官方提供的庫函數(shù)源碼文件。還可以新建一個OUTPUT文件夾,用來放。HEX等編譯輸出的文件。接下來,在Template工程目錄下面,新建3個文件夾CO嵌入式系統(tǒng)設計(STM32)第1講課件下面要將官方的固件庫包里的源碼文件復制到我們的工程目錄文件夾下面。下面要將官方的固件庫包里的源碼文件復制到我們的工程目錄文件夾我們只用到arm目錄下面的startup_stm32f10x_md.s文件,這個文件是針對中等容量芯片的啟動文件。其他兩個主要的為startup_stm32f10x_ld.s為小容量,startup_stm32f10x_hs.c為大容量芯片的啟動文件。這里copy進來是方便其他開發(fā)者使用小容量或者大容量芯片的用戶。我們只用到arm目錄下面的startup_stm32f10x嵌入式系統(tǒng)設計(STM32)第1講課件將目錄下面的src、inc文件夾copy到STM32F10x_FWLib文件夾下面。src存放的是固件庫的.c文件,inc存放的是對應的.h文件,每個外設對應一個.c文件和一個.h頭文件。將目錄下面的src、inc文件夾copy到STM32F10x下面將這些文件加入我們的工程中去。右鍵點擊Target1,選擇ManageComponents下面將這些文件加入我們的工程中去。右鍵點擊Target1,選ProjectTargets一欄,將Target名字修改為Template,然后在Groups一欄刪掉一個,建立三個Groups:USER,CORE,FWLIB.點擊OK.ProjectTargets一欄,將Target名字修改為嵌入式系統(tǒng)設計(STM32)第1講課件下面我們往Group里面添加我們需要的文件。右鍵點擊點擊Tempate,選擇選擇ManageComponents.然后選擇需要添加文件的Group,這里第一步我們選擇FWLIB,然后點擊右邊的AddFiles,定位到我們剛才建立的目錄STM32F10x_FWLib/src下面,將里面所有的文件選中(Ctrl+A),然后點擊Add,然后Close.可以看到Files列表下面包含我們添加的文件下面我們往Group里面添加我們需要的文件。右鍵點擊點擊Te嵌入式系統(tǒng)設計(STM32)第1講課件嵌入式系統(tǒng)設計(STM32)第1講課件嵌入式系統(tǒng)設計(STM32)第1講課件下面我們點擊編譯按鈕編譯工程,可以看到很多報錯,因為找不到庫文件。下面我們點擊編譯按鈕編下面要告訴MDK,在哪些路徑之下搜索相應的文件。回到工程主菜單,點擊魔術棒,出來一個菜單,然后點擊c/c++選項.然后點擊IncludePaths右邊的按鈕。彈出一個添加path的對話框,然后我們將圖上面的3個目錄添加進去。記住,keil只會在一級目錄查找,所以如果你的目錄下面還有子目錄,記得path一定要定位到最后一級子目錄。然后點擊OK.下面要告訴MDK,在哪些路徑之下搜索相應的文件。嵌入式系統(tǒng)設計(STM32)第1講課件嵌入式系統(tǒng)設計(STM32)第1講課件重新定位到c/c++界面,然后copy“STM32F10X_MD,USE_STDPERIPH_DRIVER”到Define里面。重新定位到c/c++界面,然后copy“STM32F10X在編譯之前,我們記得打開工程USUR下面的main.c,復制下面代碼到main.c覆蓋已有代碼,然后進行編譯。(記得在代碼的最后面加上一個回車,否則會有警告)#include"stm32f10x.h"GPIO_InitTypeDefGPIO_InitStructure;intmain(void){SystemInit();RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_2;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;在編譯之前,我們記得打開工程USUR下面的main.c,復制GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_Init(GPIOD,&GPIO_InitStructure);while(1){/*SetPD0andPD2*/GPIOD->BSRR=0x00000005;/*ResetPD0andPD2*/GPIOD->BRR=0x00000005;}}GPIO_InitStructure.GPIO_Mode=這次編譯可以看出,已經(jīng)成功了。這樣一個工程模版建立完畢。下面還需要配置,讓編譯之后能夠生成hex文件。同樣點擊魔術棒,進入配置菜單,選擇Output。然后勾上下三個選項。其中CreateHEXfile是編譯生成hex文件這次編譯可以看出,已經(jīng)成功了。這樣一個工程模版建立完畢。嵌入式系統(tǒng)設計(STM32)第1講課件設置輸出文件路徑設置輸出文件路徑編程器ISP設置返回編程器ISP設置返回練習題一國內(nèi)普遍認同的嵌入式系統(tǒng)定義為:以()為中心,以()為基礎,()可裁剪,適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統(tǒng)。嵌入式系統(tǒng)的重要特征有:()、()、()、()、多任務的操作系統(tǒng)和專門的開發(fā)工具和環(huán)境。嵌入式系統(tǒng)體系結構分為兩種:()和()。ARM7采用()結構;DSP和ARM9都采用的()結構。計算機指令系統(tǒng)分為()指令系統(tǒng)和()指令系統(tǒng)。嵌入式處理器分成4類:()、()、()和SoC。嵌入式系統(tǒng)的發(fā)展歷程,大致經(jīng)歷了以下3個階段:()、()、()。嵌入式系統(tǒng)未來的發(fā)展趨勢是:()、()、()。練習題一國內(nèi)普遍認同的嵌入式系統(tǒng)定義為:以()為中心,以練習題一()公司在2004年推出了CM3內(nèi)核。2007年6月()公司宣布了她的第一款基于()內(nèi)核的STM32微控制器系列產(chǎn)品。Cortex-M3處理器采用()架構,它包括所有的()位Thumb指令集和基本的32位Thumb-2指令集架構。Cortex-M3CPU的最高工作頻率是()MHz。Cortex-M3系列微處理器采用()級流水線。大端模式(big-endian)是指高字節(jié)存放在()地址單元。STM32F103RBT6這個型號的芯片,R表示();B表示();T表示();6表示()。通用計算機與嵌入式系統(tǒng)的主要區(qū)別有哪些?練習題一()公司在2004年推出了CM3內(nèi)核。本章結束本章結束STM32嵌入式微控器

快速上手陳志旺等編著電子工業(yè)出版社STM32嵌入式微控器

快速上手陳志旺等編著參考資料喻金錢,喻斌.STM32F系列ARMCortex-M3核微控制器開發(fā)與應用[M].清華大學出版社.彭剛,秦志剛.基于ARMCortex-M3的STM32系列嵌入式微控制器應用實踐[M].電子工業(yè)出版社.李寧.基于MDK的STM32處理器開發(fā)應用[M].北京航空航天大學出版社.參考資料喻金錢,喻斌.STM32F系列ARMCortex考試形式總成績=實驗40%+平時10%+期末50%實驗時間:1-17周,雙周周五上午8:00實驗地點:電子樓119考試形式總成績=實驗40%+平時10%+期末50%主要內(nèi)容

1.嵌入式系統(tǒng)簡介

2.STM32簡介

3.教學開發(fā)板

4.工程模板的建立主要內(nèi)容1.嵌入式系統(tǒng)簡介1.1嵌入式系統(tǒng)定義1.2嵌入式系統(tǒng)的特點1.3嵌入式系統(tǒng)的分類1.4嵌入式系統(tǒng)的應用1.5嵌入式系統(tǒng)的發(fā)展1.6通用計算機與嵌入式系統(tǒng)對比1.嵌入式系統(tǒng)簡介1.1嵌入式系統(tǒng)定義1.1嵌入式系統(tǒng)定義嵌入式系統(tǒng)(Embeddedsystem),是一種“完全嵌入受控器件內(nèi)部,為特定應用而設計的專用計算機系統(tǒng)”,根據(jù)英國電器工程師協(xié)會(U.K.InstitutionofElectricalEngineer)的定義,嵌入式系統(tǒng)為“用于控制、監(jiān)視或者輔助操作機器和設備的裝置”。與個人計算機這樣的通用計算機系統(tǒng)不同,嵌入式系統(tǒng)通常執(zhí)行的是帶有特定要求的預先定義的任務。由于嵌入式系統(tǒng)只針對一項特殊的任務,設計人員能夠對它進行優(yōu)化,減小尺寸降低成本。嵌入式系統(tǒng)通常進行大量生產(chǎn),所以單個的成本節(jié)約,能夠隨著產(chǎn)量進行成百上千的放大。1.1嵌入式系統(tǒng)定義嵌入式系統(tǒng)(Embeddedsys1.1嵌入式系統(tǒng)定義嵌入式系統(tǒng)的核心是由一個或幾個預先編程好以用來執(zhí)行少數(shù)幾項任務的微處理器或者單片機組成。與通用計算機能夠運行用戶選擇的軟件不同,嵌入式系統(tǒng)上的軟件通常是暫時不變的,所以經(jīng)常稱為“固件”。國內(nèi)普遍認同的嵌入式系統(tǒng)定義為:以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統(tǒng)。一般而言,嵌入式系統(tǒng)的構架可以分成四個部分:處理器、存儲器、輸入輸出(I/O)和軟件。1.1嵌入式系統(tǒng)定義嵌入式系統(tǒng)的核心是由一個或幾個預先編1.2嵌入式系統(tǒng)的特點嵌入式系統(tǒng)的幾個重要特征:(1)系統(tǒng)內(nèi)核小。由于嵌入式系統(tǒng)一般是應用于小型電子裝置的,系統(tǒng)資源相對有限,所以內(nèi)核較之傳統(tǒng)的操作系統(tǒng)要小得多。

內(nèi)核,是一個操作系統(tǒng)的核心。是基于硬件的第一層軟件擴充,提供操作系統(tǒng)的最基本的功能,是操作系統(tǒng)工作的基礎,它負責管理系統(tǒng)的進程、內(nèi)存、內(nèi)核體系結構設備驅動程序、文件和網(wǎng)絡系統(tǒng),決定著系統(tǒng)的性能和穩(wěn)定性。(2)專用性強。嵌入式系統(tǒng)的個性化很強,其中的軟件系統(tǒng)和硬件的結合非常緊密,一般要針對硬件進行系統(tǒng)的移植,即使在同一品牌、同一系列的產(chǎn)品中也需要根據(jù)系統(tǒng)硬件的變化和增減不斷進行修改。同時針對不同的任務,往往需要對系統(tǒng)進行較大更改,程序的編譯下載要和系統(tǒng)相結合,這種修改和通用軟件的“升級”是完全兩個概念。1.2嵌入式系統(tǒng)的特點嵌入式系統(tǒng)的幾個重要特征:1.2嵌入式系統(tǒng)的特點(3)系統(tǒng)精簡。嵌入式系統(tǒng)一般沒有系統(tǒng)軟件和應用軟件的明顯區(qū)分,不要求其功能設計及實現(xiàn)上過于復雜,這樣一方面利于控制系統(tǒng)成本,同時也利于實現(xiàn)系統(tǒng)安全。(4)高實時性。高實時性的系統(tǒng)軟件(OS)是嵌入式軟件的基本要求。而且軟件要求固態(tài)存儲,以提高速度;軟件代碼要求高質(zhì)量和高可靠性。(5)多任務的操作系統(tǒng)。嵌入式軟件開發(fā)要想走向標準化,就必須使用多任務的操作系統(tǒng)。嵌入式系統(tǒng)的應用程序可以沒有操作系統(tǒng)而直接在芯片上運行;但是為了合理地調(diào)度多任務,利用系統(tǒng)資源、系統(tǒng)函數(shù)以及專家?guī)旌瘮?shù)接口,用戶必須自行選配RTOS(RealTimeOperatingSystem)開發(fā)平臺,這樣才能保證程序執(zhí)行的實時性、可靠性,并減少開發(fā)時間,保障軟件質(zhì)量。1.2嵌入式系統(tǒng)的特點(3)系統(tǒng)精簡。嵌入式系統(tǒng)一般沒有1.2嵌入式系統(tǒng)的特點(6)專門的開發(fā)工具和環(huán)境。系統(tǒng)開發(fā)需要開發(fā)工具和環(huán)境。由于其本身不具備自舉開發(fā)能力,即使設計完成以后用戶通常也是不能對其中的程序功能進行修改的,必須有一套開發(fā)工具和環(huán)境才能進行開發(fā)。開發(fā)時往往有主機和目標機的概念,主機用于程序的開發(fā),目標機作為最后的執(zhí)行機,開發(fā)時需要交替結合進行。

【自舉(bootstrapping)一詞來自于人都是靠自身的“自舉”機構站立起來的這一思想。計算機必須具備自舉能力將自己所有的元件激活,以便能完成加載操作系統(tǒng)這一目的,然后再由操作系統(tǒng)承擔起那些單靠自舉代碼無法完成的更復雜的任務。自舉只有兩個功能:加電自檢和磁盤引導?!?.2嵌入式系統(tǒng)的特點(6)專門的開發(fā)工具和環(huán)境。系統(tǒng)開1.3嵌入式系統(tǒng)的分類

(1)體系結構。普林斯頓結構(馮·諾依曼結構)和哈佛結構(2)指令集。CISC(復雜指令系統(tǒng))和RISC(精簡指令系統(tǒng))(見表1-2,P4)(3)嵌入式處理器種類。一般可以將嵌入式處理器分成4類,即嵌入式微處理器(MicroProcessor

Unit,MPU)嵌入式微控制器(MicroControllerUnit,MCU單片機)嵌入式DSP處理器(Digital

SignalProcessor,DSP)嵌入式片上系統(tǒng)(SystemOnChip,SoC)

(見表1-3,P5)1.3嵌入式系統(tǒng)的分類

馮·諾依曼結構:單一存儲、統(tǒng)一編址、分時復用馮·諾依曼結構:單一存儲、統(tǒng)一編址、分時復用哈佛結構:分開存儲、獨立編址、兩倍帶寬、效率更高哈佛結構:分開存儲、獨立編址、兩倍帶寬、效率更高CISCvsRISCCISCvsRISC1.4嵌入式系統(tǒng)的應用(1)工業(yè)控制基于嵌入式芯片的工業(yè)自動化設備將獲得長足的發(fā)展,目前已經(jīng)有大量的8、16、32位嵌入式微控制器在應用中,網(wǎng)絡化是提高生產(chǎn)效率和產(chǎn)品質(zhì)量、減少人力資源主要途徑,如工業(yè)過程控制、數(shù)字機床、電力系統(tǒng)、電網(wǎng)安全、電網(wǎng)設備監(jiān)測、石油化工系統(tǒng)。就傳統(tǒng)的工業(yè)控制產(chǎn)品而言,低端型采用的往往是8位單片機。但是隨著技術的發(fā)展,32位、64位的處理器逐漸成為工業(yè)控制設備的核心,在未來幾年內(nèi)必將獲得長足的發(fā)展。(2)交通管理在車輛導航、流量控制、信息監(jiān)測與汽車服務方面,嵌入式系統(tǒng)技術已經(jīng)獲得了廣泛的應用,內(nèi)嵌GPS模塊、GSM模塊的移動定位終端已經(jīng)在各種運輸行業(yè)獲得了成功的使用。目前GPS設備已經(jīng)從尖端產(chǎn)品進入了普通百姓的家庭,只需要幾千元,就可以隨時隨地找到你的位置。1.4嵌入式系統(tǒng)的應用(1)工業(yè)控制1.4嵌入式系統(tǒng)的應用(3)信息家電這將稱為嵌入式系統(tǒng)最大的應用領域,冰箱、空調(diào)等的網(wǎng)絡化、智能化將引領人們的生活步入一個嶄新的空間。即使你不在家里,也可以通過電話線、網(wǎng)絡進行遠程控制。在這些設備中,嵌入式系統(tǒng)將大有用武之地。(4)家庭智能管理系統(tǒng)水、電、煤氣表的遠程自動抄表,安全防火、防盜系統(tǒng),其中嵌有的專用控制芯片將代替?zhèn)鹘y(tǒng)的人工檢查,并實現(xiàn)更高,更準確和更安全的性能。目前在服務領域,如遠程點菜器等已經(jīng)體現(xiàn)了嵌入式系統(tǒng)的優(yōu)勢。(5)POS網(wǎng)絡及電子商務公共交通無接觸智能卡(ContactlessSmartcard,CSC)發(fā)行系統(tǒng),公共電話卡發(fā)行系統(tǒng),自動售貨機,各種智能ATM終端將全面走入人們的生活,到時手持一卡就可以行遍天下。1.4嵌入式系統(tǒng)的應用(3)信息家電1.4嵌入式系統(tǒng)的應用(6)環(huán)境工程與自然水文資料實時監(jiān)測,防洪體系及水土質(zhì)量監(jiān)測、堤壩安全,地震監(jiān)測網(wǎng),實時氣象信息網(wǎng),水源和空氣污染監(jiān)測。在很多環(huán)境惡劣,地況復雜的地區(qū),嵌入式系統(tǒng)將實現(xiàn)無人監(jiān)測。(7)國防與航天嵌入式芯片的發(fā)展將使機器人在微型化,高智能方面優(yōu)勢更加明顯,同時會大幅度降低機器人的價格,使其在工業(yè)領域和服務領域獲得更廣泛的應用。1.4嵌入式系統(tǒng)的應用(6)環(huán)境工程與自然1.5嵌入式系統(tǒng)的發(fā)展縱觀嵌入式系統(tǒng)的發(fā)展歷程,大致經(jīng)歷了以下3個階段:以嵌入式微處理器為基礎的初級嵌入式系統(tǒng)以嵌入式操作系統(tǒng)為標志的中級嵌入式系統(tǒng)以Internet和實時多任務操作系統(tǒng)為標志的高級嵌入式系統(tǒng)

1.5嵌入式系統(tǒng)的發(fā)展發(fā)展趨勢嵌入式技術與Internet技術的結合正在推動著嵌入式技術的飛速發(fā)展,為嵌入式市場展現(xiàn)了美好的前景,同時也對嵌入式生產(chǎn)廠商提出了新的挑戰(zhàn),未來嵌入式系統(tǒng)的幾大發(fā)展趨勢:(1)嵌入式系統(tǒng)的開發(fā)成了一項系統(tǒng)工程,開發(fā)廠商不僅要提供嵌入式軟硬件系統(tǒng)本身,同時還要提供強大的硬件開發(fā)工具和軟件支持包。(2)網(wǎng)絡化、信息化的要求隨著Internet技術的成熟和帶寬的提高而日益突出,以往功能單一的設備如電話、手機、冰箱、微波爐等功能不再單一,結構變得更加復雜,網(wǎng)絡互聯(lián)成為必然趨勢。發(fā)展趨勢嵌入式技術與Internet技術的結合正在推動著嵌入發(fā)展趨勢(3)未來的嵌入式設備為了適應網(wǎng)絡發(fā)展的要求,必然要求硬件上提供各種網(wǎng)絡通信接口。傳統(tǒng)的單片機對于網(wǎng)絡支持不足,而新一代的嵌入式處理器已經(jīng)開始內(nèi)嵌網(wǎng)絡接口,除了支持TCP/IP協(xié)議,還有的支持IEEE1394、USB、CAN、Bluetooth或IrDA通信接口中的一種或者幾種,同時也需要提供相應的通信組網(wǎng)協(xié)議軟件和物理層驅動軟件。軟件方面系統(tǒng)系統(tǒng)內(nèi)核支持網(wǎng)絡模塊,甚至可以在設備上嵌入Web瀏覽器,真正實現(xiàn)隨時隨地用各種設備上網(wǎng)。

(4)精簡系統(tǒng)內(nèi)核,優(yōu)化關鍵算法,降低功耗和軟硬成本。(5)提供更加友好的多媒體人機交互界面。發(fā)展趨勢(3)未來的嵌入式設備為了適應網(wǎng)絡發(fā)展的要求,必然要1.6通用計算機與嵌入式系統(tǒng)對比1.6通用計算機與嵌入式系統(tǒng)對比硬件平臺比較硬件平臺比較軟件平臺比較返回軟件平臺比較返回2.STM32簡介STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM

Cortex-M3內(nèi)核。按性能分成兩個不同的系列:STM32F103“增強型”系列和STM32F101“基本型”系列。增強型系列時鐘頻率達到72MHz,是同類產(chǎn)品中性能最高的產(chǎn)品;基本型時鐘頻率為36MHz,以16位產(chǎn)品的價格得到比16位產(chǎn)品大幅提升的性能,是16位產(chǎn)品用戶的最佳選擇。兩個系列都內(nèi)置32K~128K的閃存,不同的是SRAM的最大容量和外設接口的組合。時鐘頻率72MHz時,從閃存執(zhí)行代碼,STM32功耗36mA,是32位市場上功耗最低的產(chǎn)品,相當于0.5mA/MHz。2.STM32簡介STM32系列基于專為要求高性能、低成本2.STM32簡介2.1歷史2.2產(chǎn)品介紹2.3Cortex-M3內(nèi)核2.4應用2.STM32簡介2.1歷史2.1STM32歷史意法半導體(STMicroelectronics)集團于1987年6月成立,是由意大利的SGS微電子公司和法國Thomson半導體公司合并而成。1998年5月,SGS-THOMSONMicroelectronics將公司名稱改為意法半導體有限公司,意法半導體是世界最大的半導體公司之一。從成立之初至今,ST的增長速度超過了半導體工業(yè)的整體增長速度。自1999年起,ST始終是世界十大半導體公司之一。2007年6月ST宣布了她的第一款基于Cortex-M3并內(nèi)嵌32K~128K閃存的STM32微控制器系列產(chǎn)品。ARM公司在2004年推出了CM3內(nèi)核,經(jīng)過5年市場的積累,包括ST公司、TI公司等一些半導體公司推出了基于CM3內(nèi)核的微控制器產(chǎn)品。2.1STM32歷史意法半導體(STMicroelecARMARM(AdvancedRISCMachines)是英國的一家微處理器企業(yè),也可以認為是對一類微處理器的通稱,還可以認為是一種技術的名字。見表1-5(P10)ARM體系結構定義了指令集和基于這一體系結構下處理器的編程模型。基于同樣體系結構可以有多種處理器,每個處理器性能不同,所面向的應用也就不同。ARMv7有三個分支,即:

A-應用分支,面向應用,如手持設備。

R-實時分支,面向一般的實時控制。

M-微處理機分支,面向深度嵌入系統(tǒng)。ARMARM(AdvancedRISCMachines)ARM處理器系列ARM處理器系列2.2Cortex-M3內(nèi)核Cortex-M3系列微處理器的主要特點如下:(1)Thumb-2指令集架構(ISA,InstructionSetArchitecture)。(2)哈佛處理器架構,在加載/存儲數(shù)據(jù)的同時能夠執(zhí)行指令取指。(3)三級流水線。(4)32位單周期乘法。(5)具備硬件除法。(6)Thumb狀態(tài)和調(diào)試狀態(tài)。(7)處理模式和線程模式。(8)ISR(InterruptServiceRoutine)的低延遲進入和退出。(9)可中斷-可繼續(xù)的LDM/STM(批量傳輸數(shù)據(jù)的指令),PUSH/POP。(10)ARMv6類型BE8/LE支持。

(字節(jié)不變式大端模式big-endian/小端模式little-endian)(11)ARMv6非對齊訪問。(12)分支預測功能2.2Cortex-M3內(nèi)核Cortex-M3系列微處理器關于指令集Cortex-M3處理器采用ARMv7-M架構,它包括所有的16位Thumb指令集和基本的32位Thumb-2指令集架構,Cortex-M3處理器不能執(zhí)行ARM指令集。Thumb-2在Thumb指令集架構(ISA)上進行了大量的改進,它與Thumb相比,具有更高的代碼密度并提供16/32位指令的更高性能。為兼容數(shù)據(jù)總線寬度為16位的應用系統(tǒng),ARM體系結構除了支持執(zhí)行效率很高的32位ARM指令集以外,同時支持16位的Thumb指令集。Thumb指令集是ARM指令集的一個子集,是針對代碼密度問題而提出的,它具有16位的代碼寬度。與等價的32位代碼相比較,Thumb指令集在保留32位代碼優(yōu)勢的同時,大大的節(jié)省了系統(tǒng)的存儲空間。關于指令集Cortex-M3處理器采用ARMv7-M架構,它Cortex-M3只支持最新的Thumb-2指令集,這樣設計的優(yōu)勢在于:免去Thumb和ARM代碼的互相切換,對于早期的處理器來說,這種切換會降低性能。Thumb-2指令集的設計是專門面向C語言的,切包括If/Then結構、硬件除法以及本地位域操作。Thumb-2指令集允許用戶在C代碼層面維護修改程序。Thumb-2指令集也包含了調(diào)用匯編代碼的功能。綜合以上優(yōu)勢,新產(chǎn)品的開發(fā)將更易于實現(xiàn),上市時間也大為縮短。Cortex-M3只支持最新的Thumb-2指令集,這樣設計三級流水線----取指、譯碼、執(zhí)行三級流水線----取指、譯碼、執(zhí)行關于工作狀態(tài)Coretx-M3處理器有2種工作狀態(tài)。Thumb狀態(tài):這是16位和32位“半字對齊”的Thumb和Thumb-2指令的執(zhí)行狀態(tài)。調(diào)試狀態(tài):處理器停止并進行調(diào)試,進入該狀態(tài)。關于工作狀態(tài)關于工作模式Cortex-M3處理器支持2種工作模式:線程模式和處理模式。在復位時處理器進入“線程模式”,異常返回時也會進入該模式,特權和用戶(非特權)模式代碼能夠在“線程模式”下運行。出現(xiàn)異常模式時處理器進入“處理模式”,在處理模式下,所有代碼都是特權訪問的。關于工作模式Cortex-M3處理器支持2種工作模式:線程模關于中斷Cortex-M3的一個創(chuàng)新在于嵌套中斷向量控制器(NVIC,NestedVectoredInterruptController),是Cortex-M3內(nèi)部的獨有集成單元。NVIC提供如下的功能:可嵌套中斷支持向量中斷支持動態(tài)優(yōu)先級調(diào)整支持中斷延遲大大縮短中斷可屏蔽關于中斷Cortex-M3的一個創(chuàng)新在于嵌套中斷向量控制器(ARM數(shù)據(jù)存儲格式ARM數(shù)據(jù)存儲格式Cortex-M3處理器能夠以小端格式或大端格式訪問存儲器中的數(shù)據(jù)字,而訪問代碼時始終使用小端格式。小端格式是ARM處理器默認的存儲器格式。Cortex-M3處理器能夠以小端格式或大端格式訪問存儲器2.3產(chǎn)品介紹在STM32F105和STM32F107互連型系列微控制器之前,意法半導體已經(jīng)推出STM32基本型系列、增強型系列、USB基本型系列、增強型系列;新系列產(chǎn)品沿用增強型系列的72MHz處理頻率。內(nèi)存包括64KB到256KB閃存和20KB到64KB嵌入式SRAM。新系列采用LQFP64、LQFP100和LFBGA100三種封裝,不同的封裝保持引腳排列一致性,結合STM32平臺的設計理念,開發(fā)人員通過選擇產(chǎn)品可重新優(yōu)化功能、存儲器、性能和引腳數(shù)量,以最小的硬件變化來滿足個性化的應用需求。2.3產(chǎn)品介紹在STM32F105和STM32F107互LQFP也就是薄型QFP(Low-profileQuadFlatPackage)指封裝本體厚度為1.4mm的QFP,是日本電子機械工業(yè)會制定的新QFP外形規(guī)格所用的名稱。QFP封裝:這種技術的中文含義叫四方扁平式封裝技術(QuadFlatPackage),該技術實現(xiàn)的CPU芯片引腳之間距離很小,管腳很細。一般大規(guī)?;虺笠?guī)模集成電路采用這種封裝形式,其引腳數(shù)一般都在100以上。該技術封裝CPU時操作方便,可靠性高;而且其封裝外形尺寸較小,寄生參數(shù)減小,適合高頻應用;該技術主要適合用SMT表面貼裝技術在PCB上安裝布線。LQFP也就是薄型QFP(Low-profileQuadLFBGA封裝:也就是薄型FBGAFBGA(Fine-PitchBallGridArray:細間距球柵陣列)是一種在底部有焊球的面陣引腳結構,使封裝所需的安裝面積接近于芯片尺寸。BGA是英文BallGridArrayPackage的縮寫,即球柵陣列封裝。LFBGA封裝:也就是薄型FBGA2.3產(chǎn)品介紹基本型:STM32F101R6,STM32F101C8,STM32F101R8,STM32F101V8,STM32F101RB,STM32F101VB增強型:STM32F103C8,STM32F103R8,STM32F103V8,STM32F103RB,STM32F103VB,STM32F103VE,STM32F103ZE2.3產(chǎn)品介紹基本型:STM32F101R6,STM3STM32型號的說明以STM32F103RBT6這個型號的芯片為例,該型號的組成為7個部分,其命名規(guī)則如下:STM32:STM32代表ARMCortex-M3內(nèi)核的32位微控制器。F:F代表芯片子系列。103:103代表增強型系列。R:R這一項代表引腳數(shù),其中T代表36腳,C代表48腳,R代表64腳,V代表100腳,Z代表144腳。B:B這一項代表內(nèi)嵌Flash容量,其中6代表32K字節(jié)Flash,8代表64K字節(jié)Flash,B代表128K字節(jié)Flash,C代表256K字節(jié)Flash,D代表384K字節(jié)Flash,E代表512K字節(jié)Flash。T:T這一項代表封裝,其中H代表BGA封裝,T代表LQFP封裝,U代表VFQFPN封裝。6:6這一項代表工作溫度范圍,其中6代表-40---85℃,

7代表-40---105℃。STM32型號的說明以STM32F103RBT6這個型號的芯STM32F103RBT6封裝引腳圖STM32F103RBT6封裝引腳圖2.4STM32F103性能STM32F系列屬于中低端的32位ARM微控制器,該系列芯片是意法半導體(ST)公司出品,其內(nèi)核是Cortex-M3。該系列芯片按片內(nèi)Flash的大小可分為三大類:小容量(16K和32K)、中容量(64K和128K)、大容量(256K、384K和512K)。芯片集成有USB,CAN,最多8個定時器,2個ADC,SPI,IIC,USB,UART等多種功能。2.4STM32F103性能STM32F系列屬于中低端的2.4STM32F103性能內(nèi)核:ARM32位Cortex-M3CPU,最高工作頻率72MHz,1.25DMIPS/MHz。單周期乘法和硬件除法。存儲器:片上集成32~512KB的Flash存儲器。6~

64KB的SRAM存儲器。時鐘、復位和電源管理:2.0~

3.6V的電源供電和I/O接口的驅動電壓;上電/斷電復位;4~16MHz的晶振;內(nèi)嵌出廠前調(diào)校的8MHzRC振蕩電路;內(nèi)部40kHz的RC振蕩電路;用于CPU時鐘的PLL(PhaseLockedLoop,鎖相環(huán));帶校準用于RTC(real-timeclock)的32kHz的晶振??删幊屉妷簷z測(PVD)。低功耗:3種低功耗模式:休眠,停止,待機模式。為RTC和備份寄存器供電的VBAT(電池引腳)。調(diào)試模式:串行調(diào)試(SWD)和JTAG接口。DMA(DirectMemoryAccess):12通道DMA控制器。支持的外設:定時器,ADC,DAC,SPI,IIC和UART。2個12位的us級的A/D轉換器(16通道):A/D測量范圍:0-3.6V。雙采樣和保持能力。片上集成一個溫度傳感器。2.4STM32F103性能內(nèi)核:ARM32位Corte2.4STM32F103性能2通道12位D/A轉換器:STM32F103xC,STM32F103xD,STM32F103xE獨有。最多高達112個的快速I/O端口:根據(jù)型號的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16個外部中斷向量。除了模擬輸入,所有的都可以接受5V以內(nèi)的輸入。最多多達11個定時器:4個16位定時器,每個定時器有4個IC/OC/PWM或者脈沖計數(shù)器。2個16位的6通道高級控制定時器:最多6個通道可用于PWM輸出。2個看門狗定時器(獨立看門狗和窗口看門狗)。Systick定時器:24位倒計數(shù)器。2個16位基本定時器用于驅動DAC。最多多達13個通信接口:2個IIC接口。5個USART接口。3個SPI接口,兩個和IIS復用。CAN接口(2.0B)。USB2.0全速接口。SDIO接口。ECOPACK封裝:STM32F103xx系列微控制器采用ECOPACK封裝形式(一種無鉛的BGA封裝)。2.4STM32F103性能2通道12位D/A轉換器:S2.5應用返回2.5應用返回3.教學開發(fā)板3.教學開發(fā)板嵌入式系統(tǒng)設計(STM32)第1講課件嵌入式系統(tǒng)設計(STM32)第1講課件嵌入式系統(tǒng)設計(STM32)第1講課件嵌入式系統(tǒng)設計(STM32)第1講課件嵌入式系統(tǒng)設計(STM32)第1講課件嵌入式系統(tǒng)設計(STM32)第1講課件返回返回4工程模板的建立4.1ARMCortex-M3處理器編程環(huán)境需要準備的資料:1.STM32F10x_StdPeriph_Lib_V3.5.0(這是ST官網(wǎng)下載的固件庫完整版)2.安裝MDK4.70a(Keil)3.注冊License(破解,如果不破解只能支持32K的代碼)安裝成功后,桌面上Keil4顯示圖標4工程模板的建立4.1ARMCortex-M3處理器固件庫是壓縮文件,解壓縮后,準備編程時用。固件庫是壓縮文件,解壓縮后,準備編程時用。4.2新建工程4.2新建工程輸入工程名,保存輸入工程名,保存選擇CPU,STM32F103VB選擇CPU,STM32F103VB彈出對話框“CopySTM32StartupCodetoproject….”,詢問是否添加啟動代碼到我們的工程中,這里我們選擇“否”,因為我們使用的ST固件庫文件已經(jīng)包含了啟動文件。彈出對話框“CopySTM32StartupCode接下來,在Template工程目錄下面,新建3個文件夾CORE,USER,STM32F10x_FWLib。USER用來放我們主函數(shù)文件main.c,以及其他包括system_stm32f10x.c等等,CORE用來存放啟動文件等,STM32F10x_FWLib文件夾顧名思義用來存放ST官方提供的庫函數(shù)源碼文件。還可以新建一個OUTPUT文件夾,用來放。HEX等編譯輸出的文件。接下來,在Template工程目錄下面,新建3個文件夾CO嵌入式系統(tǒng)設計(STM32)第1講課件下面要將官方的固件庫包里的源碼文件復制到我們的工程目錄文件夾下面。下面要將官方的固件庫包里的源碼文件復制到我們的工程目錄文件夾我們只用到a

溫馨提示

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

評論

0/150

提交評論