I.MX6ull 中断 一

news2024/12/24 20:39:12

一 I.MX6ull 中断介绍

1 中断类型

Cortex-A7内核有8个异常中断,这8个异常中断的中断向量表如下表所示:

Cortex-A 内核 CPU 的所有外部中 断都属于这个 IRQ 中断,当任意一个外部中断发生的时候都会触发 IRQ 中断。在 IRQ 中断服 务函数里面就可以读取指定的寄存器来判断发生的具体是什么中断,进而根据具体的中断做出 相应的处理。

2 中断控制器 GIC

STM32(Cortex-M)的中断控制器叫做 NVIC,I.MX6U(Cortex-A)的中断控制器叫做 GIC, 关于 GIC 的详细内容请参考开发板光盘中的文档《ARM Generic Interrupt Controller(ARM GIC

控制器)V2.0.pdf》。 GIC 是 ARM 公司给 Cortex-A/R 内核提供的一个中断控制器,类似 Cortex-M 内核中的 NVIC。

当 GIC 接收到外部中断信号以后就会报给 ARM 内核,但是ARM 内核只提供了四个信号给 GIC 来汇报中断情况:VFIQ、VIRQ、FIQ 和 IRQ,他们之间的 关系如图 17.1.3.1 所示:、

GICV2 的逻辑图

 每个CORE都有一个GIC控制器

 3 中断源

通过中断ID 定义中断源 (每一个 CPU 最多支持 1020 个中断 ID)

NXP 官方 SDK 中的文件 MCIMX6Y2C.h,在此文件中定义了一个枚举类型 IRQn_Type

此枚举类型就枚举出 了 I.MX6U 的所有中断  三大类

 ①、SPI(Shared Peripheral Interrupt),共享中断,顾名思义,所有 Core 共享的中断,这个是最 常见的,那些外部中断都属于 SPI 中断(注意!不是 SPI 总线那个中断) 。比如按键中断、串口 中断等等,这些中断所有的 Core() 都可以处理,不限定特定 Core。

②、PPI(Private Peripheral Interrupt),私有中断,我们说了 GIC 是支持多核的,每个核肯定 有自己独有的中断。这些独有的中断肯定是要指定的核心处理,因此这些中断就叫做私有中断。

③、SGI(Software-generated Interrupt),软件中断,由软件触发引起的中断,通过向寄存器

GICD_SGIR 写入数据来触发,系统会使用 SGI 中断来完成多核之间的通信。

ID0~ID15:这16个ID分配给SGI。

ID16~ID31:这16个ID分配给PPI。

ID32~ID1019:这988个ID分配给SPI,像GPIO中断、串口中断等这些外部中断 ,至于具体到某个ID对应哪个中断那就由半导体厂商根据实际情况去定义了。

比如I.MX6U的总共使用了128个中断ID,加上前面属于PPI和SGI的32个ID,I.MX6U的中断源共有128+32=160个,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/600269.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux php8.2安装swoole扩展

下载swoole源码: wget https://wenda-1252906962.file.myqcloud.com/dist/swoole-src-5.0.2.tar.gz tar -zxvf swoole-src-5.0.2.tar.gz cd swoole-src-5.0.2/ 初始化: /www/server/php/82/bin/phpize 配置检查: ./configure --with-…

JDK17在Windows安装以及环境变量配置(超详细的教程)

目录 一、JDK17的安装包下载 二、安装JDK17 第一步:运行JDK的EXE文件 第二步:选择下一步 第三步:选择安装目录 第四步:安装完成 三、配置JDK17的环境变量 第一步:打开系统属性界面 第二步:打开高级…

C#,码海拾贝(31)——约化“对称矩阵“为“对称三对角阵“的“豪斯荷尔德Householder变换法“之C#源代码,《C#数值计算算法编程》源代码升级改进版

using System; namespace Zhou.CSharp.Algorithm { /// <summary> /// 矩阵类 /// 作者&#xff1a;周长发 /// 改进&#xff1a;深度混淆 /// https://blog.csdn.net/beijinghorn /// </summary> public partial class Matrix {…

数据库信息速递 数据库基础设施已经不在青睐 ETL (译)

开头还是介绍一下群&#xff0c;如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;在新加的朋友会分到2群&#xff08;共…

RabbitMq的高级特性--RabbitMQ高级特性_消息存活时间

RabbitMQ高级特性_消费端限流 &#xff0c; [解耦&#xff0c; 限流&#xff0c;降低压力&#xff0c;发送消息] 通过消费端限流的 方式限制消息的拉取速度&#xff0c;达到保护消费端的目的。 下面我们新建springboot项目进行测试&#xff1a; 新建项目myproducer 依赖&am…

chatgpt赋能python:Python关联算法:从数据挖掘到推荐系统

Python关联算法&#xff1a;从数据挖掘到推荐系统 Python编程语言已经成为各行各业中数据科学家和工程师的首选语言&#xff0c;其中包括处理数据集合的关联算法。 什么是关联算法&#xff1f; 数学上&#xff0c;关联算法是指在大型和复杂数据集合中&#xff0c; 寻找数据之…

干货 | 携程10个有效降低客户端超时的方法

作者简介 Wen&#xff0c;携程资深后端开发工程师&#xff0c;专注系统性能、稳定性、交易系统等领域。 一、背景 在现今的信息时代&#xff0c;微服务技术已成为一种重要的解决方案&#xff0c;微服务技术可以使系统的规模和功能变的更加灵活&#xff0c;从而获得更高的可扩展…

docker基本命令学习 | Docker网络、Docker镜像发布

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; docker安装、卸载 docker安装使用 卸载旧版本docker或者环境 [rootiZf8zdcobr3fw7vn0p3538Z /]# yum remove docker \ > docker-client \ >…

打破逢节降价桎梏!海尔智家:满足用户,全网第一

又是一年618&#xff0c;每到这个上半年最重要的消费节点&#xff0c;许多品牌卖家纷纷掀起价格战。 他们使出满减、满赠、满返等五花八门的策略&#xff0c;为了压制对手进行冲量&#xff0c;这也一度让“逢节降价”成为主流。 在市场天平偏向卖家的时代&#xff0c;这些策略…

SVN服务端visualsvn5.1.4下载安装(windows环境)(实操)

Apache Subversion 通常被缩写成 SVN&#xff0c;是一个开放源代码的版本控制系统&#xff0c;Subversion 在 2000 年由 CollabNet Inc 开发&#xff0c;现在发展成为 Apache 软件基金会的一个项目&#xff0c;同样是一个丰富的开发者和用户社区的一部分。 SVN相对于的RCS、CVS…

做自己喜欢的事

这两天沸沸扬扬的消息说稚辉君公司拿到了百度投资 稚晖君刚拿了百度投资&#xff0c;估值被曝已超独角兽 然后昨晚上小孩发烧&#xff0c;我陪床不敢死睡&#xff0c;跟大佬聊了下拿到投资的感受。 然后说到搞技术好玩这个事情&#xff0c;我就跟他分享了我前天到经历 我前天到…

Jenkins概念及安装配置教程(二)

如何安装Jenkins&#xff1f; Jenkins 安装程序也可以作为通用 Java 包 (.war) 使用。如果您将 Jenkins 与 Selenium 一起用于执行跨浏览器测试&#xff0c;我们建议使用 .war 文件&#xff0c;因为您可以通过在非无头模式下在浏览器上执行的自动化测试来见证测试场景的执行。…

【C# 10 和 .NET 6】使用MVC模式构建网站(笔记1)

Building Websites Using the Model-View-Controller Pattern 使用模型-视图-控制器模式构建网站 本章介绍使用 Microsoft ASP.NET Core MVC 在服务器端构建具有现代 HTTP 架构的网站&#xff0c;包括构成 ASP.NET Core MVC 项目的启动配置、身份验证、授权、路由、请求和响应管…

如何设计和使用文档模板 | 技术写作什么鬼

今天看到叶伟民老师的一篇文章&#xff0c;瞬间泪目&#xff1a;叶老师&#xff0c;您是懂人性的啊。在我整天鞭策自己“不能再拖了”的关键时刻&#xff0c;及时分享经验&#xff1a; 是的&#xff0c;这篇文章实在是拖了太久&#xff0c;了太久&#xff0c;太久&#xff0c;久…

web前端 --- javascript(03) -- 函数、内置对象

函数&#xff08;function&#xff09; 具有名称的&#xff0c;为了实现特定功能的代码集合体 &#xff08;1&#xff09;javascript如何定义函数&#xff1a;function关键字定义 function 函数名称 &#xff08;[ 参数列表 ]&#xff09;{ // 函数体 // [return 返回值]…

【Springboot】发送QQ邮件

系列文章目录 文章目录 系列文章目录前言添加Maven依赖QQ邮箱开启POP服务配置application.properties文件Controller层编写 vue前端&#xff08;也可以直接省略&#xff09; 前言 这篇博客用于简单实现SpringBoot中使用Controller发送邮件请求&#xff0c;用户可以收到邮件。 …

Python读写access数据库的实战代码

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

chatgpt赋能python:使用Python关闭端口的方法

使用Python关闭端口的方法 在网络安全中&#xff0c;关闭端口是非常重要的一项任务。一旦一个端口被打开并暴露给互联网&#xff0c;恶意用户就可能通过它们的攻击进入您的服务器或计算机系统。Python是一种流行的编程语言&#xff0c;也可以用来关闭端口。下面介绍一些常用的…

JSONSQL:使用SQL过滤JSON类型数据(支持多种数据库常用查询、统计、平均值、最大值、最小值、求和语法)...

1. 简介 在开发中&#xff0c;经常需要根据条件过滤大批量的JSON类型数据。如果仅需要过滤这一种类型&#xff0c;将JSON转为List后过滤即可&#xff1b;如果相同的条件既想过滤数据库表中的数据、也想过滤内存中JSON数据&#xff0c;甚至想过滤Elasticsearch中的数据&#xff…

chatgpt赋能python:Python内置变量:掌握这些变量,让你的编程更高效

Python内置变量&#xff1a;掌握这些变量&#xff0c;让你的编程更高效 Python作为一门优秀的编程语言&#xff0c;自然不会缺少重要的内置变量。这些内置变量可以帮助程序员轻松地实现各种编程功能&#xff0c;提高编程效率。在本文中&#xff0c;我们将介绍Python内置变量的…