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

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

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

3天內不再提示

RISC-V的中斷處理 中斷操作三個步驟

XL FPGA技術交流 ? 來源:XL FPGA技術交流 ? 作者:XL FPGA技術交流 ? 2024-05-20 16:38 ? 次閱讀

中斷操作三個步驟:

1、中斷初始化

void intr_init(){  //configure PLIC    //cpu 0 accept all interrupts with priority above 0  plic_set_threshold(BSP_PLIC, BSP_PLIC_CPU_0, 0);   //enable SYSTEM_PLIC_USER_INTERRUPT_A_INTERRUPT rising edge interrupt#ifdef SYSTEM_AXI_A_BMB
  plic_set_enable(BSP_PLIC, BSP_PLIC_CPU_0, SYSTEM_PLIC_SYSTEM_AXI_A_INTERRUPT, 1);  plic_set_priority(BSP_PLIC, SYSTEM_PLIC_SYSTEM_AXI_A_INTERRUPT, 1);
#endif    //enable interrupts    //Set the machine trap vector (../common/trap.S)  csr_write(mtvec, trap_entry);     //Enable external interrupts  csr_set(mie, MIE_MEIE);   csr_write(mstatus, MSTATUS_MPP | MSTATUS_MIE);}

其中包括設置中斷門限。相應中斷的使能,以及中斷的優先級,數字越大,優先級越高。然后還有中斷入中數據的保存。

2、trap處理

void trap(){  int32_t mcause    = csr_read(mcause);    //Interrupt if true, exception if false  int32_t interrupt = mcause < 0;      int32_t cause     = mcause & 0xF;  if(interrupt){    switch(cause){    case CAUSE_MACHINE_EXTERNAL: axiInterrupt(); break;    default: crash(); break;    }  } else {    crash();  }}

3、用戶中斷處理

void axiInterrupt(){

  uint32_t claim;  //While there is pending interrupts  while(claim = plic_claim(BSP_PLIC, BSP_PLIC_CPU_0)){switch(claim){#ifdef SYSTEM_AXI_A_BMB

    case SYSTEM_PLIC_SYSTEM_AXI_A_INTERRUPT:            bsp_print("Entered AXI Interrupt Routine, Passed!");       break;

#endif    default: crash(); break;    }        //unmask the claimed interrupt    plic_release(BSP_PLIC, BSP_PLIC_CPU_0, claim);   }}



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

    關注

    0

    文章

    94

    瀏覽量

    11200
  • RISC-V
    +關注

    關注

    46

    文章

    2498

    瀏覽量

    48282
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Zynq中斷三個部分:SGI、PPI、SPI

    Zynq中斷大致可分為三個部分 第一部分為SGI,軟件生成的中斷,共16端口; 第二部分為PPI,CPU私有外設中斷,有5
    的頭像 發表于 11-16 17:21 ?1.2w次閱讀
    Zynq<b class='flag-5'>中斷</b>的<b class='flag-5'>三個</b>部分:SGI、PPI、SPI

    國產RISC-V MCU推薦

    。同時提供標準和高級通信接口:3SPI、2I2C、3USART、2UART,2I2S,2
    發表于 04-17 11:00

    risc-v的mcu對RTOS兼容性如何

    RISC-V的MCU對RTOS(實時操作系統)的兼容性主要取決于多個因素,包括RTOS的版本、RISC-V指令集的實現、以及芯片制造商提供的支持。以下是關于RISC-V的MCU對RTO
    發表于 05-27 16:26

    RISC-V架構及MRS開發環境回顧

    —— CH32V103系列MCU。作為長久以來對RISC-V架構關注和研究的成果, RISC-V3A處理器,支持IMAC指令子集,內嵌了PFIC中斷
    發表于 12-16 23:08

    如何在RISC-V處理器上使用FreeRTOS?

    FreeRTOS內核調用哪個外部中斷處理程序,設置外部中斷handler的名稱步驟如下:1 加載RISC-V芯片供應商提供的外部
    發表于 11-29 15:54

    學習RISC-V入門 基于RISC-V架構的開源處理器及SoC研究

    RISC-V架構的開源處理器與SoC。1 RISC-V簡介1.1 RISC-V的基本設計RISC-V是一
    發表于 07-27 18:09

    RISC-V是什么?如何去設計RISC-V處理器?

    RISC-V是什么?有哪些特點?如何去設計RISC-V處理器?
    發表于 06-18 09:24

    FreeRTOS與RISC-V——適用于RISC-V的FreeRTOS概述

    1.1簡介FreeRTOS中面向RISC-V的接口是易于拓展的,其提供了一系列基本的接口,用于操作適用于所有RISC-V實現中的通用寄存器,以及一系列的宏來處理特定的硬件實現中涉及到的
    發表于 04-09 09:26

    RISC-V的異常處理機制復雜嗎?

    RISC-V對于異常處理的實現復雜嗎?應該沒有ARM Cortex系列的那樣復雜,有NVIC或GIC中斷控制器吧。那么它執行異常處理的流程是怎樣的?
    發表于 04-21 15:00

    淺析單片機中斷處理過程

    中斷處理過程可分為中斷響應、中斷處理中斷返回三個
    的頭像 發表于 11-06 14:31 ?1.8w次閱讀
    淺析單片機<b class='flag-5'>中斷</b><b class='flag-5'>處理</b>過程

    如何建設RISC-V軟件生態?

    本文從RISC-V軟件開源基礎平臺、RISC-V多樣化軟件生態以及RISC-V開源社區等三個方面詳細介紹了如何建設RISC-V軟件生態。
    的頭像 發表于 06-23 11:21 ?3557次閱讀
    如何建設<b class='flag-5'>RISC-V</b>軟件生態?

    Sifive Learn Inventor基礎之GPIO 按鍵中斷 RISC-V

    Sifive Learn Inventor 基礎之gpio 按鍵中斷Sifive Learn Inventor是Sifive的一款基于RISC-V內核的開發板,具體見官網的Hifive Rev b
    發表于 12-20 19:06 ?1次下載
    Sifive Learn Inventor基礎之GPIO 按鍵<b class='flag-5'>中斷</b> <b class='flag-5'>RISC-V</b>

    RISC-V高性能計算需要要解決的三個問題

    尤其是在 2022 年,RISC-V 的發展勢頭極為強勁,RISC-V 處理器核出貨量突破 100 億顆。
    發表于 02-15 11:53 ?792次閱讀

    RISC-V SiFive U54內核的中斷介紹

    類型的 RISC-V 中斷:本地和全局。 本地中斷:U54內核的本地中斷只有2種,軟件中斷和定時器中斷
    的頭像 發表于 10-08 09:39 ?856次閱讀
    <b class='flag-5'>RISC-V</b> SiFive U54內核的<b class='flag-5'>中斷</b>介紹

    MCU如何處理中斷中斷處理過程包括哪些步驟

    當MCU接收到一個中斷信號時,它會暫停當前正在執行的任務,保存現場,然后跳轉到預設的中斷處理程序(Interrupt Service Routine, ISR)去處理這個
    的頭像 發表于 11-08 12:57 ?2110次閱讀
    主站蜘蛛池模板: 啪啪调教所29下拉式免费阅读 | 色综合日韩 | 色接久久| 天天操天天干天天舔 | 99热久久国产精品 | 8050午夜一级 | 国产黄色网 | 亚洲 欧美 日韩 丝袜 另类 | 日韩欧美高清一区 | 色五月丁香五月综合五月 | 欧美午夜网| 亚洲欧美日韩国产一区二区三区精品 | 色综合色综合色综合 | 男女午夜特黄毛片免费 | 好紧好爽太大了h视频 | 91免费视 | 免费人成动漫在线播放r18 | 色婷婷综合网 | 成人国产在线视频 | 高h肉肉视频在线播放观看 高黄视频 | 天堂bt在线网bt | 国产一区二区三区四卡 | 天天草综合网 | 亚洲一区二区免费看 | 国产紧缚jvid | 国产欧美日韩haodiaose | 成人亚洲欧美在线电影www色 | 亚洲一区小说区中文字幕 | 亚欧乱色束缚一区二区三区 | 曰韩欧美 | 日本a级特黄三级三级三级 日本边添边爱边摸边做边爱 | 夜夜天天操| 美女隐私黄www视频 美女用手扒开尿口给男生桶爽 | 黄色毛片免费 | 色两性网欧美 | www.天天射.com | 亚州国产精品精华液 | 亚洲卡一卡2卡三卡4卡国色 | 亚洲色图27p | 色噜噜亚洲男人的天堂 | 在线免费观看色片 |