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

ARM常见的一些问题记录

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
1.说出ARM可以工作的模式名字答:7种:( {# u4 B* P* a
  • usr 用户模式
  • system  系统模式
  • FIQ 快速中断模式
  • IRQ 外部中断模式
  • Abort 异常模式
  • undef 未定义模式
  • svc 管理模式
      d: w# O- m1 ^& _0 `! t
; \2 i/ \% K) t! X" [: }

0 e: j2 j4 I. j, F1 d2 Z3 z- Q3 P2.ARM核有多少个寄存器

. e5 j1 q; u! t7 U
2 r8 b. c- ^. N# \9 Q0 X' D答:37个32位的寄存器

+ `- E6 K8 ]1 i# J! A1 U2 j4 e8 M" x0 u2 E
3.什么寄存器用于存储PC和LR寄存器  

/ D; {2 V5 ]7 Z/ B; p) e
% r7 [8 B: k( i

: o7 j  X8 o8 \- C/ Z% _1 [答:PC:R15。LR:P14
, |+ K/ u* L) [1 {/ N; o+ k
4 v+ U. U2 v' N& T% O! ]) Q
- I4 E0 l' L- o" g4 s3 m4.R13通常用来存储什么  

1 }( w* P- l; F8 ?1 ?6 M7 r% L% d7 ]
6 \! I' w6 c( t/ _4 ]9 |& w: F
1 u2 c! N/ J" T: N$ A5 m
答:栈指针
5 Q, s* V7 `- _  S
. E$ n9 P+ c( n/ X' A6 g6 @

! K% _( F: ?- k3 t% f/ j/ z: p
# }6 M- F% x. s9 w$ i5.哪种模式使用的寄存器最少  

6 }* Y- b* M8 A  \% s0 [
, N; b) A6 v: P3 V) S

+ w, N7 o% H. r, [: L答:usr5 F0 v! u0 Z4 e- ]) g9 V6 m
' a$ ]1 R" C2 n' C3 o) W
$ ]/ n5 p0 n/ ~

" T- Z( s# ?0 \" \6.在Thumb指令中,哪些处理器处于Low group  

: }3 Q, e0 ]8 @" @
" n  [0 l# q# {* y4 M
  X$ s" \" A! A
答:R0-R7
* T- z5 w& E% d% Q( k& j7 }
2 L9 |4 ]7 `9 g0 d/ `8 @

1 w$ e5 H7 Z( |; y" r2 A8 }# A) t! s- y3 T/ T6 h5 h
7.CPSR的哪一位反映了处理器的状态  
& G0 D5 Y2 k  j2 ?5 @+ L

1 ^3 e5 h6 S8 V' e, W
+ P9 c( e, G8 s6 r6 l
答:T
. A8 s9 f9 m. P8 Q3 P6 Y6 l( \/ Y6 I# C" ?  A
( |# b) z( v) h" t

' Z0 P) C, d! G: b! O: r' X3 L+ S/ \8.所有Thumb指令采取什么对齐方式  
6 P! e8 D1 _* K! Z! `6 Z

* U& P7 y) D8 c& a+ A; C; m
! _+ f- }, P1 a- f3 E8 C
答:16位2字节对齐# n- g$ U5 ^& p6 E8 D8 P* q

+ \7 O% ?* ~0 d! n* ^
. t* S; U5 U4 b9 v
/ G; S% l7 o  t; @$ G2 }7 c$ S
9.ARM有哪几个异常类型
5 H% g$ k4 t/ c/ v6 k! e

6 o' L/ H& e4 U1 C+ T' c, Q3 {
. E5 D- M* v4 [# B0 N) y  `3 o
答:7个3 d/ e: h" q2 P: M
' C& H/ u) K( i
7 a# R3 B& I# p4 a, P2 o
  • Reset   复位异常   0x00
  • Undefined instruction 未定义异常 0x04
  • Software interrupt 软中断  0x08
  • Prefetch Abort  预取指异常 0x0c
  • Data Abort  数据异常 0x10
  • IRQ   外部中断异常 0x18
  • FIQ   快速中断异常 0x1c
    / F( {  z5 Q+ I) R$ P5 q
5 t& T5 G- k; m; ]' v
/ V/ s* y+ R; C8 e/ |- f
, ]9 {' j6 u; {! H- A, \! |. w6 F5 I

' }8 R$ Y+ ]5 k/ o0 b10.为什么FIQ的服务程序地址要位于0x1c
" }7 w7 i/ D, F

# M$ Y# I9 W, l  d答:因为0x1c后面可以直接给异常处理函数,而不需跳转,FIQ还有额外的5个私有寄存器,不需对齐进行保护(中断处理时,必须保护期使用的非私有寄存器)从而提高执行速度如果在0x1c前面的话则只有四个字节只能跳转执行异常函数
) `3 K* ?2 u# \- H! h3 y$ w, d

4 I5 _7 Q& _7 m

; @$ z  z7 }, D" j; u; @4 @9 e2 K4 m8 K, W' I4 C
11.在复位后,ARM处理处于何种模式、何种状态  

$ H+ Q: e* y5 a+ {" b$ w/ G# @( b5 A( P+ V6 O
答:处理ARM状态,svc模式
- b+ F/ g; M, k( l. s2 I
/ n/ @( L6 t2 ?2 n
: w6 _8 r" ]0 ]: r7 @& S+ D4 V

" \" \& ?' N' y& u. R  B12.哪些ARM指令可以有条件的执行  

  x- Y! a3 q! x3 i+ G2 k6 d9 I& w3 R+ p2 O
答:在ARMv4架构下所有的指令都是可以有条件执行,但是在ARMv5架构下有一条指令BX不能有条件执行,是非条件执行
5 C+ R8 c: I5 M, k( `* F% {

8 y& v0 x8 e% O4 i# f- L
( z5 @: B! `7 _
% i4 X7 O6 n8 \$ {
13.Thumb代码与ARM代码比较的两在优势

# e1 g. U, V& B' `4 d4 v! ~
6 y5 R2 ?, t: O$ l
1 F: W; j1 A* g7 u0 h3 q$ S* D
答:优化代码密码、提高窄内存操作性能、是ARM指令集的一个功能子集( P( a5 ~4 N( M3 ^2 a$ D- u
  E5 P( ~& _5 l" q% h' w! c
5 `' u/ b8 `- T: W) T- g
# ]; m0 t* m/ C
14.AMBA代表是什么  

5 L- t  q1 E+ u" @3 ^3 S" ]6 f6 \1 e" p5 j
. T2 Q0 @( W% v8 u+ O
答:advanced mircontrol bus architecture 高级微控制总线体系结构
, i' _/ C! |; I  \+ c5 ]$ s+ D
AHB:高速总线。APB:低速总线1 H6 m) S, X  }* |' ^7 Z9 V( c
2 L' ?  U, B& \2 t  {

% g  c1 U5 Z* W9 a+ I
" J* E( ^$ p# o. X6 @1 E0 f

8 y( Y. m0 M$ g" T+ A# h  {5 b: w
4 J5 ~" [! a  i

4 j  q2 S; n: e. u4 p
! W, M0 A' H& t: x' Y9 r0 Q

. J) w* o9 N3 c6 D
/ u5 l/ Y5 F- P# e7 O6 J

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-25 00:13 , Processed in 0.156250 second(s), 24 queries , Gzip On.

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

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

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