首页 > 其他分享 >Cortex-A7:__disable_irq和GIC_DisableIRQ、__enable_irq和GIC_EnableIRQ的区别(2)——API测试对比

Cortex-A7:__disable_irq和GIC_DisableIRQ、__enable_irq和GIC_EnableIRQ的区别(2)——API测试对比

时间:2024-09-15 12:23:49浏览次数:13  
标签:__ irq void GIC UART4 DisableIRQ

0 相关资料

ARM® Generic Interrupt Controller Architecture version 2.0.pdf

1 API测试对比

1.1 __disable_irq同时GIC_DisableIRQ

验证程序如下:

void gic_test(void)
{
    __disable_irq();
    GIC_DisableIRQ(UART4_IRQn);
}

测试结果:
所有中断都无法响应。

1.2 __disable_irq同时GIC_EnableIRQ

验证程序如下:

void gic_test(void)
{
    __disable_irq();
    GIC_EnableIRQ(UART4_IRQn);
}

测试结果:
所有中断都无法响应。

1.3 __enable_irq同时GIC_DisableIRQ

void gic_test(void)
{
    __enable_irq();
    GIC_DisableIRQ(UART4_IRQn);
}

测试结果:
仅GIC_DisableIRQ函数指定的被失能的中断UART4_IRQn无法再响应。

1.4 __enable_irq同时GIC_EnableIRQ

void gic_test(void)
{
    __enable_irq();
    GIC_EnableIRQ(UART4_IRQn);
}

测试结果:
使能的UART4_IRQn和其它被使能的中断都能响应。

2 结论

可以把__disable_irq、__enable_irq看做响应所有中断的总开关,而GIC_DisableIRQ、GIC_EnableIRQ是响应特定中断的子开关:
在这里插入图片描述

标签:__,irq,void,GIC,UART4,DisableIRQ
From: https://blog.csdn.net/kevin1499/article/details/142282282

相关文章

  • redis基本数据结构-set
    文章目录1.set的基本介绍1.1.set底层结构之hash表的简单介绍1.2.常用命令2.常见的业务场景2.1.标签系统2.2.社交网络好友关系1.set的基本介绍参考链接:https://mp.weixin.qq.com/s/srkd73bS2n3mjIADLVg72Aredis的set数据结构是一个无序的集合,可以存储不......
  • BOM编程
    什么是BOM?BOM(BrowserObjectModel)是浏览器提供的对象和方法的集合,允许开发者操作浏览器窗口、页面跳转、URL、浏览器历史记录、用户设备信息等。window对象是BOM的顶层对象,所有BOMAPI都直接或间接作为window对象的属性和方法来使用。Window:window是BOM编程中的......
  • HBASE的操作
    publicclassHBaseApp{publicstaticvoidmain(String[]args)throwsIOException{System.out.println("----");//1.创建一个配置文件对象Configurationconf=HBaseConfiguration.create();//conf.set("hbase.zookeeper......
  • Premake自动部署OpenGL项目
        很多朋友们在构建项目的时候应该都使用过CMake,在github和gitee的很多项目上面都能看到关于CMake的脚本。不过笔者认为,这东西有时候实在是过于繁重了,特别是这个构建的项目足够大的时候。在这里笔者为大家介绍一款轻量轻量化的软件Premake,它可以很方便构建visuals......
  • 通过脚本自动部署PostgreSQL数据库
    说明该脚本部署的pg数据库为源码通过编译安装的方式执行过程[root@olinux73_model~]#chmod+x./install.sh[root@olinux73_model~]#./install.sh####清理环境####关闭防火墙####关闭Selinuxsetenforce:SELinuxisdisabled####设置PG环境变量PGBASE=/u01/appFILE_CO......
  • 用sizeof()表示元素大小的辨析
    #include<stdio.h>intmain(){//数组名的首元素的地址//1.sizeof(数组名)表示整个数组//2.&数组名表示数组名整个数组//3.地址分32位与64位差别,而数值不用//一维数组inta[]={1,2,3,4};printf("%d\n",sizeof(a));//16字节,4......
  • hive表修改分区数据日期
    鱼弦:公众号:红尘灯塔,CSDN内容合伙人、CSDN新星导师、51CTO(Top红人+专家博主) 、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen)Hive表修改分区数据日期Hive表修改分区数据日期的方法如下:1.使用ALTERTABLE语句:ALTERTABLEtable_nameALTER......
  • springboot+vue音乐微信小程序网页前9【程序+论文+开题】计算机毕业设计
    系统程序文件列表开题报告内容研究背景随着移动互联网技术的飞速发展,微信小程序作为一种轻量级的应用形态,凭借其无需下载、即用即走的特点,迅速渗透到人们日常生活的方方面面。音乐作为人们休闲娱乐、情感表达的重要方式,其数字化、移动化趋势日益显著。然而,市场上虽不乏各类......
  • 【洛谷 P1596】[USACO10OCT] Lake Counting S 题解(深度优先搜索)
    [USACO10OCT]LakeCountingS题面翻译由于近期的降雨,雨水汇集在农民约翰的田地不同的地方。我们用一个的网格图表示。每个网格中有水(W)或是旱地(.)。一个网格与其周围的八个网格相连,而一组相连的网格视为一个水坑。约翰想弄清楚他的田地已经形成了多少水坑。给出约翰田地的示意图,......
  • springboot+vue学生综合信息管理系统【程序+论文+开题】计算机毕业设计
    系统程序文件列表开题报告内容研究背景随着高等教育的快速发展,学生数量激增,传统的手工或简单信息化管理方式已难以满足当前学生信息管理的复杂需求。学生综合信息管理系统作为高校信息化建设的重要组成部分,旨在通过集成化、智能化的手段,实现对学生信息、教师资源、课程安排......