您尚未登录。

楼主 #1 2018-09-08 17:16:17

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

加深认识V3s的GIC中断

v3s_gic.png





离线

楼主 #2 2018-09-08 17:16:54

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 加深认识V3s的GIC中断

https://blog.csdn.net/fa99999/article/details/54880229

1.4 GIC中断类型

GIC 中断类型有3种:SGI(Software-generated interrupt)、PPI(Private peripheral interrupt )、SPI(Shared peripheral interrupt)。

SGI: SGI为软件可以触发的中断,统一编号为0~15,用于各个core之间的通信。

PPI: PPI为每个 core 的私有外设中断,统一编号为 16-31 。例如每个 CPU 的 local timer 即 Arch Timer 产生的中断就是通过 PPI 发送给 CPU 的(安全为29,非安全为30)。

SPI: SPI 是系统的外设产生的中断,为各个 core 公用的中断,统一编号为 32~1019 ,如 global timer 、uart 、gpio 产生的中断。





离线

楼主 #3 2018-09-08 17:50:02

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,342
积分: 9202

Re: 加深认识V3s的GIC中断

https://github.com/Lichee-Pi/linux/blob/zero-4.13.y/arch/arm/boot/dts/sun8i-v3s.dtsi


#include <dt-bindings/interrupt-controller/arm-gic.h>

interrupt-parent = <&gic>;


    timer {
        compatible = "arm,armv7-timer";
        interrupts = <GIC_PPI13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
                 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
                 <GIC_PPI11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
                 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
    };


interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;





离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn