ARM对异常的处理
2024-09-29 12:28:47
所谓中断就是中断SoC的CPU核(异常可以引起CPU的中断)
ARM对异常的处理
1、初始化:
1)设置中断源让它可以产生中断。如某个按键可以产生中断,那么可以设置它的GPIO引脚为中断引脚;
2)设置中断控制器(中断源的优先级,将屏蔽去除);
3)设置CPU总开关使能中断
2、执行程序
3、产生中断,如按下按键后发信号给中断控制器,中断控制器再发信号给CPU
4、cou每执行完一条指令都会检查有无异常/中断产生,这是硬件决定的
5、若发现有异常/中断产生,开始处理
对于不同的异常,跳到不同的地址,进而转去执行一些代码,这些代码可以:
1)保存现场(各种寄存器)
2)分辨中断源调用对应处理函数
3)恢复现场。
中断控制器:中断源(如按键、网络数据、时钟等)可以发信号给中断控制器,而中断控制器可以发信号给CPU,告诉CPU发生了某些需要紧急处理的事情(除了中断控制器发的信号外,其他异常也可以引起CPU中断,如:指令不对时,数据访问有问题时,按下reset开关时等)
可以设置中断源让其不产生中断信号,也可以设置中断控制器让其使能/屏蔽某个在中断(中断源)
最新文章
- 【干货分享】流程DEMO-固定资产转移流程
- HDU 5895 Mathematician QSC(矩阵乘法+循环节降幂+除法取模小技巧+快速幂)
- sscanf()函数的使用及其实例
- ASP.NET MVC学习之路由篇(2)
- C++ Primer :第十章 :泛型算法之再探迭代器以及其他算法
- 09_rlCoachKin讲解
- 2 weekend110的SecureCRTPortable远程连接 + 上传安装jdk + 上传安装配置hadoop
- Adjacent Bit Counts(动态规划 三维的)
- 《Effective C++ 》学习笔记——条款02
- 1、JavaScript基础
- Udp发送
- Java的三种代理模式简述
- dataZoom 详细参数
- Java 得到泛型中得到T.class
- 小程序中曾经遇到的坑(1)----canvas画布
- etectMultiScale(gray, 1.2,3,CV_HAAR_SCALE_IMAGE,Size(30, 30))
- SpringBoot入门笔记(一)、HelloWorld
- git bash here 的 ~/.bashrc 配置文件。和 vue/cli 3. 0 的 .vuerc文件(preset )
- drone 1.0 新的构建徽章特性
- 测试驱动开发 - Test-Driven Development