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

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

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

怎么在IP的kernel module里設(shè)置IP interrupt?

電子工程師 ? 來源:XILINX開發(fā)者社區(qū) ? 作者:Davis Zhang ? 2021-05-12 09:35 ? 次閱讀

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

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

附件是為 axigpio IP 寫的一個(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 命令來生成 boot image,然后上板啟動(dòng)。Linux boot 之后可以通過 cat/proc/interrupts 命令看到 qgioirq 中斷已經(jīng)建立起來了,按一下對(duì)應(yīng) axigpio 的板上 IO 按鈕可以看到中斷服務(wù)程序的打印信息。

098ab4f0-b286-11eb-bf61-12bb97331649.png

09a3ceea-b286-11eb-bf61-12bb97331649.png

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

文章出處:【微信公眾號(hào):XILINX技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

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

    關(guān)注

    452

    文章

    50001

    瀏覽量

    419691
  • IP
    IP
    +關(guān)注

    關(guān)注

    5

    文章

    1580

    瀏覽量

    149146

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

文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    爬蟲代理IP提升爬蟲效率方面扮演著至關(guān)重要的角色#代理IP

    IP
    jf_62215197
    發(fā)布于 :2024年08月28日 07:52:49

    動(dòng)態(tài)住宅IP的奧秘與科技魅力# IP代理

    IP
    jf_62215197
    發(fā)布于 :2024年08月14日 07:22:06

    TCP IP協(xié)議屬性設(shè)置中的IP配置

    現(xiàn)代網(wǎng)絡(luò)中,TCP/IP協(xié)議是基礎(chǔ)架構(gòu)的重要組成部分。掌握TCP/IP協(xié)議屬性設(shè)置中的IP配置對(duì)于確保網(wǎng)絡(luò)的穩(wěn)定性、性能和安全至關(guān)重要。本
    的頭像 發(fā)表于 07-23 10:10 ?382次閱讀

    如何使用代理IP轉(zhuǎn)換國外IP

    IP
    jf_62215197
    發(fā)布于 :2024年07月17日 07:33:17

    ESP32外掛W5500以太網(wǎng),如何設(shè)置靜態(tài)IP地址呢?

    ; int8_t phy_reset_gpio; uint8_t phy_addr; } spi_eth_module_config_t; esp_ip4_addr_t ip
    發(fā)表于 06-13 06:51

    wifi模式設(shè)置靜態(tài)IP地址失敗的原因?

    wifi模式進(jìn)入連接注冊(cè)事件回調(diào)函數(shù)調(diào)用設(shè)置靜態(tài)IP函數(shù),函數(shù)如下: static void wifi_connected_handler(void *arg
    發(fā)表于 06-12 08:08

    介紹如何切換動(dòng)靜態(tài)IP方法 # 全球ip代理#靜態(tài)IP

    IP
    jf_62215197
    發(fā)布于 :2024年06月06日 08:45:01

    如何在OpenHarmony設(shè)置靜態(tài)IP?

    介紹本文適用于所有RK3566/RK3568/RK3588平臺(tái)產(chǎn)品OpenHarmony系統(tǒng)上設(shè)置靜態(tài)IP。本文以PurplePiOH開發(fā)板為例,OpenHarmony系統(tǒng)上進(jìn)行
    的頭像 發(fā)表于 05-12 08:32 ?534次閱讀
    如何在OpenHarmony<b class='flag-5'>設(shè)置</b>靜態(tài)<b class='flag-5'>IP</b>?

    如何設(shè)置靜態(tài)IP代理

    靜態(tài)IP
    jf_60146132
    發(fā)布于 :2024年04月29日 07:46:31

    linux圖形化界面設(shè)置ip

    Linux系統(tǒng)中,可以使用圖形化界面來設(shè)置IP地址。下面是一個(gè)詳實(shí)而細(xì)致的文章,將指導(dǎo)您如何通過圖形界面設(shè)置IP地址。 第一部分:進(jìn)入網(wǎng)絡(luò)
    的頭像 發(fā)表于 11-27 15:19 ?3058次閱讀

    centos7如何設(shè)置靜態(tài)IP

    CentOS 7上設(shè)置靜態(tài)IP是一個(gè)簡(jiǎn)單而重要的任務(wù),尤其對(duì)于服務(wù)器管理員來說。本文中,我們將詳細(xì)介紹如何在CentOS 7上設(shè)置靜態(tài)
    的頭像 發(fā)表于 11-17 11:06 ?1363次閱讀