大数跨境

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

考一考!嵌入式开发面试题3道 芯片之家
2017-09-01
0
导读:题一: ARM异常有哪些分类? 思考过后,再到下方寻找答案 题二: ARM异常会发生哪些硬件操作?


题一: 

ARM异常有哪些分类?

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

题二: 

ARM异常会发生哪些硬件操作?

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

 题三: 

请简述中断与异常的区别。

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

题一答案:

 

异常就是正常的用户程序被暂时中止,处理器就进入异常模式。

ARM CPU的异常分为:复位异常、中断异常(IRQ,FIR)、预取指令中止异常、未定义指令异常、软件中断指令异常、数据中止访问异常。

 

题二答案:

 

在异常发生后,ARM内核会自动做以下工作:

保存执行状态:将CPSR复制到发生的异常模式下SPSR中。

 

模式切换:将CPSR模式位强制设置为与异常类型相对应的值,同时处理器进入到ARM执行模式,禁止所IRQ中断,当进入FIQ快速中断模式时禁止FIQ中断。

 

保存返回地址:将下一条指令的地址(被打断程序)保存在LR(异常模式下LR_excep)中。

 

跳入异常向量表:强制设置PC的值为相应异常向量地址,跳转到异常处理程序中。

 

题三答案:

 

异常在处理的时候必须考虑与处理器的时钟同步,实际上异常也称为同步中断,在处理器执行到因编译错误而导致的错误指令时,或者在执行期间出现特殊错误,必须靠内核处理的时候,处理器就会产生一个异常;所谓中断是指外部硬件产生的一个电信号从CPU的中断引脚进入,打断CPU的运行。所谓异常是指软件运行过程中发生了一些必须作出处理的事件,CPU自动产生一个陷入来打断CPU的运行。

往期好文


英飞凌无感FOC源码


别用代码逼死你的队友


MPS软件帮您搞定DC-DC电源设计!


器件为什么只听英文Datasheet的话


全套中文Keil MDK视频学习资料免费公开


AD PCB-如何设置差分对与开发困境说No!


几毛钱的32768晶振,这也能写出一篇干货?


茸茸大神带你玩跨界,“泛读”“精读”两大神器助你阅读datasheet


【声明】内容源于网络
0
0
芯片之家
1234
内容 1436
粉丝 0
芯片之家 1234
总阅读252
粉丝0
内容1.4k