嵌入式系统设计中,启动引导程序刚开始运行时,微处理器处于什么工作模式,若要使微处理器进入irq模式,如何进行模式切换,写出相关语句
时间: 2024-04-04 17:29:42 浏览: 83
工作模式切换(嵌入式系统原理及应用实验报告).doc
启动引导程序刚开始运行时,微处理器处于特权级最高的处理器模式,也就是Supervisor Mode。
要使微处理器进入irq模式,可以通过修改微处理器的程序状态寄存器(CPSR)中的模式位来实现。具体来说,需要将CPSR中的模式位设置为0b10010,即irq模式的模式位值。
在ARM体系结构中,可以使用汇编指令“MSR CPSR_c, rX”来实现模式切换,其中rX为寄存器,存放新的CPSR值。因此,要使微处理器进入irq模式,可以使用以下代码:
```
MRS r0, CPSR ; 将当前CPSR值读入r0寄存器
BIC r0, r0, #0x1f ; 清除原来的模式位
ORR r0, r0, #0x12 ; 设置为irq模式
MSR CPSR_c, r0 ; 将修改后的CPSR值写回CPSR
```
需要注意的是,进入irq模式后,需要开启中断才能响应中断请求。可以使用汇编指令“CPSIE i”来开启irq模式下的中断。
阅读全文