91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在IP的kernel module里設(shè)置并使用IP interrupt

FPGA之家 ? 來(lái)源:XILINX ? 作者:Davis Zhang ? 2022-06-30 09:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

有時(shí)我們需要為官方 IP 或者自己創(chuàng)建的 IP 生成 kernel module,然后在 linux kernel space 里使用 kernel module 來(lái)控制這個(gè) IP。如果要使用 IP 中斷,我們需要在 kernel module 代碼里獲取設(shè)備中斷并建立中斷服務(wù)程序。

在老版本 petalinux,我們可以在 kernelmodule 里直接指定 IP 中斷的實(shí)際物理中斷號(hào),但是新版本內(nèi)核里我們需要在 kernel module 里獲取 IP 的虛擬中斷號(hào)??梢栽?kernelmodule 代碼里使用 request_irq 函數(shù)來(lái)獲取中斷并指定中斷服務(wù)程序。

附件是為 axigpio IP 寫(xiě)的一個(gè) kernel module,可以作為參考例子:

首先需要生成一個(gè)基于 MPSoC 芯片的 vivado 工程,

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

連接 axi gpio 的中斷信號(hào)到 MPSoC processing core 的 PL->PS 中斷端口

最后生成 bitstream 導(dǎo)出 hdf 或者 xsa,生成 petalinux 工程,

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

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

然后在petalinux工程目錄里會(huì)生成這樣一個(gè)路徑 project-spec/meta-user/recipes-modules/gpioirq/files,把里面的 gpioirq.c 用附件里的同名文件覆蓋掉。

用附件里的 system-user.dtsi 把 project-spec/meta-user/recipes-bsp/device-tree/files 里的同名文件覆蓋掉,這是因?yàn)槟J(rèn)生成的 device tree 里 axigpio core 的 driver 是 xilinx driver,我們需要把它替換為我們生成的 kernel module 的 drivername,需要注意 system-user.dtsi 里面的 axigpio core 的名字需要和 petalinux 工程生成的 devicetree 里的 axi gpio core 的名字一樣。然后就可以運(yùn)行 petalinux-build 和 petalinux-package 命令來(lái)生成 boot image,然后上板啟動(dòng)。Linux boot 之后可以通過(guò) cat/proc/interrupts 命令看到 qgioirq 中斷已經(jīng)建立起來(lái)了,按一下對(duì)應(yīng) axigpio 的板上 IO 按鈕可以看到中斷服務(wù)程序的打印信息。

88551f32-f80d-11ec-ba43-dac502259ad0.png

886b9096-f80d-11ec-ba43-dac502259ad0.png

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • IP
    IP
    +關(guān)注

    關(guān)注

    5

    文章

    1866

    瀏覽量

    155912
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4417

    瀏覽量

    67568
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4970

    瀏覽量

    74019

原文標(biāo)題:開(kāi)發(fā)者分享 | 如何在 IP 的 kernel module 里設(shè)置并使用 IP interrupt

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    網(wǎng)段隔離器解決IP沖突問(wèn)題,實(shí)現(xiàn)跨網(wǎng)段通信

    在互聯(lián)網(wǎng)的世界,每一臺(tái)設(shè)備都如同擁有一個(gè)獨(dú)特的“家庭住址”——IP地址。設(shè)備之間的通信,就如同人與人之間交流需要知道對(duì)方的住址一樣,必須明確知曉目標(biāo)設(shè)備的IP地址,才能將數(shù)據(jù)準(zhǔn)確無(wú)誤地發(fā)送
    的頭像 發(fā)表于 11-19 14:32 ?377次閱讀
    網(wǎng)段隔離器解決<b class='flag-5'>IP</b>沖突問(wèn)題,實(shí)現(xiàn)跨網(wǎng)段通信

    Vivado浮點(diǎn)數(shù)IP核的一些設(shè)置注意點(diǎn)

    Vivado浮點(diǎn)數(shù)IP核的一些設(shè)置注意點(diǎn) 我們?cè)趘ivado2018.3中使用了Floating-point(7.1)IP核,可以自定義其計(jì)算種類(lèi)及多模式選擇。有時(shí)多種計(jì)算可以用同一個(gè)IP
    發(fā)表于 10-24 06:25

    lwip如何實(shí)現(xiàn)運(yùn)行中修改ip地址使新的地址生效?

    (),但客戶端仍然能通過(guò)原來(lái)的ip連接上服務(wù)器正常通訊,通過(guò)新的ip則連接不上服務(wù)器,也就是說(shuō)似乎set_if()絲毫沒(méi)有作用一樣,調(diào)用set_if()的代碼如下: [list=1] [*]void
    發(fā)表于 10-14 07:57

    請(qǐng)問(wèn)InConnect 是否可以用實(shí)際 IP 而不是用虛擬 IP 映射實(shí)際IP ?

    但是這樣子使用的話,我只能通過(guò)這個(gè)虛擬IP來(lái)連接設(shè)備,那樣子我的PLC編程軟件就不能連接上設(shè)備了因?yàn)?b class='flag-5'>IP和實(shí)際的不一樣,我能通過(guò)什么辦法來(lái)讓映射出來(lái)的虛擬IP和我的實(shí)際設(shè)備IP一致嗎?
    發(fā)表于 08-06 07:54

    CNC的IP地址相同沖突如何解決?

    IP地址,這就極易引發(fā)IP地址沖突問(wèn)題。當(dāng)這些設(shè)備接入車(chē)間網(wǎng)絡(luò)時(shí),IP沖突會(huì)導(dǎo)致數(shù)據(jù)采集不上來(lái),物聯(lián)網(wǎng)平臺(tái)缺乏數(shù)據(jù)來(lái)源,嚴(yán)重影響數(shù)字化車(chē)間的建設(shè)。 通常,設(shè)備被設(shè)置相同
    的頭像 發(fā)表于 07-23 14:13 ?713次閱讀
    CNC的<b class='flag-5'>IP</b>地址相同沖突如何解決?

    Altera FPGA 的PIO IP當(dāng)中bidir和inout選項(xiàng)的區(qū)別

    ? PIO IP是FPGA 設(shè)計(jì)中比較簡(jiǎn)單常用的IP, 當(dāng)設(shè)置PIO IP的Direction的時(shí)候,可以看到有如下4個(gè)選項(xiàng): Input代表這組IO是輸入引腳,Output代表這組I
    的頭像 發(fā)表于 07-07 11:55 ?2611次閱讀
    Altera FPGA 的PIO <b class='flag-5'>IP</b>當(dāng)中bidir和inout選項(xiàng)的區(qū)別

    IP防護(hù)等級(jí)說(shuō)明

    IP防護(hù)等級(jí)說(shuō)明
    發(fā)表于 06-24 16:55 ?2次下載

    如何使用AMD Vitis HLS創(chuàng)建HLS IP

    本文逐步演示了如何使用 AMD Vitis HLS 來(lái)創(chuàng)建一個(gè) HLS IP,通過(guò) AXI4 接口從存儲(chǔ)器讀取數(shù)據(jù)、執(zhí)行簡(jiǎn)單的數(shù)學(xué)運(yùn)算,然后將數(shù)據(jù)寫(xiě)回存儲(chǔ)器。接著會(huì)在 AMD Vivado Design Suite 設(shè)計(jì)中使用此 HLS IP,
    的頭像 發(fā)表于 06-13 09:50 ?1914次閱讀
    如何使用AMD Vitis HLS創(chuàng)建HLS <b class='flag-5'>IP</b>

    開(kāi)疆智能Ethernet/IP轉(zhuǎn)Modbus網(wǎng)關(guān)連接變頻器配置案例

    : 首先我們開(kāi)始配置Ethernet/IP主站(如羅克韋爾,歐姆龍PLC等) 首先打開(kāi)主站組態(tài)軟件“Sysmac Studio”新建項(xiàng)目。 設(shè)置PLC的IP地址(ethernet主站
    的頭像 發(fā)表于 06-09 10:07 ?936次閱讀
    開(kāi)疆智能Ethernet/<b class='flag-5'>IP</b>轉(zhuǎn)Modbus網(wǎng)關(guān)連接變頻器配置案例

    開(kāi)疆智能Ethernet/IP轉(zhuǎn)Modbus網(wǎng)關(guān)連接西門(mén)子BW500積算儀配置案例

    Modbus網(wǎng)關(guān)的EDS 文件: 2,新建工程添加PLC 3,New Module添加網(wǎng)關(guān): 4,在“Name”中填入網(wǎng)關(guān)的名稱,在“IP Address”中填入網(wǎng)關(guān)的 IP 地址
    的頭像 發(fā)表于 06-08 10:34 ?1604次閱讀
    開(kāi)疆智能Ethernet/<b class='flag-5'>IP</b>轉(zhuǎn)Modbus網(wǎng)關(guān)連接西門(mén)子BW500積算儀配置案例

    開(kāi)疆智能Ethernet/IP轉(zhuǎn)Modbus網(wǎng)關(guān)連接MAG8000電池流量計(jì)配置案例

    配置方法: 首先我們開(kāi)始配置Ethernet/IP主站(如羅克韋爾,歐姆龍PLC等) 首先打開(kāi)主站組態(tài)軟件“Sysmac Studio”新建項(xiàng)目。 設(shè)置PLC的IP地址 點(diǎn)擊工具-E
    的頭像 發(fā)表于 06-07 11:19 ?762次閱讀
    開(kāi)疆智能Ethernet/<b class='flag-5'>IP</b>轉(zhuǎn)Modbus網(wǎng)關(guān)連接MAG8000電池流量計(jì)配置案例

    樹(shù)莓派“定居”完全指南:一鍵設(shè)置靜態(tài)IP,穩(wěn)定又高效!

    當(dāng)你為樹(shù)莓派設(shè)置靜態(tài)IP地址時(shí),實(shí)際上是為它分配了一個(gè)固定地址,該地址不會(huì)改變,而動(dòng)態(tài)IP地址則會(huì)在設(shè)備每次連接到網(wǎng)絡(luò)時(shí)發(fā)生變化。在樹(shù)莓派上設(shè)置靜態(tài)
    的頭像 發(fā)表于 05-25 08:32 ?1606次閱讀
    樹(shù)莓派“定居”完全指南:一鍵<b class='flag-5'>設(shè)置</b>靜態(tài)<b class='flag-5'>IP</b>,穩(wěn)定又高效!

    JESD204B IP核的配置與使用

    物理層的位置,一種是物理層在JESD204 IP;另外一種是物理層在JESD204 IP外部,需要再配置JESD204 phy IP核進(jìn)行使用。
    的頭像 發(fā)表于 05-24 15:05 ?2378次閱讀
    JESD204B <b class='flag-5'>IP</b>核的配置與使用

    IP6825+IP5306充電寶:重新定義便攜電源的無(wú)線充電體驗(yàn)

    本文主要介紹了兩種充電寶方案:IP6825和IP5306。IP6825是創(chuàng)新解決方案,通過(guò)高效充放電和磁吸無(wú)線充電將充電寶的便捷性和功能性提升。IP5306芯片集成了多種功能,支持2.
    的頭像 發(fā)表于 05-19 08:56 ?1585次閱讀
    <b class='flag-5'>IP6825+IP</b>5306充電寶:重新定義便攜電源的無(wú)線充電體驗(yàn)

    內(nèi)網(wǎng)穿透和公網(wǎng)ip什么區(qū)別

    原理:設(shè)備通過(guò)路由器獲取獨(dú)立的公網(wǎng)IP地址,直接暴露在互聯(lián)網(wǎng)中。 典型配置: 向運(yùn)營(yíng)商申請(qǐng)固定公網(wǎng)IP(或動(dòng)態(tài)公網(wǎng)IP+DDNS) 在路由器設(shè)置端口轉(zhuǎn)發(fā)(如將公網(wǎng)
    的頭像 發(fā)表于 05-14 14:18 ?721次閱讀
    內(nèi)網(wǎng)穿透和公網(wǎng)<b class='flag-5'>ip</b>什么區(qū)別