博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【TINY4412】LINUX学习笔记:(3)中断
阅读量:4087 次
发布时间:2019-05-25

本文共 1133 字,大约阅读时间需要 3 分钟。

【TINY4412】LINUX学习笔记:(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
作者: SY

简介

ARM中断控制器又称 GIC(Global Interrupt Controller) ,支持三种中断类型:

  • SGISoftware Generated Interrupt
  • SPIShared Peripheral Interrupt:支持多处理器
  • PPIPrivate 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/

你可能感兴趣的文章
前端面试
查看>>
React Hooks 异步操作踩坑记
查看>>
聊聊编码那些事,顺带实现base64
查看>>
TypeScript for React (Native) 进阶
查看>>
React 和 ReactNative 的渲染机制/ ReactNative 与原生之间的通信 / 如何自定义封装原生组件/RN中的多线程
查看>>
JavaScript实现DOM树的深度优先遍历和广度优先遍历
查看>>
webpack4 中的 React 全家桶配置指南,实战!
查看>>
react 设置代理(proxy) 实现跨域请求
查看>>
通过试题理解JavaScript
查看>>
webpack的面试题总结
查看>>
实践这一次,彻底搞懂浏览器缓存机制
查看>>
Koa2教程(常用中间件篇)
查看>>
React Hooks 完全指南
查看>>
React16常用api解析以及原理剖析
查看>>
教你发布你npm包
查看>>
nvm 和 nrm 的安装与使用
查看>>
React Hooks 一步到位
查看>>
React Redux常见问题总结
查看>>
前端 DSL 实践指南
查看>>
ReactNative: 自定义ReactNative API组件
查看>>