嵌入式系统的组成、嵌入式处理器分类总结、ARM处理器系列总结、ARM Cortex-M3体系结构总结!
一.嵌入式系統的組成
嵌入式系統的組成主要由:嵌入式硬件系統、嵌入式軟件系統。
(1)嵌入式硬件系統主要包括:嵌入式處理器、存儲器、模擬電路、電源、接口控制器、接插件等
1)嵌入式處理器:是嵌入式系統的核心。嵌入式處理器與通用處理器最大的區別在于嵌入式CPU大多工作在為特定用戶群設計的系統中。
2)存儲器:靜態易失型存儲器(RAM、SRAM)、動態存儲器(DRAM、SDRAM)、非易失型存儲器(ROM、EPROM、EEPROM、Flash)。
3)嵌入式外圍硬件設備:串口、以太網接口、USB、音頻接口、液晶顯示屏、攝像頭等。
(2)嵌入式軟件系統主要包括:底層驅動、操作系統、應用程序
1)底層驅動:實現嵌入式系統硬件和軟件之間的接口。
2)操作系統:簡稱OS。實現系統的進程調度、任務處理。操作系統的核心是嵌入式處理器。
? ? ?流行的操作系統有:Linux、?uC/OS-II、Windows CE、VxWorks等。
3)應用程序:實現系統功能的應用。
二.嵌入式處理器
嵌入式系統的核心部件是嵌入式處理器,截至2000年嵌入式處理器的品種總量超過1000種,流行的體系結構30多個系列。
從應用的角度來劃分,嵌入式處理器分為這幾個類型:嵌入式微控制器(MCU:又叫單片機)、嵌入式微處理器(MPU)、嵌入式DSP、嵌入式片上系統(SoC)。
1)嵌入式微控制器(MCU):通用系列包括:8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300等。
2)嵌入式微處理器(MPU):主要有Aml186/88、386EX、SC-400、PowerPC、68000、MIPS、ARM系列等。
?MPU分為:復雜指令集計算機CISC和精簡指令集計算機RISC兩類。
?
CISC結構體系:大多數臺式計算機都使用CISC微處理器,比如Intel的X86;
RISC結構體系:有兩大類:
Silicon Graphics公司(硅谷圖形公司)的MIPS技術
ARM公司的Advanced RISC Machines技術
?
3)嵌入式DSP:代表性產品有TMS320系列、DSP56000系列。
4)嵌入式片上系統(SoC):分為通用系列和專用系列兩類。
通用系列包括:M-Core、某些ARM系列、Neuron芯片等。
專用的SoC一般專用于某類系統中,不為一般用戶所知。
三.ARM處理器系列
1.常見的基于ARM核的產品有:
(1)Inter公司的XScale
(2)ST公司的STM32
(3)Freescale公司的龍珠系列iMX處理器
(4)TI公司的DSP+ARM處理器OMAP和Cortex核的LM3S系列
(5)Cirrus Logic公司的ARM系列
(6)SamSung公司的ARM系列
(7)Atmel公司的AT91系列微控制器
(8)NXP公司的微控制器系類
2.ARM公司定義了7種主要的ARM指令集體系結構版本,版本號V1-V7表示。
(1)V1:ARM1
(2)V2:ARM2、ARM3
(3)V3:ARM6
(4)V4:ARM7、ARM8、ARM9、StrongARM
(5)V5:ARM10、XScale
(6)V6:ARM11
(7)V7:Cortex、SecurCore
3.ARM Cortex處理器簡介
ARM公司在ARM11系列以后的產品改用Cortex命名,并分為A、R、M三類。
A系列:基于V7A的稱為Cortex-A系列。面向尖端的基于虛擬內存的操作系統和用戶應用。
R系列:基于V7R的稱為Cortex-R系列。針對實時系統。
M系列:基于V7M的稱為Cortex-M系列。針對微控制器。常見的Cortex-M處理器有:Cortex-M0、Cortex-M3。?
通過圖 2.2.1 可以知道,ARM7TDMI、ARM920T 屬于 ARMv4 體系,ARM926、ARM946、ARM966 屬于 ARM v5 體系,ARM1136、ARM1176、ARM Cortex-M0、ARM Cortex-M1 屬于 ARM v6 體系,Cortex-A8、Cortex-R4、Cortex-M3 屬于 ARM v7 體系。
按應用特征分類,可以分為三類:
(1)應用處理器(Application Processor) :該處理器具有 MMU、Cache,并且頻率最快、性能最高、功耗合理。
(2)實時控制處理器(Real-time Controller):該處理器具有 MPU、Cache,并且能夠實時響應、性能合理,功耗較低。
(3)微控制器(Micro Controller):該處理器性能一般,但是成本最低,功耗也極低。
從 ARM v4 架構發展到 ARM v7 架構,每種架構的簡要如下:
ARMv4
ARMv4 是目前支持的最老的架構, 是基于 32bit 地址空間的 32bit 指令集。ARMv4 除了支持 ARMv3 的指令外還擴展了:
? ??支持 halfword 的存取
? ??支持 byte 和 halfword 的符號擴展讀
? ??進一步的明確了會引起 Undefined 異常的指令
? ??對以前的 26bits 體系結構的 CPU 不再兼容
ARMv4T
ARMv4T 增加了 16bit Thumb 指令集,這樣使得編譯器能產生緊湊代碼(相對于 32bit 代碼,內存能節省到 35%以上)并保持
32bit 系統的好處。
ARMv5TE
1999 年推出 ARMv5TE, 增強了 Thumb 體系, 改進了 Thumb/ARM 相互作用、編譯能力和混合及匹配 ARM 與 Thumb 例程,以
更好地平衡代碼空間和性能并 在 ARM ISA 上擴展了增強的DSP指令集,增強的DSP指令包括支持飽和算術
(saturatedarithmetic)應用,提高了數字信號處理 70%性能。‘E’擴展表示在通用的 CPU 上提供 DSP 能力。2000 年推出
ARMv5TEJ,增加了支持 Java 加速技術。
ARMv6
2001 年推出 ARMv6,它在許多方面做了改進如內存系統、異常處理和較好地支持多處理器。SIMD 指令的擴展使得廣大的軟件
應用如 Video 和 Audio codec 的性能提高了 4 倍。Thumb-2 和 TrustZone 技術也用于 ARMv6 中。
ARMv7
ARMv7 定義了 3 種不同的處 器配置理器配置(processor profiles):
? ?Profile A 是面向復雜、 基于虛擬內存的 OS 和應用的。
? ?Profile R 是針對實時系統的。
? ?Profile M 是針對低成本應用的優化的微控制器的。
? ?所有 ARMv7 處理器配置都能夠實現 Thumb-2 技術
結語:在 新架構的出現,意味著老的架構被取代,就像現在 Intel CPU ?演變出更高性能而功耗更低的 Core i3/5/7 ?系列 CPU ,同樣ARM ?架構的演變代表著高性能和低功耗,市場主以 流以 ARM v6 和 和 ARM v7 ?架構為主導,所以,我們要深入了解 ARM ,必須對這兩種架構有一定的認識。
?
?
四.ARM Cortex-M3體系結構
1.Cortex-M3處理器整合了一下組件
(1)ARMv7-M處理器內核
(2)嵌套向量中斷控制器(NVIC)
(3)存儲器保護單元(MPU)
(4)總線接口
(5)低成本調試解決方案
注意:NVIC支持1-240個外部中斷輸入(通常外部中斷寫做:IRQ),還支持 一個不可屏蔽中斷NMI。?
2.Cortex-M3處理器的2種工作狀態
(1)Thumb狀態
(2)調試狀態
注意:與ARM7處理器不同,Cortex-M3處理器不支持ARM指令的執行,即也沒有ARM狀態。
3.Cortex-M3處理器的2種工作模式
(1)線程模式(thread mode):復位和異常返回進入此模式。
(2)處理模式(handler mode):出現異常進入此模式。
注意:引入線程模式和處理模式是為了讓處理器區分普通應用程序代碼和異常服務(包括中斷服務)例程代碼,從而進行不同的處理。
4.Cortex-M3代碼的特權分級
(1)特權執行:可以訪問所有資源。提供了一種防止普通用戶代碼出現意外對存儲器關鍵區域誤操作的保護方式。處理模式始終是特權模式。
系統復位后,處理器進線程模式,特權級別為特權模式。
(2)非特權執行:對有些資源的訪問受到限制或不允許訪問。線程模式可以是特權模式也可以是非特權模式。
注意:通過引入特權訪問和非特權訪問,能夠在硬件水平上限制某些不受信任的程序執行,使系統的可靠性的到提高。
5.Cortex-M3的雙堆棧機制
Cortex-M3的程序存儲使用堆棧來實現。
(1)MSP(main stack pointer):整個系統提供一個主堆棧供用戶程序和異常處理程序使用。
(2)PSP(process stack pointer):每一個處于線程模式的程序也有一個自己的進程堆棧。
6.ARM Cortex-M3寄存器組織
(1)通用寄存器
1)r0-r7:低組寄存器
2)r8-r12:高組寄存器
3)r13:堆棧指針寄存器
4)r14:子程序鏈接寄存器(LR)
5)r15:程序計數器
(2)程序狀態寄存器
1)應用PSR
2)中斷PSR
3)執行PSR
(3)控制寄存器
控制寄存器有兩個用途:第一:用于定義特權級別;第二:用于選擇當前使用哪個堆棧指針。應用時可由兩個位來行使這兩個職能。CONTROL[1]位:堆棧指針選擇位;CONTROL[0]位:特權級別選擇位。
(4)中斷屏蔽寄存器
中斷屏蔽寄存器包括:PRIMASK、FAULTMASK、BASEPRI三個寄存器,這三個寄存器用于控制異常的使能和清除。
1)PRIMASK
2)FAULTMASK
3)BASEPRI
7.ARM Cortex-M3存儲器映射
?
8.ARM Cortex-M3異常處理與中斷處理
中斷與異常的區別:中斷請求信號來自ARM Cortex-M3內核外面,來自各種片上外設和外擴的外設,對ARM Cortex-M3來說是異步的;異常則是在ARM Cortex-M3內核執行指令或訪問存儲器時產生,對ARM Cortex-M3來說是同步的。
總結
以上是生活随笔為你收集整理的嵌入式系统的组成、嵌入式处理器分类总结、ARM处理器系列总结、ARM Cortex-M3体系结构总结!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LoRaWAN与LoRa的区别!
- 下一篇: 在windows下 格式化SD卡或U盘最