打印
[ARM入门]

考一考!嵌入式开发面试题3道

[复制链接]
340|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
考一考!嵌入式开发面试题3道

 题一: 
中断与异常有何区别?
 
 思考过后,再到下方寻找答案
 
题二:
当一个异常出现以后,ARM微处理器会执行哪几步操作?
 
思考过后,再到下方寻找答案
 
题三:
ARM协处理器指令包括哪3类,请描述它们的功能。

 思考过后,再到下方寻找答案

题一答案: 
异常在处理的时候必须考虑与处理器的时钟同步,实际上异常也称为同步中断,在处理器执行到因编译错误而导致的错误指令时,或者在执行期间出现特殊错误,必须靠内核处理的时候,处理器就会产生一个异常;所谓中断是指外部硬件产生的一个电信号从CPU的中断引脚进入,打断CPU的运行。所谓异常是指软件运行过程中发生了一些必须作出处理的事件,CPU自动产生一个陷入来打断CPU的运行。
 
题二答案: 
当一个异常出现以后,ARM微处理器会执行以下几步操作。
A、将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。若异常是从ARM状态进入,则LR寄存器中保存 的是下一条指令的地址(当前PC+4或PC+8,与异常的类型有关);若异常是从Thumb状态进入,则在LR寄存器中保存当前PC的偏移量,这样,异常 处理程序就不需要确定异常是从何种状态进入的。例如:在软件中断异常SWI,指令 MOV PC,R14_svc总是返回到下一条指令,不管SWI是在ARM状态执行,还是在Thumb状态执行。
B、将CPSR复制到相应的SPSR中。
C、根据异常类型,强制设置CPSR的运行模式位。
D、强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。
 
题三答案: 
ARM协处理器指令包括以下3类:
用于ARM处理器初始化ARM协处理器的数据处理操作。
用于ARM处理器的寄存器和ARM协处理器的寄存器间的数据传送操作。
用于在ARM协处理器的寄存器和内存单元之间传送数据。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

119

主题

139

帖子

0

粉丝