91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

GIC驅動的執行流程是什么

麥辣雞腿堡 ? 來源:LoyenWang ? 作者:LoyenWang ? 2023-09-28 15:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

驅動流程分析

GIC驅動的執行流程如下圖所示:

圖片

  • 首先需要了解一下鏈接腳本vmlinux.lds,腳本中定義了一個__irqchip_of_table段,該段用于存放中斷控制器信息,用于最終來匹配設備;
  • 在GIC驅動程序中,使用IRQCHIP_DECLARE宏來聲明結構信息,包括compatible字段和回調函數,該宏會將這個結構放置到__irqchip_of_table字段中;
  • 在內核啟動初始化中斷的函數中,of_irq_init函數會去查找設備節點信息,該函數的傳入參數就是__irqchip_of_table段,由于IRQCHIP_DECLARE已經將信息填充好了,of_irq_init函數會根據arm,gic-400去查找對應的設備節點,并獲取設備的信息。中斷控制器也存在級聯的情況,of_irq_init函數中也處理了這種情況;
  • or_irq_init函數中,最終會回調IRQCHIP_DECLARE聲明的回調函數,也就是gic_of_init,而這個函數就是GIC驅動的初始化入口函數了;
  • GIC的工作,本質上是由中斷信號來驅動,因此驅動本身的工作就是完成各類信息的初始化,注冊好相應的回調函數,以便能在信號到來之時去執行;
  • set_smp_process_call設置__smp_cross_call函數指向gic_raise_softirq,本質上就是通過軟件來觸發GIC的SGI中斷,用于核間交互;
  • cpuhp_setup_state_nocalls函數,設置好CPU進行熱插拔時GIC的回調函數,以便在CPU熱插拔時做相應處理;
  • set_handle_irq函數的設置很關鍵,它將全局函數指針handle_arch_irq指向了gic_handle_irq,而處理器在進入中斷異常時,會跳轉到handle_arch_irq執行,所以,可以認為它就是中斷處理的入口函數了;
  • 驅動中完成了各類函數的注冊,此外還完成了irq_chip, irq_domain等結構體的初始化,這些結構在下文會進一步分析;
  • 最后,完成GIC硬件模塊的初始化設置,以及電源管理相關的注冊等工作;
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5152

    文章

    19670

    瀏覽量

    317523
  • 驅動
    +關注

    關注

    12

    文章

    1918

    瀏覽量

    86927
  • Linux
    +關注

    關注

    87

    文章

    11511

    瀏覽量

    213787
  • gic
    gic
    +關注

    關注

    0

    文章

    14

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    U-boot的執行流程

    本文主要講述了U-boot的執行流程
    發表于 07-14 16:58 ?964次閱讀
    U-boot的<b class='flag-5'>執行</b><b class='flag-5'>流程</b>

    ARM之中斷GIC分析

      1.“站的高尿的遠”  GIC為中斷控制器,不要和ARM core的中斷搞混了,這些中斷都是連接到ARM core的IRQ或者FIQ上的。  要了解arm中斷系統,GIC絕對不容錯過,好先付
    發表于 11-26 13:50

    ARM GIC(二)之中斷術語的定義

    ARM在GIC中,對于中斷,定義了如下的一些術語。一、中斷狀態對于每一個中斷而言,有以下4個狀態:?inactive:中斷處于無效狀態?pending:中斷處于有效狀態,但是cpu沒有響應該中斷
    發表于 04-06 10:15

    ARM GIC電源管理使用手冊指南

    gic中的redistributor進行connect,這樣將來gic才可以將中斷發送給core。connection的流程如下所示:GICR_WAKER寄存器上電流程,行為描述
    發表于 05-27 16:41

    基于GIC的物聯網的應用方案

    本文檔內容介紹了基于GIC的物聯網的應用方案,供參閱。
    發表于 09-18 15:46 ?0次下載
    基于<b class='flag-5'>GIC</b>的物聯網的應用方案

    mfc程序執行流程小結,MFC程序的執行順序

     摘要:本文章主要以MFC程序的執行流程執行順序等執行過程的剖析做出的結論,下面一起來看看原文的具體介紹。
    發表于 12-08 15:48 ?9773次閱讀
    mfc程序<b class='flag-5'>執行</b><b class='flag-5'>流程</b>小結,MFC程序的<b class='flag-5'>執行</b>順序

    小電阻器對治理電網GIC的效果分析

    地磁感應電流(geomagnetically induced currents,GIC)引起變壓器半波飽和對電力系統的安全運行產生不利影響,甚至引發大面積停電事故。為了有效治理GIC對大規模電力系統
    發表于 01-04 17:03 ?7次下載
    小電阻器對治理電網<b class='flag-5'>GIC</b>的效果分析

    應用K值算法的甘肅電網GIC-Q擾動計算

    的安全運行。以甘肅750 kV電網和330 kV電網GIC的計算數據為基礎,基于變壓器GIC無功(GIC-Q)損耗系數K值算法,計算了750 kV和330 kV變壓器的GIC無功損耗增
    發表于 01-31 14:57 ?3次下載

    GIC是什么意思 GIC硬件原理

    GIC硬件原理 ARM公司提供了一個通用的中斷控制器 GIC(Generic Interrupt Controller) , GIC 的版本包括 V1 ~ V4 ,由于本人使用的SoC中的中斷控制器
    的頭像 發表于 09-28 14:58 ?2573次閱讀
    <b class='flag-5'>GIC</b>是什么意思 <b class='flag-5'>GIC</b>硬件原理

    GIC驅動設備信息添加

    字段:用于與具體的驅動來進行匹配,比如圖片中arm, gic-400,可以根據這個名字去匹配對應的驅動程序; interrupt-cells字段:用于指定編碼一個中斷源所需要的單元個數,這個值為3
    的頭像 發表于 09-28 15:03 ?662次閱讀
    <b class='flag-5'>GIC</b><b class='flag-5'>驅動</b>設備信息添加

    Linux GIC驅動數據結構分析

    數據結構分析 先來張圖: GIC驅動中,使用 struct gic_chip_data 結構體來描述GIC控制器的信息,整個驅動都是圍繞著該
    的頭像 發表于 09-28 15:18 ?808次閱讀
    Linux <b class='flag-5'>GIC</b><b class='flag-5'>驅動</b>數據結構分析

    GIC-600的組件是如何連接的

    為了適應大規模的SoC設計,GIC-600被設計成分布式IP。 所謂分布式,GIC-600由幾種組件構成,每個組件可以跟其它相關模塊在物理設計上擺放在一起,并與其擁有共同的電源域;組件之間通過片上網
    的頭像 發表于 11-07 17:19 ?1082次閱讀
    <b class='flag-5'>GIC</b>-600的組件是如何連接的

    GIC-600的內部結構組件

    接下來看看每個組件。 ? 首先是distributor,一個SoC只有一個。 ?它的組件只能與distributor通信。所以,可以看出,distributor是GIC-600中的核心,其作用是收集
    的頭像 發表于 11-07 17:29 ?934次閱讀
    <b class='flag-5'>GIC</b>-600的內部結構組件

    gic和ARM Core的連接

    ? ?nVIRQ: 虛擬普通中斷 ? ?nVFIQ: 虛擬快速中斷 (2)gicv3和ARM Core的連接 gicv3 AXI-stream協議 ? ?gic stream協議,是基于AXI-stream協議
    的頭像 發表于 11-07 18:07 ?951次閱讀
    <b class='flag-5'>gic</b>和ARM Core的連接

    bootm命令的執行流程

    Bootm命令用來從memory啟動內核,bootm命令的執行流程如下圖所示。 在串口終端輸入bootm命令后,執行do_bootm函數來完成相應的功能。Do_bootm函數首先
    的頭像 發表于 12-04 17:33 ?1646次閱讀
    bootm命令的<b class='flag-5'>執行</b><b class='flag-5'>流程</b>
    主站蜘蛛池模板: 不卡视频一区 | 日本一区二区在线免费观看 | 一区二区三区网站 | 成人欧美一区二区三区白人 | 欧美a色爱欧美综合v | 1314亚洲人成网站在线观看 | 天天在线影院 | 激情综合激情 | 99热这里只有精品一区二区三区 | 天天色国产 | 亚洲精品精品一区 | 欧美日韩免费大片 | 天天亚洲| 7086bt伙计 福利一区 | 亚洲日本中文字幕天天更新 | 性欧美xxxx视频在线观看 | 免费观看在线观看 | 婷婷亚洲综合 | hs网站免费| 色a4yy综合私人 | 免费h视频网站 | 亚洲插| www三级| wwxxx日本| 日本不卡免费高清视频 | 日本一区二区三区欧美在线观看 | 国产成人91青青草原精品 | 国产精品天天看大片特色视频 | 97dyy影院理论片 | 日本大片免a费观看在线 | 久久久免费精品 | 亚洲视频一区二区三区 | 巨骚综合网 | 欧美成人自拍视频 | 四虎影视在线播放 | aaa在线观看高清免费 | 欧美一区二区在线观看视频 | 你懂的视频在线看 | 你懂的免费 | 日日添天天做天天爱 | 狠狠色丁香婷婷综合久久片 |