<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

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

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

中斷控制和狀態寄存器

Machine Status Register (mstatus)

mstatus 寄存器跟蹤并控制 hart 的當前操作狀態,包括是否啟用中斷。

圖片

通過設置 mstatus 中的 MIE 位來啟用中斷。在寫入 mstatus.MIE=1 之前,建議先在 mie 中開啟中斷。

Machine Trap Vector (mtvec)

mtvec 寄存器有兩個主要功能:定義陷阱向量的基地址,以及設置 U54內核處理中斷的模式。對于 Direct 和 Vectored模式,中斷處理模式在 mtvec 寄存器的 MODE 字段中定義。mtvec 寄存器在表 86 中描述,mtvec.MODE 字段在表 87 中描述。

圖片圖片

Mode Direct

在直接模式下操作時,所有中斷和異常都會捕獲到 mtvec.BASE 地址。在陷阱處理程序內部,軟件必須讀取 mcause寄存器以確定觸發陷阱的原因。

在直接模式下操作時,BASE 必須是 4 字節對齊的。

Mode Vectored

在向量模式下運行時,中斷將 pc 設置為 mtvec.BASE + 4 ×異常代碼(mcause.EXCCODE)。例如,如果發生機器定時器中斷,則將 pc 設置為 mtvec.BASE +0x1C。通常,陷阱向量表填充有跳轉指令,以將控制轉移到特定于中斷的陷阱處理程序。

在向量中斷模式下,BASE 必須是 256 字節對齊的。

所有機器外部中斷(全局中斷)都映射到異常代碼 11。因此,當啟用中斷向量時,pc 設置為任何全局中斷的地址 mtvec.BASE +0x2C。

Machine Interrupt Enable (mie)

通過設置 mie 寄存器中的相應位來啟用各個中斷。

圖片

Machine Interrupt Pending (mip)

機器中斷掛起 (mip) 寄存器指示當前哪些中斷處于掛起狀態。

圖片

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

    關注

    30

    文章

    5113

    瀏覽量

    118012
  • 內核
    +關注

    關注

    3

    文章

    1312

    瀏覽量

    39899
  • 中斷
    +關注

    關注

    5

    文章

    884

    瀏覽量

    41052
  • RISC
    +關注

    關注

    6

    文章

    432

    瀏覽量

    83359
  • sifive
    +關注

    關注

    0

    文章

    34

    瀏覽量

    9429
收藏 人收藏

    評論

    相關推薦

    U0IIR寄存器原理下載

    U0IIR寄存器原理下載 U0IIR寄存器 BIT0: 0:有中斷 1:沒有中斷 BIT1~3: 001:貞錯中斷,讀
    發表于 03-10 14:13 ?95次下載

    中斷寄存器有哪幾種類型

    中斷寄存器包括定時器/計數器控制寄存器TCON和串行通信口控制寄存器SCON。
    的頭像 發表于 05-01 17:18 ?7899次閱讀
    <b class='flag-5'>中斷</b>源<b class='flag-5'>寄存器</b>有哪幾種類型

    51單片機與中斷相關的寄存器

    51單片機與中斷相關的寄存器簡介中斷控制寄存器IE中斷優先級
    發表于 11-12 11:36 ?8次下載
    51單片機與<b class='flag-5'>中斷</b>相關的<b class='flag-5'>寄存器</b>

    STM32串口通信相關寄存器中斷回調函數

    1 (USART_CR1)控制寄存器 2 (USART_CR2)控制寄存器 3 (USART_CR3)串口配置串口初始化GPIO配置,開啟中斷
    發表于 12-28 19:11 ?7次下載
    STM32串口通信相關<b class='flag-5'>寄存器</b>和<b class='flag-5'>中斷</b>回調函數

    ARM通用寄存器狀態寄存器詳解

    筆者來聊聊ARM通用寄存器以及狀態寄存器的認識與理解。
    的頭像 發表于 01-06 14:58 ?5163次閱讀

    PLIC平臺級中斷控制器介紹

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

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

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

    U54內核PLIC中斷處理例子

    Interrupt Claim Process U54 內核 hart 可以通過讀取 claim_complete 寄存器(表 115)執行中斷請求,該
    的頭像 發表于 10-07 18:01 ?567次閱讀
    <b class='flag-5'>U54</b><b class='flag-5'>內核</b>PLIC<b class='flag-5'>中斷</b>處理例子

    U54內核上CLINT的內存映射

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

    RISC-V SiFive U54內核中斷介紹

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

    U54內核特權模式中斷介紹

    特權模式中斷 U54內核支持有選擇地將中斷和異常定向到S模式。 該功能由中斷和異常委托CSR處理:mideleg和medeleg。S模式
    的頭像 發表于 10-08 09:59 ?492次閱讀
    <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 ?499次閱讀
    <b class='flag-5'>U54</b><b class='flag-5'>內核</b>不可屏蔽<b class='flag-5'>中斷</b>信號

    CPSR寄存器和APSR寄存器的組成

    程序狀態寄存器的作用就是反映處理器的狀態信息。在程序運行期間我們可以通過查看程序狀態寄存器狀態
    的頭像 發表于 10-20 11:38 ?2004次閱讀
    CPSR<b class='flag-5'>寄存器</b>和APSR<b class='flag-5'>寄存器</b>的組成

    s3c2410中斷控制模塊的中斷狀態寄存器是?

    S3C2410是一款由三星電子公司設計的具有多種功能的嵌入式處理器。其中的中斷控制模塊用于管理系統的中斷請求和中斷服務程序。在S3C2410中,中斷
    的頭像 發表于 01-05 17:28 ?297次閱讀

    干貨滿滿:ARM的內核寄存器講解

    內核寄存器與外設寄存器內核寄存器與外設寄存器是完全不同的概念。
    發表于 04-17 11:47 ?354次閱讀
    干貨滿滿:ARM的<b class='flag-5'>內核</b><b class='flag-5'>寄存器</b>講解
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>