本文共 1133 字,大约阅读时间需要 3 分钟。
宿主机 : 虚拟机 Ubuntu 16.04 LTS / X64
目标板[底板]: Tiny4412SDK - 1506 目标板[核心板]: Tiny4412 - 1412 LINUX内核: 4.12.0 交叉编译器: arm-none-linux-gnueabi-gcc(gcc version 4.8.3 20140320) 日期: 2017-8-13 09:14:53 作者: SYARM
中断控制器又称 GIC(Global Interrupt Controller)
,支持三种中断类型:
SGI
:Software Generated Interrupt
SPI
: Shared Peripheral Interrupt
:支持多处理器PPI
: Private Peripheral Interrupt
:支持单处理器独占中断配置通过设备树方式:
keypad: keypad@100A0000 { compatible = "samsung,s5pv210-keypad"; reg = <0x100A0000 0x100>; interrupts =; clocks = <&clock CLK_KEYIF>; clock-names = "keypad"; status = "disabled";};
interrupts
字段表示中断配置,第1个字节表示全局共享中断
/* interrupt specifier cell 0 */#define GIC_SPI 0#define GIC_PPI 1
第2个字节表示中断号,在参考手册:9.2.2 GIC Interrupt Table
可以找到
第3个字节表示触发方式,和电路设计有关
#define IRQ_TYPE_NONE 0 //无中断#define IRQ_TYPE_EDGE_RISING 1 //上升沿触发#define IRQ_TYPE_EDGE_FALLING 2 //下降沿触发#define IRQ_TYPE_EDGE_BOTH (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING) //上升沿或下降沿触发#define IRQ_TYPE_LEVEL_HIGH 4 //高电平触发#define IRQ_TYPE_LEVEL_LOW 8 //低电平触发
转载地址:http://snzii.baihongyu.com/