您尚未登录。

楼主 #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>;





离线

#4 2022-10-26 08:40:26

cube
会员
注册时间: 2021-03-11
已发帖子: 288
积分: 202.5

Re: 加深认识V3s的GIC中断

我的V3s tina3.x linux4.9  PB口可以中断,PG不能中断,请问是什么问题?

离线

#5 2023-03-02 00:10:42

qinhao4832
会员
注册时间: 2020-07-22
已发帖子: 13
积分: 33

Re: 加深认识V3s的GIC中断

cube 说:

我的V3s tina3.x linux4.9  PB口可以中断,PG不能中断,请问是什么问题?

找到问题了吗? 我这环境和你一样,PG口申请出来的中断号 和 uart0 一样,都是32.  根据楼主位发的表,显然uart0 32是对的,PG中断号32是错的。

离线

页脚

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

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