ARM嵌入式系统习题课第二章ARM7体系结构(7)CPSR寄存器中哪些位用来定义处理器状态
寄存器CPSR为当前程序状态寄存器,当控制位T置位时,处理器处于Thumb状态,执行Thumb指令;当控制位T清零时,处理器处于ARM状态,执行ARM指令
(8)描述一下如何禁止IRQ和FIQ的中断
标志位I和F都是中断禁止标志位,用来使能或禁止ARM的两种外部中断源,具体设置如下:当控制位I置位时,IRQ中断被禁止,否则允许IRQ中断使能;当控制位F置位时,FIQ中断被禁止,否则允许FIQ中断使能
•2、定义R0=0x12345678,假设使用存储指令将R0的值放在0x4000单元中
如果存储器格式为大端格式,请写出在执行加载指令将存储器0x4000单元内容取出存放到R2寄存器操作后所得R2的值
如果存储器改为小端格式,所得的R2值又为多少
低地址0x4000单元的字节内容分别是多少
地址大端模式小端模式0x400378120x400256340x400134560x400012783、请描述一下ARM7TDMI产生异常的条件是什么
各种异常会使处理器进入哪种模式
进入异常时内核有何操作
各种异常的返回指令又是什么
(1)只要正常的程序流暂时被中止,处理器就会进入异常模式
例如在用户模式下执行程序时,当外设向处理器内核发出中断请求导致内核从用户模式切换到异常中断模式
(2)软件中断异常(SWI)、未定义的指令、中止(预取中止、数据中止)、快速中断(FIQ)、中断(IRQ)、复位
(3)a、将异常处理程序的返回地址(加固定的偏移量)保存到相应的异常模式下的LR,异常处理程序完成后的返回可通过将LR的值减去偏移量后写入PC;b、将CPSR的当前值保存到相应异常模式下的SPSR;c、设置CPSR为相应的异常模式d、设置PC为相应异常处理程序的中断入口向量地址,跳转到相应的异常中断处理程序