找回密码
 注册
关于网站域名变更的通知
查看: 355|回复: 1
打印 上一主题 下一主题

ARM常见的一些问题记录

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-9-26 13:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
1.说出ARM可以工作的模式名字答:7种:& \& @. K/ ?; H& d& N  j4 Q
  • usr 用户模式
  • system  系统模式
  • FIQ 快速中断模式
  • IRQ 外部中断模式
  • Abort 异常模式
  • undef 未定义模式
  • svc 管理模式
    6 X. h" W: z3 s  D7 F' \& G# U

# @: [! z- F( C' v$ X1 C9 B9 M2 z
" F. x3 W. ~5 w5 C; |! _1 J2.ARM核有多少个寄存器

  o: t1 l& S" T& D
0 L: C$ G9 y" P0 u- p答:37个32位的寄存器
9 q) ?0 b/ J' F" C) `
# E+ F+ @. F" S- T" {
3.什么寄存器用于存储PC和LR寄存器  
" ^1 W* u, \1 C. q, e3 s- U  i0 K
% F. w! |& B! m4 H$ S
3 [5 ~  G3 K  K; h& q/ A9 J$ J8 I
答:PC:R15。LR:P14, |: }. G: s7 ~3 R: @+ g

+ b+ I, B' T3 D! p0 e
. G* C, R/ q) h4.R13通常用来存储什么  
1 Q3 ~. Q, E7 c1 m/ N

+ f# }3 G. J9 Y6 E- T& S) {" f7 n
$ z& b% j+ m& y
答:栈指针
4 P+ T. M- O4 W. c
$ n/ g, h4 a/ h
, _3 O- N1 M/ H8 _- U2 K$ V% e+ _
8 t! g* z  ]* c
5.哪种模式使用的寄存器最少  
7 }: G+ w; a' F

3 h. Q5 N, w% V! `$ m9 X
/ A* m% C6 d6 F% C" F# o+ U, M
答:usr* S3 X4 ~, L& m. q! D% o4 a
, x* }6 z3 f5 `* ]! z6 O/ d  I

2 g! c9 W0 T% F, y" v8 i0 Z
: T+ }% \* r) A3 D  z6.在Thumb指令中,哪些处理器处于Low group  
2 }! A) {6 k9 K$ f$ S

5 }8 v. l! \  f( d, w

5 F5 K) G0 J# ^8 ~1 |0 N答:R0-R7$ R) K0 u* r; N6 s
; h/ ~# G" l. Q% ]
5 `7 }) y  u5 x
' y& b/ L$ m7 Q# f
7.CPSR的哪一位反映了处理器的状态  
' X# J8 B5 l* z; `' r' r
" H! s3 s9 D5 O3 F

6 m" d  [9 J! Y1 Y% X; O答:T
* [& ]! t* P, ~; I6 F
- U$ j$ P  R( v; D9 d3 c

& D5 f& G+ ?# o; l& _$ o2 E3 {. v
; u1 G( s& b9 B! ^; X  J2 Z! `0 F8.所有Thumb指令采取什么对齐方式  

( @( t3 m' N' b% A- x4 v$ O- ]' W
; e- j4 c4 V' e' e2 w* [

$ B' o! q( ^; K. H+ [2 L答:16位2字节对齐2 Z: X8 @( L& L- N. S
  h2 K% T% }$ W
9 s; g/ `0 ?& |2 Y" o) f# I% T
/ ]6 `* y) n5 W( N
9.ARM有哪几个异常类型

: H; P9 E0 o3 i( w- K
6 F% h" `% w" B. R+ y' d

( z* Z8 u1 x  ~9 J答:7个& K4 _! a8 E  f) G; g/ J. b

! ]9 C. u: L7 r  n) |* Z& m4 y

% d) G2 [9 E. H& A
  • Reset   复位异常   0x00
  • Undefined instruction 未定义异常 0x04
  • Software interrupt 软中断  0x08
  • Prefetch Abort  预取指异常 0x0c
  • Data Abort  数据异常 0x10
  • IRQ   外部中断异常 0x18
  • FIQ   快速中断异常 0x1c
    6 g2 G5 g: [4 n
; n* H6 f( Y0 b- H  H

( r3 Y; }$ D3 j' T

( U# k! T4 S4 Y: ]  E. v. _. S6 a7 Q+ ~, R
10.为什么FIQ的服务程序地址要位于0x1c
6 l( c: @* l% H( F0 o; w

4 X4 x9 I9 N8 Q8 F答:因为0x1c后面可以直接给异常处理函数,而不需跳转,FIQ还有额外的5个私有寄存器,不需对齐进行保护(中断处理时,必须保护期使用的非私有寄存器)从而提高执行速度如果在0x1c前面的话则只有四个字节只能跳转执行异常函数

8 t( v9 G& f) t5 a# F  U7 D! b; L
4 l- r9 [7 o0 H9 h4 r

: f  V; I/ U; w# r
% I1 i& N  u+ ^/ {& q4 [( _4 W11.在复位后,ARM处理处于何种模式、何种状态  
3 V& ^/ Y$ |! S

1 b* m1 j: m; R1 R* F* t6 e# o' @6 h答:处理ARM状态,svc模式
8 N  K( v3 o, l  |, g

/ A' E9 w4 g3 _/ {* `
$ |+ u# @. V( T. M
7 X4 |" \% `; a8 p4 k8 C
12.哪些ARM指令可以有条件的执行  

' v  U. a8 D! F
2 \' l* F+ Z! x; |; u答:在ARMv4架构下所有的指令都是可以有条件执行,但是在ARMv5架构下有一条指令BX不能有条件执行,是非条件执行
* I- U7 X6 L% N3 o" [# ]! Q1 j

3 k: W) z) N1 V9 P4 |
9 g5 v1 a: q% ^; {" Y% E  V& n- h
, X, e3 E3 U* k$ I0 o
13.Thumb代码与ARM代码比较的两在优势

. n3 A7 u8 H6 |' ?. L3 @+ t" |5 t/ }' t' z+ O  D

4 E/ ?& x) C& k' z答:优化代码密码、提高窄内存操作性能、是ARM指令集的一个功能子集. r0 k- Q, \( o  l

+ Q+ k8 G( b4 G
1 n1 X' Y8 r( |5 P! X9 a& q8 g
" l! t- D4 m. i$ ~6 E
14.AMBA代表是什么  

/ l9 s6 L9 p8 g' \( ~, L% y0 f' ~+ R8 M& g
, B( c8 z" z# Y

& m. D, S! Z+ _# ~0 Z答:advanced mircontrol bus architecture 高级微控制总线体系结构
0 F1 |  p9 a) g3 {. N$ M; E4 i, U9 r
4 L6 ^" g& T5 u! {- F) U6 ~: F AHB:高速总线。APB:低速总线
( j5 q" C6 W2 E8 R( \
8 z6 Y" ~+ p+ c6 _
% X: A+ Y8 d6 B2 O
) x9 o# Z& D+ j
# w2 A% B4 k/ m- l0 C1 |4 k, X6 _
- w* q! Y) W; o" u  `. b  n8 j) L
9 }4 g1 n9 y, l, m8 W: e

- g/ L2 L. J- _! W; I) i6 p$ L( M8 Z
2 I# p/ H; H$ P2 e

该用户从未签到

2#
发表于 2019-9-26 19:01 | 只看该作者
ARM常见的一些问题记录。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-24 00:39 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表