4711|2

39

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

arm端触发fpga端中断 [复制链接]

qsys.png (117.93 KB, 下载次数: 0)
下载附件 保存到相册
1 小时前 上传



devicee.png (15.63 KB, 下载次数: 0)
下载附件 保存到相册
1 小时前 上传




以上是Qsys连线和设备树,中断号为3,对应手册GIC :75
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include

MODULE_LICENSE("Dual BSD/GPL");

struct resource *pio_res = NULL;

irqreturn_t pio_interrupt(int irqno, void *devid)
{
        printk("irqno = %d\n", irqno);
        return IRQ_HANDLED;
}

int fpga_pio_init(struct platform_device *p)
{
        printk("Probe....\n");
        int ret = 0;
        int irqflags;   

        pio_res = platform_get_resource(p,IORESOURCE_IRQ,0);
        if (pio_res == NULL) {
                printk("No resource !\n");
        }

        irqflags = IRQF_DISABLED | (pio_res->flags & IRQF_TRIGGER_MASK);  
        ret = request_irq(pio_res->start, pio_interrupt, irqflags, "fpga_irq", NULL);
        if (ret < 0) {
                printk("failed request irq: irqno = irq_res->start");
        }
        printk("register irq success!\n");
        return 0;
}

static int fpga_pio_exit(struct platform_device *p)
{
        printk("Remove...\n");
        free_irq(pio_res->start, NULL);
        printk("unregister irq exit\n");
        return 0;
}

static const struct of_device_id fpga_pio_of_matches[] = {
                {.compatible = "DE1-SoC,FPGA_IRQ0",},
                { }
};
MODULE_DEVICE_TABLE(of, fpga_pio_of_matches);
static struct platform_driver fpga_pio_driver = {
        .driver        = {
                .name   = "fpga_irq",
                .owner         = THIS_MODULE,
                .of_match_table = of_match_ptr(fpga_pio_of_matches),
        },
        .probe   = fpga_pio_init,
        .remove  = fpga_pio_exit,
};
module_platform_driver(fpga_pio_driver);请大家帮忙看下,我的button pio是接到一个按键上,按理说按一下按键应该会进入中断处理函数,但是按了按键没反应,帮忙看看是不是程序存在问题。谢谢大家。有关于ARM想要交流的私信我。

最新回复

https://bbs.eeworld.com.cn/thread-459615-1-1.html 看一下这篇文章 是不是有启发  详情 回复 发表于 2016-10-9 08:59
点赞 关注

回复
举报

5979

帖子

8

TA的资源

版主

沙发
 
https://bbs.eeworld.com.cn/thread-459615-1-1.html
看一下这篇文章 是不是有启发

点评

其实我就只按照您这个来弄,就是fpga端按键不能触发hps端中断  详情 回复 发表于 2016-10-10 20:15
 
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 

回复

39

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
chenzhufly 发表于 2016-10-9 08:59
https://bbs.eeworld.com.cn/thread-459615-1-1.html
看一下这篇文章 是不是有启发

其实我就只按照您这个来弄,就是fpga端按键不能触发hps端中断
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表