版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Tsinghua
Freescale
Embedded
System
Centerneby
Zeng,
Ming
zengminTsinghua
Freescale
Embedded
System
Centerby
Zeng,
Ming
zengmin
Gong,
Guanghuagg
Xue,
Tao
gbe
Freescale
Kinetis
BasicFreescale應用開發(fā)2012年03月Lecture2Page
2ARM
HistoryAcorn
Computer
Group
developed
world’s
RISCprocessor
in
1985Roger
Wilson
and
Steve
Furberwere
the
principle
developersARM
(Advanced
RISC
Machines)
was
a
spin
out
from
Acornin
1990
with
goal
of
defining
a
new
microprocessor
standardLecture2Page
3ARM
HistoryARM
delivered
ARM6
in
1991Introduced
32
bit
addressing
supportNew
instruction
for
program
status
registersVariant
used
in
Apple
NewtonPDABy
1996
ARM7
was
being
widely
usedstarted
port
of
WinCE
to
ARMAdded
multimedia
extensionsExponential
growth
from
then
on…Lecture2Page
4ARM架構(gòu)進化史ARM的發(fā)展過程ARM公司只做CPU設(shè)計,采用出售IP的方式運營,半導體制造商無需自己設(shè)計CPU,
是生產(chǎn)關(guān)系的 ,提高了生產(chǎn)力ARM處理器的分類結(jié)構(gòu)體系版本(Architecture)ARMv4TARM
v5TEProcessor
FamilyARM7ARM9ARM10ARM11ARM
CortexARM
v6ARM
Cortex
(v7)按應用特征分類應用處理器Application
Processor實時控制處理器Real-time
Controller微控制器Micro-controller特征:MMU,Cache最快頻率、最高性能、合理功耗特征:MPU,Cache實時響應、合理性能、較低功耗特征:no
sub-memory
system一般性能、最低成本、極低功耗Microprocessor
and
Lab.,
Spring
2010
@
CBNUARM
and
StrongARMIn gained
certain
IP
from
ARMas
part
of
lawsuit
settlementand
modified
ARM
architecture
branding
it
as
StrongARMStrongARM
name
was
changed
to
XScaleProcessor
SA1000
,
SA1100XScale
is
close
to
ARMv5
instruction
setXScale
division
of
In was
sold
to
Marvel
Inc.
in2006v4v5TESA110v4TARM920TARM922TARM940TARM720TARM7TDMI-SARM946E-SARM966E-SARM1020Ev5TEJ
/
Jazellev6
/JazelleARM7EJ-SARM926EJ-SARM1026EJ-SARM11
Micro-Architectureof
ARM
V4/V5/V6ARMV4ARMV4是目前支持的最老的架構(gòu),是基于32-bit地址空間的32-bit指令集。ARMv4除了支持ARMv3的指令外還擴展了:支持halfword的存取支持byte和halfword的符號擴展讀支持Thumb指令提供Thumb和Normal狀態(tài)的轉(zhuǎn)換指令進一步的明確了會引起Undefined異常的指令對以前的26bits體系結(jié)構(gòu)的CPU不再兼容ARMv4TARMv4T增加了16-bitThumb指令集,這樣使得編譯器能產(chǎn)生緊湊代碼(相對于32-bit代碼,內(nèi)存能節(jié)省到35%以上)并保持32-bit系統(tǒng)的好處。Thumb在處理器中仍然要擴展為標準的32位ARM指令來運行。用戶采用16位Thumb指令集最大的好處就是可以獲得更高的代碼密度和降低功耗。ARM
V5TE1999年推出ARMv5TE其增強了Thumb體系,增強的Thumb
體系增加了一個新的指令同時改進了
Thumb/ARM相互作用、編譯能力和混合及匹配
ARM與Thumb例程,以更好地平衡代碼空間和性能并在
ARM
ISA
上擴展了增強的DSP
指令集:增強的DSP指令包括支持飽和算術(shù)(saturatedarithmetic),
并且針對Audio
DSP應用提高了70%性能。‘E’擴展表示在通用的CPU上提供DSP能力。ARMv5TEJ2000年推出ARMv5TEJ,增加了Jazelle擴展以支持Java加速技術(shù)。Jazelle技術(shù)比僅僅基于
的JVM性能提高近8倍的性能減少了80%的功耗。ARMv62001年推出ARMv6,它在許多方面做了改進如內(nèi)存系統(tǒng)、異常處理和較好地支持多處理器。SIMD擴展使得廣大的
應用如
和Audiocodec的性能提高了4倍。Thumb-2和TrustZone
技術(shù)也用于ARMv6中。ARMv6第一個實現(xiàn)是2002年春推出的ARM1136J(F)-STM處理器,2003年又推出了ARM1156T2(F)-S
和ARM1176JZ(F)-S處理器。ARMv7ARMv7定義了3種不同的處理器配置(processorprofiles):Profile
A是面向復雜、基于虛擬內(nèi)存的OS和應用的Profile
R是針對實時系統(tǒng)的Profile
M是針對低成本應用的優(yōu)化的微控制器的。所有ARMv7profiles實現(xiàn)Thumb-2技術(shù),同時還包括了NEON?技術(shù)的擴展提高DSP和多
處理吞吐量400%
,并提供浮點支持以滿足下一代3D圖形和
以及傳統(tǒng)
控制應用的需要。系列相應產(chǎn)品性能特點ARM7系列ARM7TDMI
,
ARM7TDMI-S
,ARM720T,ARM7EJ三級流水性能:0.9MIPS/MHz,可達到130MIPs(Dhrystone2.1)ARM9系列ARM920T,
ARM922T五級流水,性能:1.1MIPS/MHz,可達300
MIPS(Dhrystone
2.1),單32-bit
AMBA
bus接口,支持MMUARM9E系列ARM926EJ-S,
RM946E-S,ARM966E-S,
ARM968E-S,ARM996HS五級流水,支持DSP指令。性能:1.1MIPS/MHz,可達300
MIPS(Dhrystone
2.1),高性能AHB,軟核(soft
IP)ARM10系列ARM1020E,
ARM1022EARM1026EJ-S6級流水支持分支
(branchprediction),支持DSP指令。性能:1.35
MIPS/MHz,可達430+Dhrystone
2.1
MIPS,,可選支持高性能浮點操作,雙64位總線接口,64位數(shù)據(jù)通路
系列相應產(chǎn)品性能特點ARM11系列ARM11MPCore,ARM1136J(F)-S,ARM1156T2(F)-S,ARM1176JZ(F)-S8級流水線(9級ARM1156T2(F)-S),獨立的load-store和arithmetic流水線,支持分支
和返回棧(Return
Stack)。強大的ARMv6
指令集,支持DSP,SIMD(Single
Instruction
Multiple
Data)擴展,支持ARM
TrustZone
、Thumb-2
技術(shù)。740Dhrystone
2.1
MIPS,低功耗0.6mW/MHz(0.13μm,
1.2V)Cortex系列Cortex-A8,Cortex-M3,Cortex-R4Cortex-A系列:面向用于復雜OS和應用的應用處理器(applications
processors),支持ARM,Thumb
and
Thumb-2指令集。Cortex-R系列:面向 實時領(lǐng)域的處理器,支持ARM,Thumb,和Thumb-2
指令集。Cortex-M系列:面向深 價格敏感的嵌入式處理器,只支持Thumb-2指令集Microprocessor
and
Lab.,
Spring
2010
@
CBNUARM
Design
PhilosophyARM
core
uses
RISC
architectureReduced
instruction
setLoad
store
architectureLarge
number
of
general
purpose
registersParallel
executions
with
pipelinesBut
some
differences
from
RISCEnhanced
instructions
forThumb
modeDSP
instructionsConditional
execution
instruction32
bit
barrel
shifterCortex-M3/4內(nèi)核主要是應用于低成本、小管腳數(shù)和低功耗的場合,并且具有極高的運算能力和極強的中斷響應能力。Cortex-M3/4處理器采用純Thumb2指令的執(zhí)行方式,使得這個具有32位高性能的ARM內(nèi)核能夠?qū)崿F(xiàn)8位和16位的代碼
密度。ARMCortex-M3/4處理器是使用最少門數(shù)的ARMCPU,
門數(shù)只有33K,在包含了必要的外設(shè)之后的門數(shù)也只有60K,使得封裝更為小型,成本更加低廉。Cortex-M3/4采用了ARM
V7哈佛架構(gòu),具有帶分支
的3級流水線,中斷延遲最大只有12個時鐘周期,在末尾連鎖的時候只需要6個時鐘周期。同時具有
1.25DMIPS/MHZ的性能和0.19mW/MHZ的功耗。Cortex-M3/4
內(nèi)核基于哈佛架構(gòu),指令和數(shù)據(jù)各使用一條總線。與
Cortex-M3/4不同,ARM7
系列處理器使用馮
(Von
ann)架構(gòu),指令和數(shù)據(jù)共用信號總線以及 器。由于指令和數(shù)據(jù)可以從 器中同時
,所以
Cortex-M3/4 處理器對多個操作并行執(zhí)行,加快了應用程序的執(zhí)行速度。Cortex-M3/4內(nèi)核:哈佛架構(gòu)Cortex-M3/4內(nèi)核:寄存器組Cortex-M3/4內(nèi)核:特殊功能寄存器Cortex-M3/4內(nèi)核:態(tài)和用戶態(tài)內(nèi)核流水線分3個階段:取指、譯碼和執(zhí)行。當遇到分支指令時,譯碼階段也包含
的指令取指,這提高了執(zhí)行的速度。處理器在譯碼階段期間自行對分支目的地指令進行取指。在稍后的執(zhí)行過程中,處理完分支指令后便知道下一條要執(zhí)行的指令。如果分支不跳轉(zhuǎn),那么緊跟著的下一條指令隨時可供使用。如果分支跳轉(zhuǎn),那么在跳轉(zhuǎn)的同時分支指令可供使用,空閑時間限制為一個周期。Cortex-M3/4內(nèi)核:分支
的流水線的模式,提供4GBCortex-M3/4
處理器采用單一的可尋址
空間。(同時,這些空間為代碼(代碼空間)、SRAM
空間),外部 器/器件和 /外部外設(shè)提供預定義的
地址。另外,還有一個特殊區(qū)域?qū)iT供廠家使用。借助位帶操作(bit-banding)技術(shù),Cortex-M3/4
處理器可以在簡單系統(tǒng)中直接對數(shù)據(jù)的單個位進行
。器
包含兩個位于SRAM的大小均為1MB的bit-band區(qū)域和
到32MB別名區(qū)域的外設(shè)空間。在別名區(qū)域中,某個地址上的加載/
操作將直接轉(zhuǎn)化為對被該地址別名的位的操作。對別名區(qū)域中的某個地址進行寫操作,如果使其最低有效位置位,那么bit-band位為
1,如果使其最低有效位清零,那么bit-band位為零。讀別名后的地址將直接返回適當?shù)腷it-band位中的值。除此之外,位帶操作(bit-banding)為原子位操作,其他總線活動不能對其中斷。Cortex-M3/4器Cortex-M3/4
器Page
25Cortex-M3/4的非對齊數(shù)據(jù)和bit-banding“傳統(tǒng)的位處理方法和Cortex-M3
bit-banding的比較”此外,基于傳統(tǒng)ARM7處理器的系統(tǒng)只支持 對齊的數(shù)據(jù),只有沿著對齊的字邊界才可以對數(shù)據(jù)進行
和 。Cortex-M3處理器采用非對齊數(shù)據(jù) 方式,使非對齊數(shù)據(jù)可以在單核訪問中進行傳輸。當使用非對齊傳輸時,這些傳輸將轉(zhuǎn)換為多個對齊傳輸,但這一過程不為程序員所見。嵌套向量中斷控制器(NVIC)NVIC
是
Cortex-M3/4 處理器中一個完整的部分。NVIC最多可支持 240
個外部中斷,每個外部中斷最多可具有 256
個可重新動態(tài)劃分的不同優(yōu)先級別。 它支持優(yōu)先級別中斷源和脈沖中斷源。當進入中斷時,處理器狀態(tài)會自動保存在硬盤中,NVIC還支持末尾連鎖技術(shù)Cortex-M3/4
處理器使用一個可以重復定位的向量表,表中包含了將要執(zhí)行的函數(shù)的地址,可供具體的中斷處理器使用。中斷被接受之后,處理器通過指令總線接口從向量表中獲取地址。向量表復位時指向零,編程控制寄存器可以使向量表重新定位。Lecture2Page
28數(shù)字電路與系統(tǒng)嵌套向量中斷控制器(NVIC)嵌套向量中斷控制器(NVIC):可以在硬件中處理堆棧操作,Cortex-M3處理器免去了在傳統(tǒng)的C語言中斷服務程序中為了完成堆棧處理所要編寫的匯編程序包,這使應用程序的開發(fā)變得更加簡單。Cortex-M3/4處理器使用末尾連鎖(tail-chaining)技術(shù)簡化了激活的和未決的中斷之間的移動。末尾連鎖技術(shù)把需要用時30個時鐘周期才能完成的連續(xù)的堆棧彈出和壓入操作替換為6個周期就能完成的指令取指,實現(xiàn)了延遲的降低。處理器狀態(tài)在進入中斷時自動保存,在中斷退出時自動恢復,比 執(zhí)行用時更少,大大提高了頻率為
100MHz
的子系統(tǒng)的性能。ARM公司在其Cortex-M內(nèi)核中嵌入新的Thumb-2指令集。新的Thumb-2內(nèi)核技術(shù)保留了緊湊代碼質(zhì)量并與現(xiàn)有ARM方案的代碼兼容性,提供改進的性能和能量效率。Thumb-2是一種新型混合指令集,融合了16位和
32位指令,用于實現(xiàn)密度和性能的最佳平衡。在不對性能進行折中的情況下,節(jié)省許多高集成度系統(tǒng)級設(shè)計的總體成本。Cortex-M支持的Thumb-2指令目標:看到一段匯編的代碼時,會去查處相關(guān)的指令集,讀懂代碼的意圖/作用即可。Cortex-M支持的Thumb-2指令:免去
Thumb和ARM代碼的互相切換,對于早期的處理器來說,這種狀態(tài)切換會降低性能。Thumb-2指令集的設(shè)計是專門面向C語言的,且包括If/Then結(jié)構(gòu)(
接下來的四條語句的條件執(zhí)行)、硬件除法以及本地位域操作。(復位向量有堆棧MSP初值。。。)Thumb-2指令集提供CLZ、RBIT指令,計算前導零指令和位反轉(zhuǎn)指令,組合使用很強大Thumb-2指令集提供SEV、WFE、WFI指令,發(fā)送事件、等待事件、等待中斷指令,多核任務同步Thumb-2指令的優(yōu)勢Cortex-M處理器不再直接提供JTAG接口,而是提供一個DAP調(diào)試 接口,在實際 中,可以連接不同的DP調(diào)試端口設(shè)備,實現(xiàn)包括傳統(tǒng)JTAG到串行線的各種調(diào)試方式,因而支持多種開發(fā)工具:Cortex-M
的調(diào)試ARM
Cortex
M3
to
M4The
Cortex-M4
features
a
single-cycle
multiply-accumulate
(MAC)unit,
optimized
single
instruction
multiple
data
(SIMD)
instructions,saturating
arithmetic
instructions
and
an
optional
single
precisionFloating-Point
Unit
(FPU).Page
33ARM7
vs
Cortex-M3學習掌握ARM
Cortex
的思路自下而上與自上而下8位MCU教學使用傳統(tǒng)自下而上的思路CPU寄存器、指令集、匯編、C……ARM發(fā)展到Cortex,相當于從微機到小型機,其CPU設(shè)計借鑒了PowerPC、MIPS等面向帶多用戶操作系統(tǒng)的
理念,對其指令集、運行模式等的理解需RTOS方面的知識,如優(yōu)先級、共享資源、競爭、信號量等應采用自上而下的思路學習,不妨先介紹一些RTOS方面的基本知識,從掌握開發(fā)工具的使用開始,讀懂CW中自帶的范例程序到自己寫C程序,自上而下、循序漸進地理解CortexFreescale
MCUFreescale
ARMFreescale
KinetisKinetis
系列Kinetis
系列ARM
Cortex-M4
from
FreescaleARM
Cortex-M4
from
FreescaleLecture2Page
47Pin
Compatibility
Across
FamiliesPin
Compatibility
Across
FamiliesMemory
Map
of
Kinetis
FamiliesThe
K10
Family
Block
DiagramThe
K10
Family
OverviewK10
主要性能Voltage
range:
1.71
to
3.6
V,5
V
tolerant
GPIOUp
to
100
MHz(120
MHz)
with
DSP,instructions
~1.25
Dhrystone
MIPS/MHz32~1MB
flash/8K~128
KB
RAM16-bit
ADCs,12-bit
DACs,增益可編程放大器,電容式觸摸鍵盤接口UARTs
with
ISO7816
and
IrDA
support,
I2S,
CAN,
I2C
and
DSPI,Modulator
Transmitter
for
IR
waveform
generationPowerful
Flex
Timers
which
support
general
purpose,control
functionsTimer
for
RTOS,temperature
ranges
from-40
°C
to
105
°C,
and
motorK10
系列可選引腳:32/48/64/80/100/104/121/144100
Pin K10LL
的I/O~70個I/O端口(GPIO)TSI
16ADC
16DAC
1ACP
38UART
4I2C
2I2S
1SPI
3CAN
2Up
to
4
pairs
of
differential
and
24
single-ended
externalog
inputsOutput
modes:-
differential
16-bit,
13-bit,11-bit
or
9-bit-
single-ended
16-bit,
12-bit,
10-bit
and
8-bitProgrammable
Gain
Amplifier
(PGA)
:
up
to
x64
gain-
Amplify
low-amplitude
signals
before
they
are
fed
to
ADC-
Only
work
with
differential
input
(range
from
0~1.2V
±
10mv)ADC
conversion
clk
frequency
:-1~18MHz
for
≤
13-bit
mode-
2~12Mhz
for
16-bit
modeADC
conversion
rate:18.484~818.33
Ksps
for
≤13-bit
mode37.037~361.402Ksps
for
≤
13-bit
mode(continous
conversion,
peripheral
clk=50MHz,
no
ADC
hardwareaveraging)Conversion
complete
/
hardware
average
complete
flag
andinterruptSelectable
hardware
conversion
trigger
with
hardware
channelselectAutomatic
compare
with
interrupt
for
less-than,
greater-than
orequal-to,
within
range,
or
out-of-range,
programmable
valueHardware
average
functionSelf-calibration
mode16-bit
ADCOperates
over
the
entire
supply
rangeProgrammable
hysteresis
controlSelectable
interrupt
on
rising
edge,
falling
edge,
orboth
rising
or
falling
edges
of
comparator
outputSelectable
inversion
on
comparator
outputComparator
output
may
be:SampledWindowedDigitally
FilteredFilter
can
bebypassedCan
be
clocked
via
external
SAMPLE
signal
orscaled
bus
clockSupport
DMA
transfer- A
comparison
event
can
be
selected
to
trigger
aDMA
transfer.Two
software
selectable
performance
levels:- Shorter
propagation
delay
at
the
expense
of
higherpower
Td
=
50ns
(typ.)- Low
power,
with
longer
propagationdelay
Td
=
250ns
(typ.)6-bit
CMP
Analog
ComparatorIntended
to
supply
an
accurate
1.2
V
voltage
output.VREFV1
can
be
used
in
medical
applications
such
as
glucose
meters
to
provide
a
referencevoltage
to
biosensors
or
as
a
referenceto og
peripherals
such
as
the
ADC,
DAC,
or
CMP.Low
power
mode:
VREFV1
can
only
be
used
for
internal
peripheralHigh
power
mode:
VREFV1
can
be
used
for
external
peripheral,
100nF
capacitor
needed.VoltageReference(VREFV1)The
USB
Voltage
Regulator
module
is
a
LDO
linear
voltage
regulator
to
provide3.3V
power
from
an
input
power
supply
varying
from
2.7
V
to
5.5
V.Low
drop-out
voltage:
300
mVOutput
current:
120
mA.Automatic
current
limiting
if
the
load
current
is
greater
than
290
mASmall
outputcapacitor:
2.2
uFStable
with
aluminum,
tantalum
or
ceramic
capacitors.USB
Voltage
Regulator
(K20)Implements
the
full
802.3
specificationwith
preamble/SFDgeneration,
frame
padding
generation,CRC
generation
and
checkingDynamically
configurable
to
support10/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024藝術(shù)學校教室租賃與藝術(shù)展覽合作合同3篇
- 二零二五年度風力發(fā)電設(shè)備安裝與運營合同3篇
- 2025年度貓咪品種引進與銷售代理合同4篇
- 二零二四年光伏發(fā)電項目爆破鉆孔合同
- 南昌市2025年度新建住宅買賣合同
- 二零二五版環(huán)保設(shè)施建設(shè)與運營合同3篇
- 2025年度餐飲企業(yè)知識產(chǎn)權(quán)保護合同18篇
- 年度超高純氣體的純化設(shè)備戰(zhàn)略市場規(guī)劃報告
- 2025版智能交通信號系統(tǒng)零星維修施工合同4篇
- 二零二五年度車輛抵押擔保信托合同范本3篇
- 稱量與天平培訓試題及答案
- 超全的超濾與納濾概述、基本理論和應用
- 2020年醫(yī)師定期考核試題與答案(公衛(wèi)專業(yè))
- 2022年中國育齡女性生殖健康研究報告
- 各種靜脈置管固定方法
- 消防報審驗收程序及表格
- 教育金規(guī)劃ppt課件
- 呼吸機波形分析及臨床應用
- 常用緊固件選用指南
- 私人借款協(xié)議書新編整理版示范文本
- 自薦書(彩色封面)
評論
0/150
提交評論