嵌入式系統(tǒng)基礎與實踐-基于 ARM Cortex-M3 內(nèi)核的 STM32 微控制器(第2版) 課件 第2章 ARM Cortex-M3內(nèi)核與STM32_第1頁
嵌入式系統(tǒng)基礎與實踐-基于 ARM Cortex-M3 內(nèi)核的 STM32 微控制器(第2版) 課件 第2章 ARM Cortex-M3內(nèi)核與STM32_第2頁
嵌入式系統(tǒng)基礎與實踐-基于 ARM Cortex-M3 內(nèi)核的 STM32 微控制器(第2版) 課件 第2章 ARM Cortex-M3內(nèi)核與STM32_第3頁
嵌入式系統(tǒng)基礎與實踐-基于 ARM Cortex-M3 內(nèi)核的 STM32 微控制器(第2版) 課件 第2章 ARM Cortex-M3內(nèi)核與STM32_第4頁
嵌入式系統(tǒng)基礎與實踐-基于 ARM Cortex-M3 內(nèi)核的 STM32 微控制器(第2版) 課件 第2章 ARM Cortex-M3內(nèi)核與STM32_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章ARMCortex-M3內(nèi)核與STM32微控制器STM32本章知識與能力要求理解馮

諾依曼結(jié)構(gòu)與哈佛結(jié)構(gòu)的區(qū)別;了解CISC和RISC的區(qū)別和聯(lián)系;了解ARM體系結(jié)構(gòu);理解和掌握Cortex-M3的內(nèi)核結(jié)構(gòu)、寄存器組、存儲結(jié)構(gòu)及NVIC;理解和掌握STM32微控制器內(nèi)部結(jié)構(gòu),包括系統(tǒng)總線、存儲結(jié)構(gòu)及時鐘系統(tǒng)。2.1嵌入式系統(tǒng)基礎知識2.2ARM2.3Cortex-M3內(nèi)核2.4STM32微控制器結(jié)構(gòu)第2章ARMCortex-M3內(nèi)核與STM322.1嵌入式系統(tǒng)基礎知識2.1.1馮

諾依曼結(jié)構(gòu)與哈佛結(jié)構(gòu)2.1.2ARM存儲模式2.1.3CISC和RISC2.1.4流水線技術2.1.1馮

諾依曼結(jié)構(gòu)與哈佛結(jié)構(gòu)計算機由運算器、控制器、存儲器、輸入設備和輸出設備五大部件組成指令地址和數(shù)據(jù)地址指向同一個存儲器的不同物理位置,統(tǒng)一編址,寬度相同。

由于指令和數(shù)據(jù)放在同一個存儲器中,因此馮

諾依曼結(jié)構(gòu)的計算機不能同時既取指令又取數(shù)據(jù)典型的馮

諾依曼計算機結(jié)構(gòu)框圖2.1.1馮

諾依曼結(jié)構(gòu)與哈佛結(jié)構(gòu)指令存儲器和數(shù)據(jù)存儲器獨立編址、獨立訪問數(shù)據(jù)和指令分別存儲在兩個獨立的存儲器中使用兩條獨立的總線分別與CPU進行信息交換數(shù)據(jù)和指令的存儲可以同時進行容易實現(xiàn)指令流水。哈佛體系結(jié)構(gòu)框圖2.1.2ARM存儲模式計算機的存儲器是以字節(jié)為單位進行劃分的,每個地址單元都對應著一個字節(jié),一個字節(jié)占8位(bit)存儲方式有兩種:小端模式:數(shù)據(jù)的低字節(jié)存放在內(nèi)存低地址處,數(shù)據(jù)的高字節(jié)存放在內(nèi)存高地址處舉例:一個32位的數(shù)據(jù)0x12345678,存放在內(nèi)存地址為0x8000~0x8003內(nèi)存地址0x80000x80010x80020x8003數(shù)據(jù)(十六進制表示)0x780x560x340x12大端模式:數(shù)據(jù)的高字節(jié)存放在內(nèi)存低地址處,數(shù)據(jù)的低字節(jié)存放在內(nèi)存高地址處內(nèi)存地址0x80000x80010x80020x8003數(shù)據(jù)(十六進制表示)0x120x340x560x782.1.3CISC和RISC把特定的由0和1組成的序列當作指令,通過指令來操作計算機選用使用頻度較高的一些簡單指令指令的指令長度固定指令格式和尋址方式的種類較少便于指令的流水線操作絕大部分指令的操作均在運行速度最快的寄存器內(nèi)完成采用優(yōu)化的編譯程序來生成高效的目標代碼RISC(ReducedInstructionSetComputer)精簡指令集計算機2.1.3CISC和RISC把特定的由0和1組成的序列當作指令,通過指令來操作計算機CISC(ComplexInstructionSetComputer)復雜指令集計算機指令系統(tǒng)比較豐富指令字長不固定指令格式較多尋址方式多絕大多數(shù)指令需要多個時鐘周期才能執(zhí)行完畢更多地應用于桌面、高性能計算機領域2.1.3CISC和RISC指標CISCRISC價格硬件結(jié)構(gòu)復雜,芯片成本高硬件結(jié)構(gòu)較簡單,芯片成本低流水線減少代碼尺寸,增加指令的執(zhí)行周期數(shù),注重硬件執(zhí)行指令的功能性使用流水線降低指令的執(zhí)行周期數(shù),增加代碼密度指令集指令長度不固定,大量的混雜型指令集,有專用指令完成特殊功能指令長度固定,簡單的單周期指令,不常用的功能由多個簡單指令組合完成功耗與體積含有豐富的電路單元,功能強,體積大,功耗大處理器結(jié)構(gòu)簡單,體積小,功耗小設計周期長短應用范圍通用桌面機、高性能計算機嵌入式領域、移動設備RISC技術與CISC技術比較2.1.4流水線技術三級流水時序圖每條指令分解為多步,并讓各步操作重疊,從而實現(xiàn)幾條指令并行處理的技術,稱為流水線技術。

ARMCortex-M3微控制器采用的三級流水線:取指—譯碼—執(zhí)行取指(FI):將指令從存儲器中取出譯碼(DI):對所取到的指令進行翻譯執(zhí)行(EI):執(zhí)行指令單位時間內(nèi)流水線所完成的指令數(shù)或輸出結(jié)果的數(shù)量2.1.4流水線技術流水線的技術指標通常用吞吐率、加速比和效率三項指標來衡量吞吐率吞吐率表示為:

吞吐率=指令條數(shù)/指令流水線所需時間流水線執(zhí)行n條指令所需時間:所需時間=完成一條指令所需時間+

(指令條數(shù)n-1)×時間最長的指令段2.1.4流水線技術【舉例】現(xiàn)有一個三級指令流水線分為取指、分析和執(zhí)行三個部分,其中,取指周期為1ns,分析指令周期為3ns,執(zhí)行指令周期為2ns,則完成100條指令其吞吐率為多少?解:由吞吐率的計算公式可知,需先計算出執(zhí)行100條指令流水所花費的時間。完成第一條指令需要1+3+2=6ns,即若不采用指令流水操作,完成一條指令需6ns。由于分析指令所用時間最長為3ns,那么從第二條指令開始,每隔3ns就能完成一條指令,完成100條指令所需要的流水時間為:6ns+(100-1)×3ns=303ns,

則吞吐率為:

100/303ns。完成一批任務不使用流水線時間和使用流水線所用時間之比。2.1.4流水線技術加速比2.2ARMARM010203ARM是一家公司,在全球半導體行業(yè)技術領先,其主要業(yè)務是設計16位和32位嵌入式處理器ARM是一類微處理器芯片或產(chǎn)品的統(tǒng)稱,是采用ARM技術開發(fā)的RISC處理器的通稱ARM是一種技術的名稱,是一個AdvancedRISCMachines32位RISC處理器體系結(jié)構(gòu)ARM專門從事基于RISC技術芯片的設計開發(fā),不直接生產(chǎn)芯片,而是轉(zhuǎn)讓技術設計許可,由合作公司生產(chǎn)各具特色的芯片。2.2.2ARM體系結(jié)構(gòu)體系結(jié)構(gòu)主要包括微處理器所支持的指令集和基于該體系結(jié)構(gòu)下微處理器的編程模型。對于程序開發(fā)人員來說,體系結(jié)構(gòu)最重要的部分是指此微處理器提供的指令系統(tǒng)和寄存器組。所謂計算機的體系結(jié)構(gòu)(ComputerArchitecture),是指計算機的邏輯結(jié)構(gòu)與功能特性。ARM處理器架構(gòu)2.2.2ARM體系結(jié)構(gòu)ARM體系結(jié)構(gòu)處理器位數(shù)內(nèi)核產(chǎn)品ARMv4T32ARM7TDMI,ARM9TDMIARMv532ARM7EJ、ARM9EARMv632ARM11ARMv6-M32ARMCortex-M0,ARMCortex-M0+ARMv7-M32ARMCortex-M3ARMv7E-M32ARMCortex-M4ARMv7-R32ARMCortex-R0ARMCortex-R5ARMv7-A32ARMCortex-A5ARMCortex-A9ARMCortex-A15ARMv8-A64/32ARMCortex-A53ARMCortex-A57ARM處理器架構(gòu)及典型內(nèi)核產(chǎn)品2.2.2ARM體系結(jié)構(gòu)Samsung公司基于ARM內(nèi)核架構(gòu)的系列產(chǎn)品2.2.2ARM體系結(jié)構(gòu)嵌入式領域常見的半導體公司

及其ARM架構(gòu)的代表性產(chǎn)品半導體公司代表性產(chǎn)品(內(nèi)核架構(gòu))TI(德州儀器)LM3Sxxxx系列(Cortex-M3)LM4Fxxxx系列(Cortex-M4)NXP(恩智浦)LPC1800(Cortex-M3)LPC4300(Cortex-M4)Atmel(愛特梅爾)AtmelAT89、AVR系列ATmegaSAM3S系列(Cortex-M3)、SAM4S系列(Cortex-M4)Freescale(飛思卡爾)KinetisX系列(Cortex-M4)、MPC5xx系列ST(意法半導體)STM32、STM82.2.2ARM體系結(jié)構(gòu)Cortex系列處理器Cortex-A應用程序型,虛擬內(nèi)存系統(tǒng)架構(gòu),適用于高端消費電子領域Cortex-R實時型,針對高性能高實時性的應用Cortex-M微控制器型,適合低功耗、高性能且成本敏感的產(chǎn)品,主要面向嵌入式及工業(yè)控制領域Cortex-M3Cortex-M4Cortex-M72.2.2ARM體系結(jié)構(gòu)

ARMCortex-M0+ARM

Cortex-M0ARM

Cortex-M3ARM

Cortex-M4ARM

Cortex-M7應用范圍8/16位應用8/16位應用32位應用32位DSC應用32位應用架構(gòu)版本ARMv6-MARMv6-MARMv7-M+哈佛結(jié)構(gòu)ARMv7-MARMv7-M流水線2級流水線3級流水線3級流水線3級流水線6級流水線+分支預測FPU(浮點運算單元)NONONOYESYES特點在M0的基礎上進一步降低功耗,提高性能低功耗,低成本,使用低功耗微控制器和深度嵌入式應用出色的計算性能以及對事件的優(yōu)異系統(tǒng)響應能力,適用于具有較高確定性的實時應用較高的信號處理能力,適用于需要控制和信號處理功能混合的數(shù)字信號控制領域保持良好的響應性和易用性的同時,實現(xiàn)最高性能Cortex-M系列微控制器比較2.3Cortex-M3內(nèi)核Cortex-M3是基于ARMv7-M體系結(jié)構(gòu)設計的32位的處理器內(nèi)核數(shù)據(jù)寬度、寄存器位數(shù)和存儲器位數(shù)都是32位的采用基于哈佛結(jié)構(gòu)的三級流水線內(nèi)核擁有獨立的數(shù)據(jù)總線和指令總線數(shù)據(jù)總線和指令總線共享一個存儲器空間,總的尋址空間為4GBARMCortex-M3體系結(jié)構(gòu)2.3Cortex-M3內(nèi)核Cortex-M3微處理器Cortex-M3內(nèi)核中央處理器核心(Cortex-M3Core)嵌套向量中斷控制器(NVIC)系統(tǒng)時鐘(SYSTICK)存儲器保護單元(MPU)總線矩陣(AHB互連網(wǎng)絡)調(diào)試系統(tǒng)串行線/串口JTAG調(diào)試端口(SW-DP/SWJ-DP)基于AHB總線的通用調(diào)試接口(AHB-AP)嵌入式跟蹤單元(ETM)數(shù)據(jù)觀察點觸發(fā)器(DWT)2.3Cortex-M3內(nèi)核Cortex-M3內(nèi)核架構(gòu)框圖Cortex-M3Core:包括指令提取單元、譯碼單元、寄存器組和ALU等;嵌套向量中斷控制器(NVIC):用于實現(xiàn)快速、低延遲的異常中斷處理;系統(tǒng)時鐘(SYSTICK):24位倒計時計數(shù)器,可作為系統(tǒng)定時器,用于產(chǎn)生定時中斷;存儲器保護單元(MPU):用于對存儲區(qū)域的訪問保護,防止用戶程序破壞存儲區(qū)域的關鍵數(shù)據(jù);總線矩陣(AHB互連網(wǎng)絡):用來將處理器內(nèi)核和調(diào)試接口連接到不同功能的外部總線上,提供并行數(shù)據(jù)傳輸功能,還提供附加數(shù)據(jù)傳送功能。2.3Cortex-M3內(nèi)核目錄2.3.1內(nèi)核結(jié)構(gòu)2.3.2寄存器2.3.3存儲結(jié)構(gòu)2.3.4中斷與異常(NVIC)2.3.1內(nèi)核結(jié)構(gòu)芯片級的計算機ARM公司Cortex-M3內(nèi)核各大半導體公司針對不同的應用場合和領域,通過添加不同的外設以增加不同的功能+=將CPU(Cortex-M3內(nèi)核)、存儲器、定時器/計數(shù)器、I/O等集成在一個芯片上2.3.1內(nèi)核結(jié)構(gòu)ATMEL公司的SAM3X系列32位微控制器Features:ARMCortex-M3revision2.0runningatupto84MHzMemoryProtectionUnit(MPU)24-bitSysTickCounterThumb?-2instructionsetNestedVectorInterruptController2x256KbytesembeddedFlash,128-bitwideaccess,memoryaccelerator,dualbankATMEL公司的SAM3X系列MCU功能結(jié)構(gòu)圖2.3.1內(nèi)核結(jié)構(gòu)NXP公司的LPC1700系列芯片KeyFeatures:-ARMCortex-M3core-Upto120MHzoperation-NestedVectoredInterruptControllerforfastdeterministicinterrupts-WakeupInterruptControllerallowsautomaticwakefromanypriorityinterrupt-MemoryProtectionUnit-Fourreducedpowermodes:Sleep,Deep-Sleep,Power-downandDeeppower-downNXP公司LPC1700系列MCU功能結(jié)構(gòu)圖2.3.1內(nèi)核結(jié)構(gòu)TI公司的StellarisLM3S系列微控制器LM3S8971Features-32-bitARM?Cortex?-M350-MHzprocessorcorewithSystemTimer(SysTick),integratedNestedVectoredInterruptController(NVIC),MemoryProtectionUnit(MPU),andThumb-2instructionset-Full-featureddebugsolutionwithdebugaccessviaJTAGandSerialWireinterfaces,andIEEE1149.1-1990compliantTestAccessPort(TAP)controller-256KBsingle-cycleflashand64KBsingle-cycleSRAM-Lower-powerbattery-backedHibernationmodulewithReal-TimeClock-4-38GPIOs(dependingonconfiguration)withprogrammablecontrolforGPIOinterruptsandpadconfigurationTI公司32位微控制器LM3S8971功能結(jié)構(gòu)框圖2.3.1內(nèi)核結(jié)構(gòu)針對不同應用場合和各自優(yōu)勢領域,生產(chǎn)出各具特色的微控制器上述三個不同半導體公司的不同系列的芯片基于ARMCortex-M3內(nèi)核的32位微控制器具有Cortex-M3內(nèi)核的基本架構(gòu),如NVIC、JTAG/SWD調(diào)試接口SRAM和FLASH的大小外設的不同相同之處不同之處I/O、時鐘的不同2.3.2寄存器寄存器有兩大類:CPU內(nèi)部的寄存器,比如Cortex-M3中的通用寄存器R0、R15(PC)等,外設I/O接口中的寄存器,I/O接口與存儲器統(tǒng)一編址,通過軟件編程對寄存器進行讀或者寫操作,即可實現(xiàn)對外設的控制晶體管(二極管、三極管、場效應MOS管基本門電路觸發(fā)器存儲1位二進制數(shù)據(jù)寄存器存儲二進制數(shù)據(jù)寄存器通用寄存器保存指令執(zhí)行過程中臨時存放的寄存器操作數(shù)和中間結(jié)果特殊功能寄存器(SFR)用于外設控制相關的操作2.3.2寄存器ARMCortex-M3微處理器:13個32位的通用寄存器R0~R12R13、R14和R15三個寄存器被指定了專門的用途Cortex-M3內(nèi)核寄存器2.3.2寄存器特殊功能寄存器程序狀態(tài)寄存器等狀態(tài)應用狀態(tài)寄存器(APSR)中斷狀態(tài)寄存器(IPSR)執(zhí)行狀態(tài)寄存器(EPSR)中斷屏蔽寄存器PRIMASK寄存器FAULTMASK寄存器BASEPRI寄存器控制寄存器存放程序運行中的各種狀態(tài)信息以及中斷控制異常和中斷的屏蔽定義特權狀態(tài),還用于決定當前使用哪一個堆棧指針Cortex-M3內(nèi)核的

特殊功能寄存器2.3.3存儲結(jié)構(gòu)ARMCortex-M3系列微處理器采用存儲器與I/O設備(外設)統(tǒng)一編址的方式,設置部分存儲器地址范圍用于外設的訪問,將這種通過存儲器地址訪問外設的方式,稱為存儲器地址映射。存儲器映射,就是將芯片中或芯片外的FLASH、RAM和外設接口等進行統(tǒng)一編址,用于程序存儲、數(shù)據(jù)存儲、寄存器和外設。Cortex-M3存儲器映射2.3.4中斷與異常(NVIC)打斷程序正常執(zhí)行順序的事件,都被稱為異常(exception)。中斷一般指來自外部的片上外設或外擴的外設的中斷請求事件。Cortex-M3內(nèi)核可支持256種異常和中斷:中斷編號1~15為系統(tǒng)異常大于等于16的則全是外部中斷,共240個外部中斷通常外部中斷寫作IRQs,Cortex-M3具有256級的可編程中斷優(yōu)先級設置,功能十分強大.2.3.4中斷與異常(NVIC)編號類別優(yōu)先級優(yōu)先級類型說明0N/AN/A

沒有編號為0的異常,此為正常狀態(tài)1復位(Reset)-3(最高)固定復位2NMI-2固定不可屏蔽中斷(來自外部NMI輸入腳)3硬(Hard)Fault-1固定只要FAULTMASK沒有置位,硬Fault服務例程會被強制執(zhí)行4存儲器Fault0可編程MPU訪問違例以及訪問非法位置均可引發(fā)5總線Fault1可編程總線收到了錯誤響應,6用法Fault2可編程由于程序錯誤導致的異常。7-10保留(Reserved)保留保留保留11SVCall3可編程執(zhí)行系統(tǒng)服務調(diào)用指令(SVC)引發(fā)的異常12調(diào)試監(jiān)視器(DebugMonitor)4可編程調(diào)試監(jiān)視器(斷點、數(shù)據(jù)觀察點、或是外部調(diào)試請求)13ReservedN.A.N.A.保留14PendSV

可編程為系統(tǒng)設備而設的“可掛起請求”15SysTick

可編程系統(tǒng)滴答定時器16Interrupt#07可編程外部中斷#0……………可編程……256Interrupt#239247可編程外部中斷#239Cortex-M3中斷2.3.4中斷與異常(NVIC)作用統(tǒng)一管理和配置中斷通過優(yōu)先級來控制中斷的嵌套和調(diào)度。在NVIC中,優(yōu)先級的數(shù)值越小,則優(yōu)先級越高。Cortex-M3內(nèi)核集成了一個外設——NVIC用于專門負責中斷。01可嵌套中斷支持,即高優(yōu)先級的中斷可以打斷低優(yōu)先級的中斷。02向量中斷支持,縮短中斷延遲時間。03動態(tài)優(yōu)先級調(diào)整支持。軟件可以在運行期間更改中斷的優(yōu)先級。04引入新特長新技術,中斷延遲大大縮短05中斷可屏蔽NVIC具有以下特性2.3.4中斷與異常(NVIC)響應中斷的過程保存現(xiàn)場處理器將相關的寄存器xPSR、PC、LR、R12及R0~R3壓入堆棧中。如果當前使用的是PSP,則壓入進程堆棧,否則壓入主堆棧。取向量從中斷向量表中找到相應的中斷服務程序的入口地址更新寄存器將堆棧指針進行更新,在向量取出后,程序寄存器指針(PC)指向中斷服務程序的入口地址,更新程序寄存器指針(PC)以及更新鏈接寄存器(LR)。2.4STM32微控制器結(jié)構(gòu)2.4.1STM32系統(tǒng)結(jié)構(gòu)2.4.2STM32總線結(jié)構(gòu)2.4.3STM32存儲結(jié)構(gòu)2.4.4STM32中斷2.4.5STM32時鐘系統(tǒng)

STM32F10x系列是ST公司基于ARMCortex-M3內(nèi)核設計的32位精簡指令集微控制器,最高工作頻率為72MHz。2.4.1STM32系統(tǒng)結(jié)構(gòu)STM32F10x微控制器功能結(jié)構(gòu)圖總線是各種信號線的集合,是嵌入式系統(tǒng)中各部件之間傳送數(shù)據(jù)、地址和控制信息的公共通路。2.4.2STM32總線結(jié)構(gòu)嵌入式系統(tǒng)中常用的總線與總線相關的參數(shù)總線寬度:總線能同時傳送的數(shù)據(jù)位數(shù)(bit),如32位總線頻率:總線的工作速度,頻率越高,速度越快總線帶寬=總線寬度×總線頻率/8單位為MBpsI2C總線SPI總線CAN總線ISA總線PCI總線2.4.2STM32總線結(jié)構(gòu)AHB:AdvancedHigh-speedBus,先進高速總線。APB:AdvancedPeripheralBus,先進外設總線。FLASH:閃存。FSMC:FlexibleStaticMemoryController,靜態(tài)存儲控制器,用于連接外部存儲器。RCC:ResetandClockControl,復位與時鐘控制器。

STM32F10x芯片系統(tǒng)結(jié)構(gòu)2.4.2STM32總線結(jié)構(gòu)

STM32F10x芯片系統(tǒng)結(jié)構(gòu)ICode總線:32位的AHB總線,將Cortex-M3內(nèi)核的指令總線與閃存FLASH接口相連接,指令預取在此總線上完成。DCode總線:32位的AHB總線,將Cortex-M3內(nèi)核的DCode總線與閃存存儲器的數(shù)據(jù)接口相連接,用于常量加載和調(diào)試訪問。System總線:32位的AHB總線,連接Cortex-M3內(nèi)核的系統(tǒng)總線到總線矩陣??偩€矩陣:用于主控總線之間的訪問仲裁管理,由總線控制器統(tǒng)一管理。DMA總線:執(zhí)行內(nèi)存與外設之間的數(shù)據(jù)傳輸。DMA通過此總線訪問AHB外設或執(zhí)行存儲器間的數(shù)據(jù)傳輸。APB總線:STM32用兩個AHB-APB橋?qū)崿F(xiàn)AHB與2個APB總線之間(APB1和APB2)的同步連接。2.4.2STM32總線結(jié)構(gòu)

STM32F10x芯片系統(tǒng)結(jié)構(gòu)2.4.2STM32總線結(jié)構(gòu)

STM32F10x芯片系統(tǒng)結(jié)構(gòu)GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF、GPIOG、USART1、SPI1、ADC1~ADC3、TIM1、EXTI等掛接在APB2總線上,其頻率最高可達72MHz;USART2、USART3、SPI2、USB、CAN、DAC等掛接在APB1總線上,其頻率最高為36MHz。2.4.3STM32存儲結(jié)構(gòu)通過存儲器地址訪問外設STM32的外設可以通過指針來實現(xiàn)訪問和操作。每個外設寄存器都占用特定的存儲器地址,對外設的操作和對存儲器的操作是一樣的。STM32總的地址空間大小為4GB,用0x00000000H~0x1FFFFFFF來表示將4GB大小的空間劃分為:Flash程序存儲器區(qū)SRAM靜態(tài)數(shù)據(jù)存儲器區(qū)片上外設區(qū)

2.4.3STM32存儲結(jié)構(gòu)

STM32存儲空間地址分配2.4.3STM32存儲結(jié)構(gòu)RAM(隨機存儲器):用于存儲程序運行過程中所需要的數(shù)據(jù)和程序運行中產(chǎn)生的數(shù)據(jù),掉電后數(shù)據(jù)會丟失。堆棧,位于RAM存儲器中,主要功能是暫時存放數(shù)據(jù)和地址,通常用來保護斷點和現(xiàn)場,適用于中斷機制。Flash,閃存,即FlashROM,其本質(zhì)是一個ROM,用于存放用戶編寫的程序代碼,掉電后數(shù)據(jù)不會丟失,可重復擦寫且容量較大。EEPROM(電可擦可編程只讀存儲器),是保障單片機中的數(shù)據(jù)長時間保存而不丟失的單元,主要用來存放需要經(jīng)常修改的非易失性數(shù)據(jù)。2.4.4STM32中斷STM32不同系列和型號的MCU具有不同數(shù)量的中斷,比如STM32F103系列MCU具有60個中斷。位置優(yōu)先級優(yōu)先級類型名稱說明地址

---保留0x0000_0000

-3固定Reset復位0x0000_0004

-2固定NMI不可屏蔽中斷RCC時鐘安全系統(tǒng)(CSS)聯(lián)接到NMI向量0x0000_0008

-1固定硬件失效(HardFault)所有類型的失效0x0000_000C

0可設置存儲管理(MemManage)存儲器管理0x0000_0010

1可設置總線錯誤(BusFault)預取指失敗,存儲器訪問失敗0x0000_0014

2可設置錯誤應用(UsageFault)未定義的指令或非法狀態(tài)0x0000_0018

---保留0x0000_001C-0x0000_002B………………512可設置RCC復位和時鐘控制(RCC)中斷0x0000_0054613可設置EXTI0EXTI線0中斷0x0000_0058714可設置EXTI1EXTI線1中斷0x0000_005C………………5966可設置DMA2通道4_5DMA2通道4和DAM2通道5全局中斷0x0000_012C2.4.4STM32中斷搶占優(yōu)先級決定一個中斷能否被其他中斷打斷,搶占優(yōu)先級高的中斷可以打斷搶占優(yōu)先級低的中斷;響應優(yōu)先級則是在搶占優(yōu)先級相同時,根據(jù)響應優(yōu)先級的大小再進行中斷處理的排序。NVIC_PriorityGroup搶占優(yōu)先級取值范圍響應優(yōu)先級取值范圍描述NVIC_PriorityGroup_000~15搶占優(yōu)先級占0位,響應優(yōu)先級占4位NVIC_PriorityGroup_10,10~7搶占優(yōu)先級占1位,響應優(yōu)先級占3位NVIC_PriorityGroup_20,1,2,30,1,2,3搶占優(yōu)先級占2位,響應優(yōu)先級占2位NVIC_PriorityG

溫馨提示

  • 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

提交評論