专栏首页hank【分享】通过MIO接入外设中断.md

【分享】通过MIO接入外设中断.md

Zynq-7000和MPSoC有很多MIO管脚。如果外设有中断,也可以通过MIO驱动。

GPIO中断控制器

按下列模式,在GPIO的设备树里声明为中断控制器

&gpio0 {
        #interrupt-cells = <2>;
        interrupt-controller;
};

外设使用GPIO中断控制器

外设的设备树里,添加下列行,声明gpio0为自己的中断控制器,并声明对应的MIO引脚和中断内心。

touchscreen@0 {
    interrupt-parent = <&gpio0>;
    interrupts = <52 2>;          /* MIO 52, falling edge */
};

检查结果

单板启动后,可以检查启动信息和中断信息。

# dmesg | grep ads
ads7846 spi32766.0: touchscreen, irq 148
 
# cat /proc/interrupts
CPU0 CPU1
148: 21 1 zynq-gpio 52 ads7846

文档

GPIO的中断说明,在Linux的文件Documentation/devicetree/bindings/gpio/gpio-zynq.txt里。

中断的相关信息如下:

- interrupt-controller   : Marks the device node as an interrupt controller.
- #interrupt-cells : Should be 2.  The first cell is the GPIO number.
                       The second cell bits[3:0] is used to specify trigger type and level flags:
                           1 = low-to-high edge triggered.
                           2 = high-to-low edge triggered.
                           4 = active high level-sensitive.
                           8 = active low level-sensitive.

参考文档

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842482/Device+Tree+Tips

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【分享】MPSoC,XEN虚拟机运行裸核应用程序(baremetal, standalone)的中断延迟

    修改Xilinx的定时器裸核应用程序(baremetal, standalone)例子xttcps_intr_example.c,可以测量中断响应延迟。 然后在...

    hankfu
  • MPSoC逻辑加速模块数据通道快速设计

    最近十几年,整个芯片产业都感觉到了摩尔定律的放缓,甚至失效。根据A Domain-Specific Architecture for Deep Neural N...

    hankfu
  • Xilinx MPSoC PS/PL之间的数据交互和外设设计

    MPSoC是Xilinx基于16nm工艺推出的异构计算平台,由于灵活、稳定,在业界得到了广泛的使用。异构计算是一个比较新的领域,需要协调硬件设计、逻辑设计、软件...

    hankfu
  • Apache Commons 工具类介绍及简单使用

    提供了一些公共的编解码实现,比如Base64, Hex, MD5,Phonetic and URLs等等。

    黄泽杰
  • 0538-5.15.0-Spark2 KuduContext访问Kudu

    在集群中访问Kudu的方式有多种,可以通过Impala使用JDBC的方式,也可以通过Kudu提供的Client API方式,参考Fayson前面的文章《如何使用...

    Fayson
  • pycuda 之 安装与简单使用

    版权声明:本文为博主原创文章,未经博主允许不得转载。有问题可以加微信:lp9628(注明CSDN)。 ...

    MachineLP
  • JDK源码解读单例模式与工厂模式

    从源码看标准的饿汉模式,Runtime类封装了Java运行时的环境。每一个java程序实际上都是启动了一个JVM进程,那么每个JVM进程都是对应这...

    java乐园
  • 【NLTK基础】一文轻松使用NLTK进行NLP任务(附视频)

    NLTK作为文本处理的一个强大的工具包,为了帮助NLPer更深入的使用自然语言处理(NLP)方法。本公众号开更Natural Language Toolkit(...

    用户7886150
  • 设计模式之状态模式(一)

    我原本以为在对乡村的一切事物都很容易,但是每次我一回头就有更多变更的请求纷至沓来。我快崩溃了!----当小编读到这段话的时候,甚是感慨,设计模式的世界真的不是那...

    程序员小跃
  • Oracle - 数据库对象

    视图(view),称为虚表,在数据库中不存在实体。视图本质上是对物理表(基表)的一种数据保护,让开发者或者用户只能看到基表中的部分数据。

    Carlos Ouyang

扫码关注云+社区

领取腾讯云代金券