2024年5月12日发(作者:完鹏赋)
ARM架构基础知识小结
从单片机转到ARM,主要需要学习ARM的架构,ARM相比单片机多了一些外设和总线。 在仅仅
是裸奔的情况下, 如果熟悉了 ARM架构,那么我认为使用任何 ARM架构的芯片和用 单片机将没有
区别。ARM架构之所以更复杂,当然是为了跑更快以及更好地支持片上系统, 所以在某种程度上来说
对片上系统不是很了解的话那对于
ARM的历史版本
ARM7TDMI是基于ARMv4T架构的。ARMv5TE架构则是伴随着 ARM9E处理器家族亮相 的。
ARM11是基于 ARMv6架构基于 ARMv6架构 的处理器包括 ARM1136J(F)-S, ARM1156T2(F)-S,以
及 ARM1176JZ(F)-S最近的几年,基于从 ARMv6开始的新设计理念, ARM进一步扩展了它的 CPU
设计,成果就是 ARMv7架构的闪亮登场。在这个版本中,内核 架构首次从单一款式变成 3种款式。
就拿ARM7TDMI来说,T代表Thumb指令集,D是说
支持JTAG调试
(
Debugging), M意指快速乘法器,I则对应一个嵌入式ICE模块。后来,这 4 项基本
功能成了任何新产品的标配,于是就不再使用这 4个后缀一一相当于默许了。
ARM架构的理解也不会那么深。
[奶■希字
7TDMI
ARMHOMI-S
ARMI7LI-S
号
MT
MT
性
vSE
v4T
DSP
」褴馳
f
MlMU
MMU
2T
ARM926U-S
ARM94€ES
AAM466E-S
L -------- ----- --
3E-S
ARM966H5
10JOE
1022E
v5E
w5E
MMU
MPU
DSPJazelle
DSP
ft$p
&
v5E
vSE
vSE
v5E
vSE
v£E
| MPU (
唧地)
MMU
MMU
MMU
LX
MPl?**
11
MMU
MMU*Tfusl2one
OSP
DSP
MP
网皿胫
(»P. J^zelle
Jwllc
MP
,
!
|
1136J(FH
ARM117fiJ2(H-S
ARMllMPG»re
v5
v6
v6
ARM1156T2(F)i-5
Cortex M3
Cortex-R4
*6
v7-M
MPU
MPU {
町
it)
MPU
MPU
OSP
WVK
DSP
MP*
融
i
远曽
L--
v7-R
Cortex AB V7-A MMU-^Tr ustZon*>
通用寄存器
R13通常被用作栈指针, 进入异常模式时,可以将需要使用的寄存器保存在
栈中;当退出异常吹程序时,将保存在 R13所指的栈中的寄存器值弹出。
R13所指的
R14又被称为连接
寄存器(LinkRegister, LR),即PC的返回值。R15又被记作PC。ARM指令是字对齐的,PC
的值的第0位和第1位总为0。也就是说是32位对齐。
# » 4
書科馳呼打楫氏苫初耳口
If
削
EHl
戎 平止用成 怏虽申會■式
EO
RI
R2
U
It
网
R]
fL2
iu
*l
肿
Rt
RJ
RO
KI
U
KJ
Wf
Rl
!□
約
R4
和
1+
K5
ftjb
»
JW
K4
谿
Ke
Hl
R?
Ki
禅
Jt*
til)
爾
R9
RIO
ftii
耶
M
肿
RIO
Fill
n*
nao
BII
R
:
2
Rt
HiC
Ril
Rl
:
R13 »
HI*
mi
RI2
Ml* ibl
*14 ibt
ELI
Ml
KH
9.12
RIJ
KI4
FC
RI3
Al 4
UM
£
FC
购一闻
R»4
冏
FC PC K
K
rc
2024年5月12日发(作者:完鹏赋)
ARM架构基础知识小结
从单片机转到ARM,主要需要学习ARM的架构,ARM相比单片机多了一些外设和总线。 在仅仅
是裸奔的情况下, 如果熟悉了 ARM架构,那么我认为使用任何 ARM架构的芯片和用 单片机将没有
区别。ARM架构之所以更复杂,当然是为了跑更快以及更好地支持片上系统, 所以在某种程度上来说
对片上系统不是很了解的话那对于
ARM的历史版本
ARM7TDMI是基于ARMv4T架构的。ARMv5TE架构则是伴随着 ARM9E处理器家族亮相 的。
ARM11是基于 ARMv6架构基于 ARMv6架构 的处理器包括 ARM1136J(F)-S, ARM1156T2(F)-S,以
及 ARM1176JZ(F)-S最近的几年,基于从 ARMv6开始的新设计理念, ARM进一步扩展了它的 CPU
设计,成果就是 ARMv7架构的闪亮登场。在这个版本中,内核 架构首次从单一款式变成 3种款式。
就拿ARM7TDMI来说,T代表Thumb指令集,D是说
支持JTAG调试
(
Debugging), M意指快速乘法器,I则对应一个嵌入式ICE模块。后来,这 4 项基本
功能成了任何新产品的标配,于是就不再使用这 4个后缀一一相当于默许了。
ARM架构的理解也不会那么深。
[奶■希字
7TDMI
ARMHOMI-S
ARMI7LI-S
号
MT
MT
性
vSE
v4T
DSP
」褴馳
f
MlMU
MMU
2T
ARM926U-S
ARM94€ES
AAM466E-S
L -------- ----- --
3E-S
ARM966H5
10JOE
1022E
v5E
w5E
MMU
MPU
DSPJazelle
DSP
ft$p
&
v5E
vSE
vSE
v5E
vSE
v£E
| MPU (
唧地)
MMU
MMU
MMU
LX
MPl?**
11
MMU
MMU*Tfusl2one
OSP
DSP
MP
网皿胫
(»P. J^zelle
Jwllc
MP
,
!
|
1136J(FH
ARM117fiJ2(H-S
ARMllMPG»re
v5
v6
v6
ARM1156T2(F)i-5
Cortex M3
Cortex-R4
*6
v7-M
MPU
MPU {
町
it)
MPU
MPU
OSP
WVK
DSP
MP*
融
i
远曽
L--
v7-R
Cortex AB V7-A MMU-^Tr ustZon*>
通用寄存器
R13通常被用作栈指针, 进入异常模式时,可以将需要使用的寄存器保存在
栈中;当退出异常吹程序时,将保存在 R13所指的栈中的寄存器值弹出。
R13所指的
R14又被称为连接
寄存器(LinkRegister, LR),即PC的返回值。R15又被记作PC。ARM指令是字对齐的,PC
的值的第0位和第1位总为0。也就是说是32位对齐。
# » 4
書科馳呼打楫氏苫初耳口
If
削
EHl
戎 平止用成 怏虽申會■式
EO
RI
R2
U
It
网
R]
fL2
iu
*l
肿
Rt
RJ
RO
KI
U
KJ
Wf
Rl
!□
約
R4
和
1+
K5
ftjb
»
JW
K4
谿
Ke
Hl
R?
Ki
禅
Jt*
til)
爾
R9
RIO
ftii
耶
M
肿
RIO
Fill
n*
nao
BII
R
:
2
Rt
HiC
Ril
Rl
:
R13 »
HI*
mi
RI2
Ml* ibl
*14 ibt
ELI
Ml
KH
9.12
RIJ
KI4
FC
RI3
Al 4
UM
£
FC
购一闻
R»4
冏
FC PC K
K
rc