异常与中断

本文详细介绍了ARM处理器的异常中断处理流程,包括初始化设置、异常向量、进入和退出异常的步骤。在初始化阶段,设置了中断源、中断控制器和CPU中断开关。当异常发生时,CPU会保存现场,切换模式并跳转到相应的处理函数。退出异常时,恢复现场并清除中断标志。这一过程对于理解嵌入式系统和实时操作系统的中断管理至关重要。
摘要由CSDN通过智能技术生成

1.异常中断处理

        

        (1) ARM

                1) 初始化

                        a) 设置中断源,让它可以产生中断

                        b) 设置中断控制器(可屏蔽某个中断,优先级)

                        c) 设置CPU总开关(使能中断)

                2) 执行正常程序,CPU每执行完一条指令都会检查有无中断/异常产生

                3) 产生中断:按下按键 -> 中断控制器 -> CPU

                4) 发现有中断/异常产生,开始处理

                        对于不同的异常,跳去不同的地址执行程序。地址存放的是跳转指令,跳去执行某个函数(地址),这个就是异常向量。

        (2) 函数

                1) 保护现场(各种寄存器)

                2) 处理异常

                        分析中断源、调用对应的处理函数

                3) 恢复现场

2.进入异常的流程(CPU)

        (1) 把下一条指令的地址保存在LR寄存器里

        (2) 把CPSR保存在SPSR里

        (3) 修改CPSR的模式为进入异常模式

        (4) 跳到向量表

3.退出异常

        (1) LR减去offset后赋值给PC

        (2) 恢复CPSR的值

        (3) 清中断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值