当前位置: 首页 > news >正文

ARM的向量中断和非向量中断

转:http://www.awuit.com/arm-vector-non-vectored-interrupts/

        向量中断就是不同的中断有不同的入口地址,非向量中断就只有一个入口地址,进去了在判断中断标志来识别具体是哪个中断。向量中断实时性好,非向量中断简单。
         向量者,矢量也,即指方向,门路。
         向量中断——由硬件提供中断服务程序入口地址;
         非向量中断——由软件件提供中断服务程序入口地址
         向量中断模式用于RESET、NMI、异常处理。当向量中断产生时,控制器直接将PC赋值,如跳到0x0000000d处,而在0x0000000d地址处通常放置ISR服务程序地址LDR PC, =ISR_HANDLER。
        非向量中断模式,有一个寄存器标识位,跳转到统一的函数地址,此函数通过判别寄存器标识位和优先级关系进行中断处理。
        向量中断模式是当CPU读取位于0×18处的IRQ中断指令的时候,系统自动读取对应于该中断源确定地址上的指令取代0×18处的指令,通过跳转指令系统就直接跳转到对应地址函数中,节省了中断处理时间提高了中断处理速度。例如 ADC 中断的向量地址为0xC0,则在0xC0处放如下代码:ldr PC,=HandlerADC 当ADC中断产生的时候系统会自动跳转到HandlerADC函数中处理中断。
       非向量中断模式处理方式是一种传统的中断处理方法,当系统产生中断的时候,系统将INTPND寄存器中对应标志位置位,然后跳转到位于0×18处的统一中断函数中;该函数通过读取INTPND寄存器中对应标志位来判断中断源,并根据优先级关系再跳到对应中断源的处理代码中处理中断。其实,所有的非向量中断可以看成是一个向量中断。

相关文章:

  • C语言中的强符号与弱符号
  • 关键字volatile有什么含意?并给出三个不同的例子
  • 【大学生活】优秀的有趣的博客
  • Linux shell 进制转换
  • ubuntu下多个gcc版本切换
  • glibc--memcpy源码分析
  • glibc--strcpy源码分析
  • 使用GDB调试C库
  • glibc -- strlen源码分析
  • linux下利用backtrace追踪函数调用堆栈以及定位段错误
  • ssh登陆virtualbox安装的Ubuntu的同时也能连上互联网
  • Stack Backtracing Inside Your Program
  • Obtaining a stack trace in C upon SIGSEGV
  • StackTraces
  • x86寄存器的一般功能
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • Angular4 模板式表单用法以及验证
  • Bootstrap JS插件Alert源码分析
  • django开发-定时任务的使用
  • HTML中设置input等文本框为不可操作
  • java中具有继承关系的类及其对象初始化顺序
  • Just for fun——迅速写完快速排序
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • MQ框架的比较
  • SpringCloud集成分布式事务LCN (一)
  • underscore源码剖析之整体架构
  • vue中实现单选
  • 创建一种深思熟虑的文化
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 聊聊directory traversal attack
  • 使用 Docker 部署 Spring Boot项目
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #### go map 底层结构 ####
  • #pragma multi_compile #pragma shader_feature
  • #pragma once与条件编译
  • #传输# #传输数据判断#
  • (13):Silverlight 2 数据与通信之WebRequest
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (汇总)os模块以及shutil模块对文件的操作
  • (算法)Game
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (学习日记)2024.01.09
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (一)UDP基本编程步骤
  • (译) 函数式 JS #1:简介
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转载)Google Chrome调试JS
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .net生成的类,跨工程调用显示注释