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

发布时间:2020-4-28 14:10    发布者:嵌入式人生17
考一考!嵌入式开发面试题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协处理器的寄存器和内存单元之间传送数据。

本文地址:https://www.eechina.com/thread-586991-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表