通用Cortex-M3處理器結(jié)構(gòu)與工作原理ppt課件_第1頁
通用Cortex-M3處理器結(jié)構(gòu)與工作原理ppt課件_第2頁
通用Cortex-M3處理器結(jié)構(gòu)與工作原理ppt課件_第3頁
通用Cortex-M3處理器結(jié)構(gòu)與工作原理ppt課件_第4頁
通用Cortex-M3處理器結(jié)構(gòu)與工作原理ppt課件_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、課本第二章課本第二章STM32(CM3)原理原理 Cortex M3處置器構(gòu)造圖處置器構(gòu)造圖 CM3內(nèi)核內(nèi)核 嵌套向量中斷控制器嵌套向量中斷控制器(NVIC) 總線矩陣總線矩陣 外部總線外部總線 調(diào)試接口調(diào)試接口 多級存儲構(gòu)造多級存儲構(gòu)造 存放器存放器 存儲器映射存儲器映射 存儲器的組織存儲器的組織 存儲格式存儲格式 異常與中斷異常與中斷 異常的處置方式異常的處置方式-中斷中斷 中斷的概念中斷的概念 嵌套向量中斷控制器的主要性能嵌套向量中斷控制器的主要性能 Cortex-M3 Cortex-M3處置器根本構(gòu)造處置器根本構(gòu)造 Cortex-M3中央內(nèi)核基于哈佛架構(gòu),指令和數(shù)據(jù)各運(yùn)用一條總線圖 2

2、-1。 與Cortex-M3不同,ARM7系列處置器運(yùn)用馮諾依曼架構(gòu),指令和數(shù)據(jù)共用信號總線以及存儲器。 由于指令和數(shù)據(jù)可以從存儲器中同時讀取,所以Cortex-M3處置器對多個操作并行執(zhí)行,加快了運(yùn)用程序的執(zhí)行速度。圖圖 2-1 Cortex-M3 2-1 Cortex-M3處置器架構(gòu)處置器架構(gòu)Cortex-M3 處置器o 集成了內(nèi)核和高級系統(tǒng)外設(shè)的分級處置器 o Cortex-M3 內(nèi)核o 哈佛體系構(gòu)造o 擁有分支預(yù)測功能的三級流水線 o Thumb-2 指令集和傳統(tǒng)的 Thumb指令集o 帶有 硬件除法和 單信號周期乘法的ALUo Cortex-M3 處置器o Cortex-M3 內(nèi)核o

3、 可配置的中斷控制器 o 總線矩陣o 先進(jìn)的調(diào)試組件 o 可選擇的 MPU & ETM邏輯體系邏輯體系Cortex M3Cortex M3處置器構(gòu)造框透視圖處置器構(gòu)造框透視圖STM32F10 xSTM32F10 x系列微控制器系列微控制器 系統(tǒng)構(gòu)造系統(tǒng)構(gòu)造課本課本p27Cortex M3Cortex M3處置器構(gòu)造框透視圖處置器構(gòu)造框透視圖STM32F10 xSTM32F10 x系列微控制器系列微控制器 系統(tǒng)構(gòu)造系統(tǒng)構(gòu)造STM32F10 xSTM32F10 x系列微控制器系列微控制器 系統(tǒng)構(gòu)造系統(tǒng)構(gòu)造 CM3 CM3內(nèi)核內(nèi)核程序執(zhí)行三步曲程序執(zhí)行三步曲: :取指取指譯碼譯碼執(zhí)行執(zhí)行 嵌

4、套向量中斷控制器NVIC NVIC為低延遲實(shí)現(xiàn)異常處置提供了方便。主要有以下特征: 可配置1240個外部中斷。 可配置優(yōu)先級位數(shù)38位。 支持電平和脈沖邊沿中斷。 可以動態(tài)重新分配中斷優(yōu)先級。 優(yōu)先級分組。 支持尾鏈tail-chaining中斷。 進(jìn)入中斷時,處置器形狀自動保管,退出中斷時形狀自動恢復(fù),無額外指令開銷 總線矩陣總線矩陣 Cortex-M3Cortex-M3處置器集成了一個處置器集成了一個AMBA AHB-LiteAMBA AHB-Lite總總線來銜接系統(tǒng)外設(shè),并降低系統(tǒng)集成的復(fù)雜性。線來銜接系統(tǒng)外設(shè),并降低系統(tǒng)集成的復(fù)雜性。 總線矩陣支持不對齊的數(shù)據(jù)訪問,使不同的數(shù)總線矩陣支

5、持不對齊的數(shù)據(jù)訪問,使不同的數(shù)據(jù)類型可以在存儲器中嚴(yán)密銜接可顯著降低據(jù)類型可以在存儲器中嚴(yán)密銜接可顯著降低SRAMSRAM的需求和系統(tǒng)本錢。的需求和系統(tǒng)本錢。 總線矩陣將處置器、調(diào)試接口銜接到外部總線??偩€矩陣將處置器、調(diào)試接口銜接到外部總線。 總線矩陣銜接到以下外部總線: ICode總線。這是一條32位的AHB-Lite總線,主要用于從指令空間中取指和取向量。 DCode總線。這是一條32位的AHB-Lite總線,主要用于從指令空間的數(shù)據(jù)讀寫和調(diào)試訪問。 系統(tǒng)總線。這是一條32位的AHB-Lite總線,主要用于從系統(tǒng)空間中取指、取向量、讀寫數(shù)據(jù)和調(diào)試訪問。 PPB(私有外設(shè)總線)。這是一條3

6、2位的APB (v2.0)總線,主要用于從PPB空間讀寫數(shù)據(jù)和調(diào)試訪問。 私有外設(shè)總線有兩條: AHB私有外設(shè)總線,只用于CM3內(nèi)部的AHB外設(shè),它們是:NVIC, FPB, DWT和ITM。 APB私有外設(shè)總線,既用于CM3內(nèi)部的APB設(shè)備,也用于外部設(shè)備 “外部是對內(nèi)核而言。CM3允許器件制造商再添加一些片上APB外設(shè)到APB私有總線上,它們經(jīng)過APB接口來訪問。 調(diào)試接口調(diào)試接口 硬件調(diào)試處理方案,經(jīng)過一個傳統(tǒng)的硬件調(diào)試處理方案,經(jīng)過一個傳統(tǒng)的JTAGJTAG口或一個口或一個適宜小封裝器件的適宜小封裝器件的2 2線串行調(diào)試口線串行調(diào)試口SWDSWD,可以獲,可以獲得很高的處置器系統(tǒng)可視度

7、。得很高的處置器系統(tǒng)可視度。 對于系統(tǒng)跟蹤,處置器在數(shù)據(jù)察看點(diǎn)根底上集成了對于系統(tǒng)跟蹤,處置器在數(shù)據(jù)察看點(diǎn)根底上集成了一個可選的一個可選的ETMETM嵌入式跟蹤宏單元,它可以被配嵌入式跟蹤宏單元,它可以被配置為特定的系統(tǒng)事件觸發(fā)。置為特定的系統(tǒng)事件觸發(fā)。 為了簡化這些系統(tǒng)事件的處置,一個串行觀測器為了簡化這些系統(tǒng)事件的處置,一個串行觀測器Serial Wire ViewerSerial Wire Viewer,SWVSWV可以經(jīng)過一個引腳輸可以經(jīng)過一個引腳輸出規(guī)范的出規(guī)范的ASCIIASCII數(shù)據(jù)流。數(shù)據(jù)流。 FlashFlash修補(bǔ)技術(shù),使器件和系統(tǒng)開發(fā)者在調(diào)試或運(yùn)轉(zhuǎn)修補(bǔ)技術(shù),使器件和系統(tǒng)開

8、發(fā)者在調(diào)試或運(yùn)轉(zhuǎn)過程中,可以修補(bǔ)從過程中,可以修補(bǔ)從ROMROM到到SRAMSRAM或或FlashFlash的代碼錯誤,的代碼錯誤,可防止昂貴的重定制可防止昂貴的重定制 上圖向我們展現(xiàn)了設(shè)計的 RTL 層次。 其中的兩條外設(shè)總線:一條72MHZ,一條36MHZ 由于 ETM、TPIU、SW/JTAG-DP 和 ROM 表4個組件是可選的,或者它們的實(shí)現(xiàn)和使器具有靈敏性,因此這 4 個組件位于Cortex-M3 處置器的外面。 設(shè)計實(shí)現(xiàn)能夠與圖中顯示的有所不同。能夠的系統(tǒng)實(shí)現(xiàn)的選項(xiàng)見下面的 3 個部分: TPIU的實(shí)現(xiàn)選項(xiàng): 假設(shè)您的系統(tǒng)中有 ETM,那么會含有 TPIU格式程序,否那么就不包含

9、該格式程序。 一個多內(nèi)核的實(shí)現(xiàn)可運(yùn)用單個或多個 TPIU來跟蹤。 ARM TPIU模塊可以用兼容 TPIU的指定協(xié)作同伴的 CoreSight 取代。 在消費(fèi)設(shè)備中,TPIU可以移除。 注:假設(shè)將 TPIU移除,那么 Cortex-M3 不具有跟蹤功能。 SW/JTAG-DP的實(shí)現(xiàn)選項(xiàng): 設(shè)計實(shí)現(xiàn)可以含有 SW-DP 或 JTAG-DP中的任一個或兩者都有。 ARM SW-DP 可以被兼容 SW-DP的指定協(xié)作同伴的 CoreSight 取代。 ARM JTAG-DP可以被兼容 JTAG-DP 的指定協(xié)作同伴的 CoreSight 取代。 SW-DP 或 JTAG-DP可以包含指定協(xié)作同伴的測

10、試接口。 ROM 表 假設(shè)系統(tǒng)中添加了附加的調(diào)試元件,那么 ROM 存儲器表中的描畫需進(jìn)展修正。 按照與按照與CPUCPU的數(shù)據(jù)交換速度可分為的數(shù)據(jù)交換速度可分為 存放器:存放器:CPUCPU內(nèi)部,暫存運(yùn)轉(zhuǎn)中的數(shù)據(jù),內(nèi)部,暫存運(yùn)轉(zhuǎn)中的數(shù)據(jù),掉電喪失。掉電喪失。RAMRAM類存儲設(shè)備。類存儲設(shè)備。 FlashFlash閃存:閃存:CPUCPU外部,保管程序和運(yùn)轉(zhuǎn)中外部,保管程序和運(yùn)轉(zhuǎn)中的數(shù)據(jù)。的數(shù)據(jù)。ROM+RAMROM+RAM類存儲設(shè)備。類存儲設(shè)備。 SRAMSRAM:CPUCPU外部,暫存運(yùn)轉(zhuǎn)中的數(shù)據(jù)。外部,暫存運(yùn)轉(zhuǎn)中的數(shù)據(jù)。RAMRAM類存儲設(shè)備。類存儲設(shè)備。 存放器存放器 Cortex-

11、M3Cortex-M3存放器:存放器: 1313個通用存放器個通用存放器R0-R12R0-R12 分組的堆棧指針分組的堆棧指針SPSP 鏈接存放器鏈接存放器R14R14 程序計數(shù)器程序計數(shù)器R15R15 特殊用路程序形狀存放器特殊用路程序形狀存放器xPSRxPSR 外部設(shè)備也有各自的存放器外部設(shè)備也有各自的存放器課本課本p33 1、通用存放器 通用目的存放器 R0-R12都是32位通用存放器,用于數(shù)據(jù)操作。 留意:絕大多數(shù)16位Thumb指令只能訪問R0-R7,而32位Thumb-2指令可以訪問一切存放器。 復(fù)位后的初始值是不可預(yù)料的 堆棧指針R13: Cortex-M3擁有兩個堆棧指針,然而

12、它們是banked,因此任一時辰只能運(yùn)用其中的一個。 主堆棧指針MSP:復(fù)位后缺省運(yùn)用的堆棧指針,用于操作系統(tǒng)內(nèi)核以及異常處置例程包括中斷效力例程 進(jìn)程堆棧指針PSP:由用戶的運(yùn)用程序代碼運(yùn)用。 堆棧是一種存儲器的運(yùn)用模型。它由一塊延續(xù)的堆棧是一種存儲器的運(yùn)用模型。它由一塊延續(xù)的內(nèi)存和一個棧頂指針組成,用于實(shí)現(xiàn)內(nèi)存和一個棧頂指針組成,用于實(shí)現(xiàn)“后進(jìn)先出后進(jìn)先出的緩沖區(qū)。的緩沖區(qū)。 其最典型的運(yùn)用,就是在數(shù)據(jù)處置前先保管存放其最典型的運(yùn)用,就是在數(shù)據(jù)處置前先保管存放器的值,再在處置義務(wù)完成后從中恢復(fù)先前維護(hù)器的值,再在處置義務(wù)完成后從中恢復(fù)先前維護(hù)的這些值。的這些值。 堆棧指針用于訪問堆棧,并且

13、堆棧指針用于訪問堆棧,并且PUSHPUSH指令和指令和POPPOP指指令默許運(yùn)用令默許運(yùn)用SPSP。 在執(zhí)行PUSH和POP操作時,通常被稱為SP的地址存放器,會由硬件自動調(diào)整它的值,以防止后續(xù)操作破壞先前的數(shù)據(jù)。 銜接存放器R14: 當(dāng)呼叫一個子程序時,由R14存儲前往地址 程序計數(shù)存放器R15: 指向當(dāng)前的程序地址。假設(shè)修正它的值,就能改動程序的執(zhí)行流 2、特殊功能存放器 Cortex-M3還在內(nèi)核程度上搭載了假設(shè)干特殊功能存放器,包括: 程序形狀字存放器組PSRs 中斷屏蔽存放器組PRIMASK, FAULTMASK, BASEPRI 控制存放器CONTROL 存儲器的地址映射存儲器的地

14、址映射( (地址分配地址分配) ) Cortex-M3 處置器只需一個單一固定的存儲器地址映射。這一點(diǎn)極大地方便了軟件在各種CM3單片機(jī)間的移植。 如各款CM3單片機(jī)的NVIC和MPU都在一樣的位置布設(shè)存放器,使得它們變得與詳細(xì)器件無關(guān)。 雖然CM3定出的條條框框是粗線條的,但它依然允許芯片制造商靈敏細(xì)膩地分配存儲器地址空間,以制造出各具特征的單片機(jī)產(chǎn)品。 什么是地址:地址是給每一個存儲單元(存放器單元,F(xiàn)lash單元,SRAM單元,甚至外部設(shè)備的存放器單元)分配的獨(dú)一的定位標(biāo)志。(類似房間門牌號碼或號碼) 1個存儲單元普通是對應(yīng)1個字節(jié)。也能夠?qū)?yīng)1個二進(jìn)制位。 什么是字:字的寬度由CPU的

15、數(shù)據(jù)(功能)總線寬度來決議。STM32就表示它的字寬是4個字節(jié)32位。CM3CM3的存儲器組織的存儲器組織課本課本p28-30 內(nèi)部SRAM區(qū)的大小是512MB,用于讓芯片制造商銜接片上的SRAM,這個區(qū)經(jīng)過系統(tǒng)總線來訪問。 在這個區(qū)的下部,有一個1MB的區(qū)間,被稱為“位帶區(qū)。 該位帶區(qū)還有一個對應(yīng)的32MB的 “位帶別名(alias)區(qū),包容了8M個“位變量對比8051的只需128個位變量。 位帶區(qū)對應(yīng)的是最低的1MB地址范圍,而位帶別名區(qū)里面的每個字對應(yīng)位帶區(qū)的一個比特。 位帶操作只適用于數(shù)據(jù)訪問,不適用于取指。經(jīng)過位帶的功能,可以把多個布爾型數(shù)據(jù)打包在單一的字中,卻依然可以從位帶別名區(qū)中

16、,像訪問普通內(nèi)存一樣地運(yùn)用它們。 位帶別名區(qū)中的訪問操作是原子的,消滅了傳統(tǒng)的“讀改寫三步曲。位帶操作的細(xì)節(jié)待會還要講到。 地址空間的另一個512MB范圍由片上外設(shè)的存放器運(yùn)用。這個區(qū)中也有一條32MB的位帶別名,以便于快捷地訪問外設(shè)存放器,用法與內(nèi)部SRAM區(qū)中的位帶一樣。 如可以方便地訪問各種控制位和形狀位。要留意的是,外設(shè)區(qū)內(nèi)不允許執(zhí)行指令。 還有兩個1GB的范圍,分別用于銜接外部RAM和外部設(shè)備,它們之中沒有位帶。 兩者的區(qū)別在于外部RAM區(qū)允許執(zhí)行指令,而外部設(shè)備區(qū)那么不允許。 最后還剩下0.5GB的隱秘地帶,CM3內(nèi)核的閨房就在這里面,包括了系統(tǒng)級組件,內(nèi)部私有外設(shè)總線,外部私有外

17、設(shè)總線,以及由提供者定義的系統(tǒng)外設(shè)。存儲格式存儲格式 Cortex-M3 處置器將存儲器看作從 0開場向上編號的字節(jié)的線性集合。例如: 字節(jié) 0-3 存放第一個被保管的字 字節(jié) 4-7 存放第二個被保管的字 Cortex-M3 處置器可以以小端格式或大端格式訪問存儲器中的數(shù)據(jù)字,而訪問代碼時一直運(yùn)用小端格式。 留意: 小端格式是 ARM 處置器默許的存儲器格式。 在小端格式中,一個字中最低地址的字節(jié)為該字的最低有效字節(jié),最高地址的字節(jié)為最高有效字節(jié)。存儲器系統(tǒng)地址 0 的字節(jié)與數(shù)據(jù)線 7-0 相連。 在大端格式中,一個字中最低地址的字節(jié)為該字的最高有效字節(jié),而最高地址的字節(jié)為最低有效字節(jié)。存儲

18、器系統(tǒng)地址 0的字節(jié)與數(shù)據(jù)線 31-24 相連。小端數(shù)據(jù)格式大端數(shù)據(jù)格式2.62.6異常異常 異常是指由于執(zhí)行指令時的一個錯誤條件異常是指由于執(zhí)行指令時的一個錯誤條件而產(chǎn)生的缺點(diǎn)。而產(chǎn)生的缺點(diǎn)。異常模型異常模型 Cortex-M3 Cortex-M3 處置器和嵌套向量中斷控制器處置器和嵌套向量中斷控制器NVICNVIC對一對一切異常按優(yōu)先級進(jìn)展排序并處置。一切異常都在處置方切異常按優(yōu)先級進(jìn)展排序并處置。一切異常都在處置方式中操作。式中操作。 出現(xiàn)異常時,自動將處置器形狀保管到堆棧中,并在中出現(xiàn)異常時,自動將處置器形狀保管到堆棧中,并在中斷效力程序斷效力程序ISRISR終了時自動從堆棧中恢復(fù)。終了時自動從堆棧中恢復(fù)。 在形狀保管的同時取出向量快速地進(jìn)入中斷。在形狀保管的同時取出向量快速地進(jìn)入中斷。 處置器支持末尾連鎖處置器支持末尾連鎖tail-chainingtail-chaining中斷技術(shù),它中斷技術(shù),它可以在沒有多余的形狀保管和恢復(fù)指令的情況下執(zhí)行背可以在沒有多余的形狀保管和恢復(fù)指令的情況下執(zhí)行背對背中斷對背中斷back-to-back interruptback-to-back interru

溫馨提示

  • 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

提交評論