0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

你咋知道怎么在IP的kernel module里设置并使用IP interrupt吗

电子工程师 来源:XILINX 产品应用 作者:Davis Zhang 2021-05-18 11:48 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

有时我们需要为官方 IP 或者自己创建的 IP 生成 kernel module,然后在 linux kernel space 里使用 kernel module 来控制这个 IP。如果要使用 IP 中断,我们需要在 kernel module 代码里获取设备中断并建立中断服务程序。

在老版本 petalinux,我们可以在 kernelmodule 里直接指定 IP 中断的实际物理中断号,但是新版本内核里我们需要在 kernel module 里获取 IP 的虚拟中断号。可以在 kernelmodule 代码里使用 request_irq 函数来获取中断并指定中断服务程序。

附件是为 axigpio IP 写的一个 kernel module,可以作为参考例子:

首先需要生成一个基于 MPSoC 芯片的 vivado 工程,

在 block design 里加入 MPSoC processing core 和 axi gpiocore,

连接 axi gpio 的中断信号到 MPSoC processing core 的 PL-》PS 中断端口

最后生成 bitstream 导出 hdf 或者 xsa,生成 petalinux 工程,

在 petalinux 工程里用下面命令生成并使能名字叫做 gpioirq 的 kernel module,

Petalinux-create-t modules --name gpioirq --enable

然后在petalinux工程目录里会生成这样一个路径 project-spec/meta-user/recipes-modules/gpioirq/files,把里面的 gpioirq.c 用附件里的同名文件覆盖掉。

用附件里的 system-user.dtsi 把 project-spec/meta-user/recipes-bsp/device-tree/files 里的同名文件覆盖掉,这是因为默认生成的 device tree 里 axigpio core 的 driver 是 xilinx driver,我们需要把它替换为我们生成的 kernel module 的 drivername,需要注意 system-user.dtsi 里面的 axigpio core 的名字需要和 petalinux 工程生成的 devicetree 里的 axi gpio core 的名字一样。

然后就可以运行 petalinux-build 和 petalinux-package 命令来生成 boot image,然后上板启动。Linux boot 之后可以通过 cat/proc/interrupts 命令看到 qgioirq 中断已经建立起来了,按一下对应 axigpio 的板上 IO 按钮可以看到中断服务程序的打印信息。

本文来自 XILINX 产品应用工程师 Davis Zhang

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IP
    IP
    +关注

    关注

    5

    文章

    1850

    浏览量

    154981
  • 函数
    +关注

    关注

    3

    文章

    4408

    浏览量

    66899
  • 代码
    +关注

    关注

    30

    文章

    4945

    浏览量

    73204

原文标题:开发者分享 | 如何在 IP 的 kernel module 里设置并使用 IP interrupt

文章出处:【微信号:HXSLH1010101010,微信公众号:FPGA技术江湖】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    网段隔离器解决IP冲突问题,实现跨网段通信

    互联网的世界,每一台设备都如同拥有一个独特的“家庭住址”——IP地址。设备之间的通信,就如同人与人之间交流需要知道对方的住址一样,必须明确知晓目标设备的
    的头像 发表于 11-19 14:32 161次阅读
    网段隔离器解决<b class='flag-5'>IP</b>冲突问题,实现跨网段通信

    lwip如何实现运行中修改ip地址使新的地址生效?

    了netif_set_ipaddr()、netif_set_gw()、netif_set_netmask()三个函数将新的网络参数设置到netif_default结构中便没有其它操作,我应用代码中调用了set_if
    发表于 10-14 07:57

    CNC的IP地址相同冲突如何解决?

    IP地址,这就极易引发IP地址冲突问题。当这些设备接入车间网络时,IP冲突会导致数据采集不上来,物联网平台缺乏数据来源,严重影响数字化车间的建设。 通常,设备被设置相同
    的头像 发表于 07-23 14:13 474次阅读
    CNC的<b class='flag-5'>IP</b>地址相同冲突如何解决?

    【RK3568+PG2L50H开发板实验例程】FPGA部分 | 紫光同创 IP core 的使用及添加

    ,其他 IP 需用户下载 IP 安装包安装 IP。 ​ 打开 PDS 后,点击图 1-1 红框部分的
    发表于 07-10 09:50

    快问快答:IP防水测试成本高效率低?气密性检测是最佳解决方案

    当你看到产品标注IP67防水时,知道这个数字背后究竟意味着什么吗?IP67防水消费电子设备上的应用I
    的头像 发表于 06-12 11:10 821次阅读
    快问快答:<b class='flag-5'>IP</b>防水测试成本高效率低?气密性检测是最佳解决方案

    开疆智能Ethernet/IP转Modbus网关连接变频器配置案例

    -Ethernet/IP连接设置弹出的选个框内选择显示EDS库 开始安装网关EDS文件,并在完成后选择对应模块。 添加全局变量关联
    的头像 发表于 06-09 10:07 643次阅读
    开疆智能Ethernet/<b class='flag-5'>IP</b>转Modbus网关连接变频器配置案例

    开疆智能Ethernet/IP转Modbus网关连接西门子BW500积算仪配置案例

    Modbus网关的EDS 文件: 2,新建工程添加PLC 3,New Module添加网关: 4,“Name”中填入网关的名称,IP
    的头像 发表于 06-08 10:34 1424次阅读
    开疆智能Ethernet/<b class='flag-5'>IP</b>转Modbus网关连接西门子BW500积算仪配置案例

    开疆智能Ethernet/IP转Modbus网关连接MAG8000电池流量计配置案例

    /IP连接设置弹出的选个框内选择显示EDS库添加网关eds文件 开始安装网关EDS文件,并在完成后选择对应模块。EIP2COM 设置网关IP
    的头像 发表于 06-07 11:19 552次阅读
    开疆智能Ethernet/<b class='flag-5'>IP</b>转Modbus网关连接MAG8000电池流量计配置案例

    树莓派“定居”完全指南:一键设置静态IP,稳定又高效!

    当你为树莓派设置静态IP地址时,实际上是为它分配了一个固定地址,该地址不会改变,而动态IP地址则会在设备每次连接到网络时发生变化。树莓派上设置
    的头像 发表于 05-25 08:32 1272次阅读
    树莓派“定居”完全指南:一键<b class='flag-5'>设置</b>静态<b class='flag-5'>IP</b>,稳定又高效!

    JESD204B IP核的配置与使用

    物理层的位置,一种是物理层JESD204 IP;另外一种是物理层JESD204 IP外部,需要再配置JESD204 phy
    的头像 发表于 05-24 15:05 1616次阅读
    JESD204B <b class='flag-5'>IP</b>核的配置与使用

    内网穿透和公网ip什么区别

    原理:设备通过路由器获取独立的公网IP地址,直接暴露在互联网中。 典型配置: 向运营商申请固定公网IP(或动态公网IP+DDNS) 路由器设置
    的头像 发表于 05-14 14:18 515次阅读
    内网穿透和公网<b class='flag-5'>ip</b>什么区别

    这些云服务器弹性公网ip连接方式,知道几种?

    云服务器弹性公网ip主流连接方式包括:直接绑定云服务器、NAT网关映射、负载均衡器绑定、共享带宽包、多IP绑定单实例。下面UU云小编将对这些云服务器弹性公网ip连接方式和使用场景进行详细解析。
    的头像 发表于 02-13 09:43 776次阅读

    sdwan组网需要固定ip吗?

    景中,动态IP地址可以正常支持SD-WAN的组网需求,尤其是在对网络稳定性和安全性要求不极端的情况下。 私有IP结合NAT技术:某些SD-WAN部署中,可以使用私有IP地址
    的头像 发表于 02-08 12:37 943次阅读

    新加坡共享主机怎么设置ip

    新加坡设置共享主机的IP地址,通常涉及多个步骤,包括评估需求、选择服务商、配置网络等。以下是一个详细的设置指南,主机推荐小编为您整理发布新加坡共享主机怎么
    的头像 发表于 01-24 11:47 757次阅读

    ISP与IP地址池

    ISP可以为用户提供互联网接入、信息内容、应用服务以及其他增值业务。 要知道ISP的网络中,IP地址池几乎可以说不可或缺。IP地址池是指一定范围内可供分配的
    的头像 发表于 12-27 10:41 942次阅读