在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

U54內核PLIC中斷處理例子

麥辣雞腿堡 ? 來源:嵌入式Linux充電站 ? 作者: Vincent ? 2023-10-07 18:01 ? 次閱讀

Interrupt Claim Process

U54 內核 hart 可以通過讀取 claim_complete 寄存器(表 115)執行中斷請求,該寄存器返回最高優先級掛起中斷的 ID,如果沒有掛起中斷則返回零。成功的聲明還會自動清除中斷源上相應的掛起位。

圖片

U54 內核 hart 可以隨時執行聲明,即使其 mip寄存器中的 MEIP 位未設置。

聲明操作不受優先級閾值寄存器設置的影響。

中斷完成

U54 內核 hart 通過將其從聲明中收到的中斷 ID 寫入 claim_complete 寄存器(表 115)來表示它已完成執行中斷處理程序。PLIC 不檢查完成 ID 是否與該目標的最后一個聲明 ID 相同。如果完成 ID 與當前為目標啟用的中斷源不匹配,則完成將被靜默忽略。

圖片

PLIC 無法將新中斷轉發給已聲明中斷但尚未完成中斷處理程序的完整步驟的 hart。因此,PLIC 不支持搶占單個 hart 的全局中斷

通過 PLIC 路由的全局中斷的中斷 ID 獨立于本地中斷的中斷 ID。在退出處理程序之前,一旦初始聲明/完成過程完成,PLIC 處理程序可能會檢查其他未決的全局中斷。此方法可以為全局中斷保存額外的 PLIC 保存/恢復上下文。

PLIC中斷處理例子

由于 PLIC 通過外部中斷 #11 與 CPU 接口,因此外部處理程序必須包含一個額外的聲明/完成步驟,用于與 PLIC 邏輯握手。

void external_handler() {
//get the highest priority pending PLIC interrupt
uint32_t int_num = plic.claim_complete;
//branch to handler
plic_handler[int_num]();
//complete interrupt by writing interrupt number back to PLIC
plic.claim_complete = int_num;
// Add additional checks for PLIC pending here, if desired
}

如果 CPU 讀取 claim_complete 并返回 0,則中斷不需要處理,因此不需要回寫 claim/complete。

上面顯示的 plic_handler 例程演示了一種實現軟件表的方法,其中駐留在表中的函數的偏移量由 PLIC 中斷 ID 確定。PLIC 中斷 ID 對于 PLIC 是唯一的,因為它完全獨立于本地中斷的中斷 ID。

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

    關注

    114

    文章

    16838

    瀏覽量

    182292
  • 寄存器
    +關注

    關注

    31

    文章

    5401

    瀏覽量

    122809
  • 內核
    +關注

    關注

    3

    文章

    1403

    瀏覽量

    40965
  • RISC
    +關注

    關注

    6

    文章

    477

    瀏覽量

    84542
  • sifive
    +關注

    關注

    0

    文章

    36

    瀏覽量

    9527
收藏 人收藏

    評論

    相關推薦

    Linux內核中斷設計與實現

    裸機編程中使用中斷比較麻煩,需要配置寄存器、使能IRQ等等。而在Linux驅動編程中,內核提供了完善的終端框架,只需要申請中斷,然后注冊中斷處理
    發表于 07-29 08:57 ?896次閱讀

    PLIC在寫入complete寄存器后立馬會觸發下一次中斷的原因?如何解決?

    PLIC在寫入complete寄存器后立馬會觸發下一次中斷的原因?如何解決?
    發表于 12-28 07:30

    PLIC管理的中斷的優先級和RISC-V本身的機器定時器以及軟中斷中斷優先級問題

    請問PLIC管理的外設中斷的優先級和RISC-V本身的機器定時器以及軟中斷誰的優先級會更高? 機器定時器中斷和軟中斷不歸
    發表于 06-25 19:05

    ARM內核中斷技術

    以 ARM7TDMI處理器為例,詳細介紹 ARM內核的三種中斷:常規中斷、快中斷和軟件中斷;結合
    發表于 04-09 10:01 ?18次下載

    linux內核中斷機制

    如果讓內核定期對設備進行輪詢,以便處理設備,那會做很多無用功,因為外設的處理速度一般慢于CPU,而CPU不能一直等待外部事件。所以能讓設備在需要內核時主動通知
    發表于 11-14 15:48 ?3204次閱讀

    中斷入門例子—C語言使用中斷控制LED點亮

    簡單的中斷入門例子
    發表于 05-24 14:15 ?2次下載
    <b class='flag-5'>中斷</b>入門<b class='flag-5'>例子</b>—C語言使用<b class='flag-5'>中斷</b>控制LED點亮

    riscv中的plic中斷處理與eclic詳解

    淺析riscv中的plic與eclic 1.PLIC中斷處理 2.sifive中斷的編程模型 3.關于eclic 4.關于jalmnxti
    的頭像 發表于 04-15 13:50 ?1.4w次閱讀
    riscv中的<b class='flag-5'>plic</b><b class='flag-5'>中斷</b><b class='flag-5'>處理</b>與eclic詳解

    PLIC平臺級中斷控制器介紹

    的。 U54內核的平臺級中斷控制器 (PLIC) 最多可支持 132 個具有 7 個優先級的外部中斷源。 Memory Map
    的頭像 發表于 10-07 17:53 ?1505次閱讀
    <b class='flag-5'>PLIC</b>平臺級<b class='flag-5'>中斷</b>控制器介紹

    LIC內核中斷掛起位和中斷使能

    中斷掛起位 PLIC 內核中斷源掛起位的當前狀態可以從掛起數組中讀取,組織為 32 位的 5 個字。中斷 ID 的掛起位存儲在字的位中。
    的頭像 發表于 10-07 17:57 ?1026次閱讀
    LIC<b class='flag-5'>內核</b><b class='flag-5'>中斷</b>掛起位和<b class='flag-5'>中斷</b>使能

    U54內核上CLINT的內存映射

    ) {// handler code} 此屬性將保存和恢復處理程序中使用的寄存器,并在處理程序的末尾插入一條 mret 指令。 CLINT內存映射 下圖是U54 內核上 CLINT 的
    的頭像 發表于 10-08 09:34 ?671次閱讀
    <b class='flag-5'>U54</b><b class='flag-5'>內核</b>上CLINT的內存映射

    RISC-V SiFive U54內核中斷介紹

    中斷 U54內核支持M模式和S模式中斷。默認情況下,所有中斷都在M模式下處理。對于支持S模式的
    的頭像 發表于 10-08 09:39 ?791次閱讀
    RISC-V SiFive <b class='flag-5'>U54</b><b class='flag-5'>內核</b>的<b class='flag-5'>中斷</b>介紹

    U54內核中斷進入和退出

    陷阱trap 術語陷阱描述了軟件應用程序中的控制轉移,其中陷阱處理通常在更特權的環境中執行。例如,一個特定的 hart包含三種權限模式:機器、管理員和用戶。每種特權模式都有自己的軟件執行環境,包括
    的頭像 發表于 10-08 09:47 ?767次閱讀
    <b class='flag-5'>U54</b><b class='flag-5'>內核</b><b class='flag-5'>中斷</b>進入和退出

    U54內核中斷控制和狀態寄存器

    向量的基地址,以及設置 U54內核處理中斷的模式。對于 Direct 和 Vectored模式,中斷處理
    的頭像 發表于 10-08 09:54 ?1306次閱讀
    <b class='flag-5'>U54</b><b class='flag-5'>內核</b><b class='flag-5'>中斷</b>控制和狀態寄存器

    U54內核特權模式中斷介紹

    特權模式中斷 U54內核支持有選擇地將中斷和異常定向到S模式。 該功能由中斷和異常委托CSR處理
    的頭像 發表于 10-08 09:59 ?1256次閱讀
    <b class='flag-5'>U54</b><b class='flag-5'>內核</b>特權模式<b class='flag-5'>中斷</b>介紹

    U54內核不可屏蔽中斷信號

    中斷 (RNMI)。 mnscratch CSR 擁有一個 64 位讀寫寄存器,它使 NMI 陷阱處理程序能夠保存和恢復被中斷的上下文。
    的頭像 發表于 10-08 10:05 ?1086次閱讀
    <b class='flag-5'>U54</b><b class='flag-5'>內核</b>不可屏蔽<b class='flag-5'>中斷</b>信號
    主站蜘蛛池模板: 欧美一级精品高清在线观看 | 美女拍拍拍免费视频观看 | 色偷偷亚洲 | 日本三级2018亚洲视频 | 99久久香蕉国产综合影院 | 性福利视频 | 色老头成人免费视频天天综合 | 日本欧美一区二区三区不卡视频 | 性欧美zoz0另类xxxx | 丁香花的视频免费观看 | 欧美777 | 奇米奇米 | 中文字幕在线永久在线视频2020 | 色最快国产 | 色香视频一sxmv首页 | 亚洲精品自拍区在线观看 | 国产一级特黄毛片 | 在线视免费频观看韩国aaa | 操片免费 | 简单视频在线播放jdav | 欧美一区二区三区综合色视频 | 综合五月 | 亚洲一区二区中文 | 久久久网站亚洲第一 | 日本大片免费一级 | 关晓彤被调教出奶水的视频 | va国产| 色99视频| 手机看片福利 | 免费无码看av的网站 | 夜色爽爽 | 亚洲成人免费观看 | 巨乳色最新网址 | 国产精品伦子一区二区三区 | 一区二区免费视频 | 男人视频在线观看 | 天天在线免费视频 | 在线成人精品国产区免费 | 影音先锋在线亚洲精品推荐 | 性色欧美xo影院 | 三级精品视频在线播放 |