Cortex-A7:__disable_irq和GIC_DisableIRQ、__enable_irq和GIC_EnableIRQ的区别(1)API介绍
0 相关资料
ARM® Generic Interrupt Controller Architecture version 2.0.pdf
1 API介绍
1.1 __disable_irq
__disable_irq函数的作用是失能IRQ,也就是不响应中断。实现代码如下:
/**\brief Disable IRQ Interrupts\details Disables IRQ interrupts by setting the I-bit in the CPSR.Can only be executed in Privileged modes.*/
__STATIC_FORCEINLINE void __disable_irq(void)
{__ASM volatile ("cpsid i" : : : "memory");
}
具体工作就是操作CPSR寄存器的I位,将I位设置为1,失能IRQ。相关寄存器如下:


1.2 GIC_DisableIRQ
GIC_DisableIRQ是将指定的中断禁用,不再响应该中断。
/** \brief Disables the given interrupt using GIC's ICENABLER register.
* \param [in] IRQn The interrupt to be disabled.
*/
__STATIC_INLINE void GIC_DisableIRQ(IRQn_Type IRQn)
{GICDistributor->ICENABLER[IRQn / 32U] = 1U << (IRQn % 32U);
}
具体工作就是将中断对应的中断清使能位置1,相关寄存器说明如下:

1.3 __enable_irq
__enable_irq函数的作用是取消对IRQ的失能,也就是响应中断。实现代码如下:
/**\brief Enable IRQ Interrupts\details Enables IRQ interrupts by clearing the I-bit in the CPSR.Can only be executed in Privileged modes.*/
__STATIC_FORCEINLINE void __enable_irq(void)
{__ASM volatile ("cpsie i" : : : "memory");
}
具体工作就是操作CPSR寄存器的I位,将I位设置为0,取消对IRQ的失能。相关寄存器如下:


1.4 GIC_EnableIRQ
GIC_EnableIRQ函数的作用是将指定的中断使能,响应该中断。
/** \brief Enables the given interrupt using GIC's ISENABLER register.
* \param [in] IRQn The interrupt to be enabled.
*/
__STATIC_INLINE void GIC_EnableIRQ(IRQn_Type IRQn)
{GICDistributor->ISENABLER[IRQn / 32U] = 1U << (IRQn % 32U);
}
具体工作就是将中断对应的中断设置使能位置1,相关寄存器说明如下:

相关文章:
Cortex-A7:__disable_irq和GIC_DisableIRQ、__enable_irq和GIC_EnableIRQ的区别(1)API介绍
0 相关资料 ARM Generic Interrupt Controller Architecture version 2.0.pdf 1 API介绍 1.1 __disable_irq __disable_irq函数的作用是失能IRQ,也就是不响应中断。实现代码如下: /**\brief Disable IRQ Interrupts\details Disables IRQ interrupt…...
MATLAB在嵌入式系统设计中的最佳实践
嵌入式系统设计是一个复杂的过程,涉及硬件和软件的紧密集成。MATLAB提供了一套全面的解决方案,从算法开发到代码生成,再到硬件验证,极大地简化了这一过程。本文将探讨使用MATLAB进行嵌入式系统设计的最佳实践,包括模型…...
wpf 使用Oxyplot 库制作图表示例
方法: InitTable 方法:负责初始化图表模型,包括设置图表的样式、坐标轴、系列和注释。这个方法包括多个 Init 方法的调用,表示图表的初始化过程可以分步骤进行。 InitGoalPoint 方法:当前未实现,但预留了子…...
CSS3中的@media查询
CSS3的media查询是一种强大的功能,允许我们根据不同的媒体类型和设备特性来应用不同的样式规则。这使得我们能够创建响应式设计,确保网站或应用在各种设备和屏幕尺寸上都能提供良好的用户体验。本文将详细探讨media查询的定义、语法、使用场景及常见问题…...
fly专享
要逐步熟悉实验中的各个步骤,下面是详细的说明,包括如何下载软件以及相关操作步骤。 1. 熟悉VMware 15虚拟机的使用 步骤说明: 下载VMware Workstation 15: 打开浏览器,访问VMware官方网站:VMware Workst…...
初识Linux · 进程(3)
目录 前言: 进程的创建 前言: 继上文介绍了着重介绍了进程的内部属性,以及在操作系统层面进程如何被组织起来的,如何调用系统接口,有关task_struct,进程的部分理解等,今天,我们就…...
【spring】spring bean对象生命周期,spring容器如何管理bean,spring容器的名称是叫什么
【spring】spring bean对象生命周期,spring容器如何管理bean,spring容器的名称是叫什么 DefaultListableBeanFactory开始 spring 容器 DefaultListableBeanFactory DefaultListableBeanFactory是Spring的核心BeanFactory实现,它负责Bean的创…...
基于51单片机的电饭锅控制系统proteus仿真
地址: https://pan.baidu.com/s/1CGyg6uPhFI0MeaBWwe_HAg 提取码:1234 仿真图: 芯片/模块的特点: AT89C52/AT89C51简介: AT89C52/AT89C51是一款经典的8位单片机,是意法半导体(STMicroelectro…...
创建dataSource错误
说明:记录一次启动项目时的异常,如下: Error starting ApplicationContext. To display the conditions report re-run your application with debug enabled. 2024-09-14 23:27:27.338 ERROR 42260 --- [ main] o.s.boot.SpringA…...
为解决bypy大文件上传报错—获取百度云文件直链并使用Aria2上传文件至服务器
问题描述 一方面组内的服务器的带宽比较小,另一方面使用bypy方式进行大文件(大于15G)上传时会报错(虽然有时可以成功上传,但是不稳定): 解决方式 总体思路: 获得云盘需要下载文件的直链复制直链到服务器中使用自带…...
53.9k star 提升命令行效率的模糊搜索神器--fzf
fzf简介 作为Linux/Unix命令行的重度用户,你是否还在使用繁琐的管道命令与复杂选项组合来过滤文件和数据?其实我们有一个更简单高效的选择 - fzf。 fzf是一个开源的通用模糊搜索工具,可以大幅度提升命令行的使用体验。它的查询运行速度极快,支持预览选中的文件内容,还能与各…...
项目需求 | MySQL增量备份与恢复的完整操作指南
目录 一、MySql数据库增量备份的工作原理 1、全量备份与增量备份 2、增量备份原理 二、进行增量备份 步骤1:启用二进制日志 使用 SHOW VARIABLES 命令查看二进制日志状态 步骤2:执行增量备份脚本 三、使用增量备份恢复损坏的数据库 步骤1&#…...
判断当前环境是否为docker容器下
判断当前环境是否为docker容器下 webshell后或登录到系统后台,判断是否为docker容器可使用如下方法: 方式一:使用ls -alh命令查看是否存在.dockerenv来判断是否在docker容器环境内 ls -alh /.dockerenv如下图无.dockerenv文件,所…...
深入理解FastAPI中的root_path:提升API部署灵活性的关键配置
在Web开发领域,FastAPI因其高性能、易于使用和类型提示功能而备受开发者喜爱。然而,当涉及到在生产环境中部署FastAPI应用程序时,我们常常需要面对一些挑战,比如如何正确处理代理服务器添加的路径前缀。这时,root_path…...
QLORA:高效微调量化大型语言模型
人工智能咨询培训老师叶梓 转载标明出处 传统的16位精度微调需要超过780GB的GPU内存,对于参数量极大的模型,如65B(即650亿参数)的模型,在资源有限的情况下大模型的微调几乎是不可能的。华盛顿大学的研究者团队提出了一…...
CesiumJS+SuperMap3D.js混用实现可视域分析 S3M图层加载 裁剪区域绘制
版本简介: cesium:1.99;Supermap3D:SuperMap iClient JavaScript 11i(2023); 官方下载文档链家:SuperMap技术资源中心|为您提供全面的在线技术服务 示例参考:support.supermap.com.cn:8090/w…...
Fish-Speech 部署安装指南
Fish Speech 是由 Fish Audio 团队开发的一款开源文本转语音(TTS)模型,它在多语言支持和性能方面取得了显著的突破。根据证据显示,Fish Speech 最新版本为 1.4 版本,该版本不仅提升了对多种语言的支持,还大…...
Excel 国产化替换新方案
前言 在当前数字化转型和信创(信息技术应用创新)战略背景下,企业对于安全性、自主可控性和高效办公工具的需求日益增加。作为一款国产自主研发的高性能表格控件,SpreadJS 正成为替换 Excel 的最佳选择。它不仅全面支持国产化认证…...
在职研生活学习--20240908
文章目录 九月八日清晨,我们在鸟鸣声中醒来,精神饱满地迎接大汇演的挑战。上午,我们被分成舞龙队、旗手队、拳队、鼓队四个特色团队进行练习。阳光下,我们挥汗如雨,却乐此不疲。鼓声隆隆,龙舞飞扬ÿ…...
chattr:修改文件的特殊属性
chattr 命令用于改变文件的特殊属性,也称为"chattr 属性"。这些属性可以提供额外的安全性和控制,如设置文件为不可修改、只允许在文件末尾添加数据等。 一、Linux 文件属性 文件属性是指与文件相关联的元数据,这些属性决…...
Excalidraw架构图AI分析:基于MCP协议实现草图智能解析与转换
1. 项目概述:当白板工具遇上AI架构师 如果你和我一样,经常在白板上画架构图、流程图,然后花大量时间整理成规范的文档,那你一定会对这个项目感兴趣。 excalidraw-architect-mcp 不是一个独立的应用,而是一个 MCP&a…...
SAP ABAP文件处理避坑指南:从FILE事务码到OPEN DATASET的完整配置流程
SAP ABAP服务器端文件处理实战:从逻辑路径配置到OPEN DATASET高阶应用 在SAP系统集成与数据交换场景中,文件处理能力直接影响着接口稳定性与运维效率。不同于常规编程语言的文件操作,ABAP环境下的服务器端文件处理涉及逻辑路径映射、平台适配…...
FreeRTOS任务通知:轻量级任务通信机制的原理与应用实践
1. 项目概述:从“消息队列”到“任务通知”的思维跃迁在嵌入式实时操作系统(RTOS)的开发中,任务间的通信与同步是核心议题。我们习惯了使用队列(Queue)、信号量(Semaphore)、事件组&…...
利用Taotoken用量看板精细化管理团队API消耗
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用Taotoken用量看板精细化管理团队API消耗 对于依赖大模型API进行开发的团队而言,清晰、透明地掌握资源消耗情况是成…...
InfluxDB 备份恢复避坑指南:为什么你的 `influxd restore` 总失败?元数据与DB数据详解
InfluxDB 备份恢复深度解析:从原理到实战的完整避坑手册 1. 为什么你的InfluxDB恢复操作总是失败? 在运维InfluxDB的日常工作中,备份恢复是最容易"翻车"的操作之一。许多工程师都遇到过这样的场景:明明按照官方文档执行…...
内网开发环境救星:保姆级教程搞定Docker与Docker Compose离线安装(附避坑清单)
内网开发环境救星:保姆级教程搞定Docker与Docker Compose离线安装(附避坑清单) 在企业级开发环境中,内网隔离是常见的安全策略,但这也给技术栈的部署带来了挑战。想象一下,当你需要在完全离线的环境中搭建一…...
3个技巧让LaTeX参考文献自动符合GB/T 7714国标:告别手动排版烦恼
3个技巧让LaTeX参考文献自动符合GB/T 7714国标:告别手动排版烦恼 【免费下载链接】gbt7714-bibtex-style BibTeX styles for Chinese National Standard GB/T 7714 项目地址: https://gitcode.com/gh_mirrors/gb/gbt7714-bibtex-style 还在为毕业论文、学术论…...
JAVA低空经济无人机飞手接单平台系统源码开发与部署方案
随着低空经济产业的快速发展,无人机应用场景不断拓展,航拍、测绘、巡检、物流等领域对专业飞手的需求日益增长,飞手接单难、需求方找飞手繁琐的行业痛点愈发突出。一、系统开发核心原则(务实合规,贴合场景)…...
【数字孪生实战案例】三维场景中怎样点击飞线,唤起弹窗并加载匹配的关联数据?~山海鲸可视化
在三维数据可视化场景中,飞线常用于呈现跨区域业务关联与流转关系。为增强交互体验与数据可读性,需实现点击飞线触发弹窗,并精准加载匹配的关联数据,让用户可实时查看单条飞线对应的业务信息,提升三维场景的数据交互与…...
Hotkey Detective:Windows热键冲突终极解决方案,快速定位“按键劫持“元凶
Hotkey Detective:Windows热键冲突终极解决方案,快速定位"按键劫持"元凶 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mir…...
