精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在IP的kernel module里設置并使用IP interrupt

FPGA之家 ? 來源:XILINX ? 作者:Davis Zhang ? 2022-06-30 09: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 按鈕可以看到中斷服務程序的打印信息

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

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

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • IP
    IP
    +關注

    關注

    5

    文章

    1664

    瀏覽量

    149342
  • 函數
    +關注

    關注

    3

    文章

    4308

    瀏覽量

    62445
  • 代碼
    +關注

    關注

    30

    文章

    4753

    瀏覽量

    68368

原文標題:開發者分享 | 如何在 IP 的 kernel module 里設置并使用 IP interrupt

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    公網ip和彈性公網ip有什么區別?哪個更好

    公網IP和彈性公網IP都是用于互聯網通信的IP地址,但它們在靈活性、成本和管理方式上有所不同。公網IP是直接分配給設備的靜態IP地址,適用于
    的頭像 發表于 11-06 09:46 ?153次閱讀

    動態住宅IP的奧秘與科技魅力# IP代理

    IP
    jf_62215197
    發布于 :2024年08月14日 07:22:06

    TCP IP協議屬性設置中的IP配置

    在現代網絡中,TCP/IP協議是基礎架構的重要組成部分。掌握TCP/IP協議屬性設置中的IP配置對于確保網絡的穩定性、性能和安全至關重要。本文將深入探討TCP/
    的頭像 發表于 07-23 10:10 ?453次閱讀

    如何使用代理IP轉換國外IP

    IP
    jf_62215197
    發布于 :2024年07月17日 07:33:17

    探索IP領域,玩轉IP代理,暢游海外

    IP
    jf_62215197
    發布于 :2024年06月18日 07:43:21

    ESP32外掛W5500以太網,如何設置靜態IP地址呢?

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

    介紹如何切換動靜態IP方法 # 全球ip代理#靜態IP

    IP
    jf_62215197
    發布于 :2024年06月06日 08:45:01

    國外靜態IP的作用合集#代理IP官網

    IP
    jf_62215197
    發布于 :2024年05月15日 06:55:54

    何在OpenHarmony設置靜態IP

    介紹本文適用于所有RK3566/RK3568/RK3588平臺產品在OpenHarmony系統上設置靜態IP。本文以PurplePiOH開發板為例,在OpenHarmony系統上進行設置。觸覺智能
    的頭像 發表于 05-12 08:32 ?673次閱讀
    如<b class='flag-5'>何在</b>OpenHarmony<b class='flag-5'>設置</b>靜態<b class='flag-5'>IP</b>?

    如何設置靜態IP代理

    靜態IP
    jf_60146132
    發布于 :2024年04月29日 07:46:31

    選擇合適的海外IP代理?#全球ip代理 #海外代理ip排行榜

    IP
    jf_62215197
    發布于 :2024年04月25日 06:44:36