硬件基础中断

中断方式:

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),共享中断:

相关推荐
执迷不悟8233 天前
ARM--汇编指令
汇编·arm开发
Dlrb12114 天前
ARM指令集---汇编指令集的学习与应用:C程序与汇编的相互调用,处理器工作模式的改变等
汇编·arm开发·arm··arm指令集·汇编指令
学逆向的6 天前
汇编——函数
开发语言·汇编·网络安全
学逆向的7 天前
汇编——修改EIP的值
开发语言·汇编·网络安全
学逆向的10 天前
汇编——数据存储模式
开发语言·汇编·网络安全
Dlrb121111 天前
51单片机--GPIO、按键、中断、蜂鸣器、PWM
单片机·嵌入式硬件·51单片机·定时器·中断
学逆向的11 天前
汇编——内存
开发语言·汇编·算法·网络安全
学逆向的12 天前
汇编——位运算
开发语言·汇编·算法·网络安全
hai31524754312 天前
九章编译法----空间几何统一编译法
网络·汇编·人工智能·线性代数
想你依然心痛13 天前
自定义RTOS内核:从零实现上下文切换与任务调度——汇编、PendSV
java·开发语言·汇编·pendsv