OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 16188|回复: 8

ARM常见面试题目

[复制链接]

11

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2012-7-12
在线时间
5 小时
发表于 2014-8-31 17:33:47 | 显示全部楼层 |阅读模式


更多请看:
http://m18271260665.blog.163.com/

1.ARM有几种工作模式?
ARM有7个基本工作模式: 用户模式(user)、系统模式(system)、数据访问中止模式(abort)、未定义指令中止模式(undef)、快速中断模式(FIQ)、外部中断模式(IRQ)、管理模式(SVC)
cortex-A系列特有:M (monitor) : 安全模式

记忆方法USA  UFI(不是UFO) SM(你懂的ARM常见面试题目汇总 - 戴↑Ω听歌 - Under the bule sky

2.ARM核有多少个寄存器?
ARM有37个32位长的寄存器。(记住就行)


3.什么寄存器用于存储PC和LR寄存器?
R15(PC)、R14(LR)。


4. R13通常用来存储什么?
SP(栈指向) 栈指针。


5. 哪种模式使用的寄存器最少? 
用户模式/系统模式(不用SPSR)。


6.在Thumb指令集中,哪些寄存器处于low group? 
R0-R7属于低位寄存器。


 7.CPSR的哪一个位反映了处理器的状态? 
第5位(从0开始),T状态位。


8. 所有的Thumb指令采取什么对齐方式? 
半字对齐(2个字节) 。

9.ARM有哪几个异常类型?
(1)复位异常     ->  SVC 模式 [开发板复位]
(2)未定义异常  ->  UDF 模式 [执行未定义的指令]
(2)软中断异常   ->  SVC 模式 [通过SWI指令产生]
(4)取数据终止   ->  ABT 模式 [没有取到数据]
(5)取指令终止   ->  ABT 模式 [没有取指令]
(6)IRQ中断      ->  IRQ 模式 [硬件触发的IRQ中断]
(7)FIQ中断      ->  FIQ 模式 [硬件触发的FIQ中断]

 
10.为什么FIQ的服务程序地址要位于0X1C?
尽可能快,省去跳转指令(FIQ的向量地址是异常中断向量表的最高地址,而异常中断向量表后跟的是程序代码,FIQ的中断服务程序紧接中断向量表存放,中断过程可以节省一条跳转指令)

11.ARM核是如何让FIQ快速处理?
<1>FIQ模式有私有的r8-r12,如果只是用私有的寄存器,不需要保护通用寄存器
<2>FIQ异常在异常向量表最顶端,可以直接写FIQ异常处理函数,不需要跳转


12.在复位后,ARM处理器处于何种模式、何种状态?
管理模式(SVC)、ARM状态 


13.ARM处理器的八种寻址方式?
①.立即数寻址: 要求以#开头 mov r0,#9
②.寄存器寻址: add  r0,r1,r2 r0 = r1+r2
mov  r0,r1 r0 = r1
③.寄存器间接寻址: ldr  r0,[r1] r0 = [r1]
④.寄存器移位寻址: add  r0,r1,r2,lsl   #2
⑤.基址变址寻址: //前索引  ldr r0,[r1,#4]  //r0 = *(r1 + 4) 
//后索引  ldr r0,[r1],#4  //r0 = *r1,r1 = r1 + 4 ; data = *p ++; 
//自动索引  ldr r0,[r1,#4]!  //r0 = *(r1 + 4); r1 = r1 + 4
⑥.多寄存器寻址: ldmxx r0!,{r1-r15}
⑦.相对寻址: 以PC的当前值为基地址,指令中的地址号为偏移量,两种之和得到操作数的地址
⑧.堆栈寻址: stmfd sp!,{r0-r12}


14. SWP 指令的优势是什么?用来实现什么功能? 
功能:在寄存器和存储器之间,由一次存储器读和一次存储器写组成的原子操作。完成一个字节或字的交换。 可以用来实现信号量。
SWP Rd,Rm,[Rn]
第一步:先将Rn所指向的内容传给Rd,Rd = [Rn]
第二步:再将Rm的内容传给Rn所指向的地址[Rn] = Rm



15.ARM处理器的执行状态?
①.ARM状态:
所有指令32位宽
所有指令必须word对齐
pc值由bits 【31:2】决定,bits【1:0】未定义
②.Thumb状态:
所有指令宽度16位
必须半字halfword对齐
pc值由bits【31:1】决定




16.异常产生时,ARM核自动完成的任务?
<1>CPSR拷贝到异常模式的SPSR 
  <2>设置CPSR的相应位 
  进入ARM状态 
  设为对应的异常模式 
  禁止中断[中断产生的时候] 
<3>将PC保存到异常模式的LR 
<4>修改PC的值到异常向量表
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2012-7-12
在线时间
5 小时
 楼主| 发表于 2014-8-31 17:44:45 | 显示全部楼层
原子哥肯定要在下面说一个:谢谢分享
回复 支持 反对

使用道具 举报

17

主题

342

帖子

0

精华

高级会员

Rank: 4

积分
544
金钱
544
注册时间
2014-4-24
在线时间
20 小时
发表于 2014-8-31 17:51:50 | 显示全部楼层
怎么像书本上的考试内容呢,考这些真没意思。。。。。。。
回复 支持 反对

使用道具 举报

7

主题

85

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2013-10-10
在线时间
5 小时
发表于 2014-8-31 19:06:14 | 显示全部楼层
回复【3楼】STM32VBT6:
---------------------------------
+1
回复 支持 反对

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2014-8-31 19:18:27 | 显示全部楼层
没什么实用价值,确实没见哪次面试遇到过。
于20150522停用该账号:http://www.microstar.club
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-9-1 08:07:09 | 显示全部楼层
回复【2楼】戴上耳机听歌:
---------------------------------
原子哥没说,我说一个吧,谢谢分享!
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

187

主题

324

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1123
注册时间
2012-6-4
在线时间
120 小时
发表于 2014-9-1 08:45:11 | 显示全部楼层
这是arm7内核的工作模式,都已经过时了。
你自己都没仔细看。
发这些东西意义不大。。
回复 支持 反对

使用道具 举报

17

主题

342

帖子

0

精华

高级会员

Rank: 4

积分
544
金钱
544
注册时间
2014-4-24
在线时间
20 小时
发表于 2014-9-1 14:38:22 | 显示全部楼层
回复【7楼】51921866:
---------------------------------
确实。基本属于死记硬背来应付考试的东西,晦涩抽象,这么底层的东西交给芯片设计和生产厂家了。
应用型的人有个大致了解即可,应用与实践才是王道!
回复 支持 反对

使用道具 举报

11

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2012-7-12
在线时间
5 小时
 楼主| 发表于 2014-9-22 15:18:38 | 显示全部楼层
回复【8楼】STM32VBT6:
---------------------------------
但是这些东西对于应届毕业生找工作面试笔试是必须的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-1 02:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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