硬件基础中断

中断方式:

1.定义:能打断当前正在进行的工作,去处理更为紧急的任务,并且在处理完中断任务后,能回到

原先的地方继续工作。

2.流程:

(1)中断源发出中断请求。

(2)CPU检查是否响应中断以及该中断是否被屏蔽。

(3)检查当前产生的中断的中断优先级。

(4)保护现场

(5)执行中断服务函数

(6)恢复现场

1.硬件介绍

(1)两红一黄三个开关,中间是复位按钮,左边低功耗按钮,右边为允许用户独立控制的试验按

键

(2)原理图分析:开关断开高电平,开关按下低电平

2.编写按键代码(轮训方式)

(1)封装代码,注册回调函数

(2)中断模块

(3)GPIO模块封装

extern void gpio_init(GPIO_Type *gpio, int pin, gpio_config_t *config);

extern int gpio_read(GPIO_Type *gpio, int pin);

extern void gpio_write(GPIO_Type *gpio, int pin, int value);

3.中断控制器GIC(通用的中断控制器)

(1)23.page

V2.0设计可以为8个内核提供中断控制服务,但我们使用的IMX6ULL只有一个内核,图中所示只有

processor 0

每个内核能够相应1020个中断源,其中0~15是SGI,16~31是PPI,能够作为外设中断源的是

SPI32~1019

(2)Distributor(分发器):

(1)SGI(Software-generated Interrupt),软件中断:

由软件触发引起的中断,通过向寄存器GICD_SGIR 写入数据来触发,系统会使用 SGI 中断来完成

多核之间的通信。

(2)PPI(Private Peripheral Interrupt),私有中断:

GIC 是支持多核的,每个核肯定有自己独有的中断。这些独有的中断肯定是要指定的核心处理,

因此这些中断就叫做私有中断;

(3) SPI(Shared Peripheral Interrupt),共享中断:

相关推荐
小向是个Der16 小时前
嵌入式进阶——编译与链接
汇编·单片机·学习·编译原理·交叉编译
二十七日秋17 小时前
算法刷题笔记「Day 1|四道 OJ 入门题里的深坑」
c语言·汇编·数据结构·c++·笔记·python·算法
银河麒麟操作系统20 小时前
两案例入选全球计算联盟年度产业应用案例汇编
大数据·汇编·人工智能
abc light20 小时前
ARM 裸机开发(2)——ARM 汇编与启动代码
汇编·arm开发
soso19681 天前
Modbus协议开发实战指南
汇编
硅基造物主1 天前
STM32 从 0 到 1 做智能家居(十):串口与 printf 重定向
stm32·单片机·智能家居·usart·中断
水饺编程3 天前
第2章:Linux 基础,解压缩【.tar.gz】压缩包
linux·c语言·汇编
水饺编程3 天前
第2章:Linux 基础,exit 命令
linux·c语言·汇编
水饺编程4 天前
第2章:Linux 基础,删除用户
linux·c语言·汇编
光子物联单片机4 天前
ESP32传感器模块编程实践(一)DIY智能WIFI视频控制小车
嵌入式硬件·esp32·智能硬件·硬件