国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

RISC-V怎么實現核間中斷?核心本地中斷控制器(CLINT)深度解析

安芯 ? 來源:jf_29981791 ? 2025-12-13 14:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

全稱為Core Local Interruptor(核心本地中斷控制器),是 RISC-V 特權架構規范(Privileged Architecture Specification)中明確定義的內建于每個核心 / 硬件線程(hart)的中斷控制器,專門處理「核心本地、非共享」的中斷類型,區別于處理外設共享中斷的 PLIC(Platform-Level Interrupt Controller,平臺級中斷控制器)。

1、為什么需要 CLINT?

RISC-V 核心在運行時,需要處理兩類截然不同的中斷需求:

一類是全局共享中斷(如 UART 收發、GPIO 電平變化、SPI 通信完成等),這類中斷來自外部外設,需多個核心共享處理;

另一類是核心本地中斷(如定時任務、核心間通信),這類中斷僅屬于單個核心,要求極低的響應延遲,無需總線仲裁。

CLINT 的設計初衷正是為了解決第二類需求 —— 通過將中斷控制器 “內嵌” 到每個 hart 中,避免總線傳輸帶來的延遲,確保核心對本地關鍵事件(如定時器到期、核心間喚醒)的快速響應,這也是其 “Core Local”(核心本地)命名的由來。

CLINT 模塊產生 CSR****寄存器的定時器中斷、軟件中斷和計時器。

CLINT的系統架構示意圖

2、CLINT 功能說明

CLINT 由軟件中斷觸發器、定時器中斷觸發器、計數器組成。 軟件中斷觸發器由一個寄存器構成,直連 CPU 的機器級軟件中斷。 計數器負責提供 CPUTIMETIMEH ,并參與定時器中斷的觸發。 定時器中斷觸發器用于定時器中斷 的觸發,當計數器值大于配置的值時會觸發定時器中斷**,**定時器中斷是嵌入式系統中最常用的中斷類型,幾乎所有 RTOS(如 FreeRTOSRT-Thread)的任務調度都依賴定時器中斷提供的 “時鐘節拍”

2.1 CLINT初始化

2.2 軟件中斷:

寫 0 則清除中斷掛起狀態

2.3定時器中斷:

中斷處理函數中,更新比較閾值(實現周期性觸發),并執行調度邏輯(如 RTOS 的任務切換)。

2.3讀取CLINT計數器:

2.4延時函數通過計數器功能計算延時時間

CLINT 的 64 位全局計數器time/timeh提供了高精度的時間基準,可直接用于實現微秒級 / 毫秒級精準延時,無需依賴外部定時器。

延時函數實現原理:

進入延時函數時,讀取當前計數器值told;

計算需要的總時鐘節拍數(ticks = 延時時間(us) × 時鐘頻率(MHz));

循環讀取當前計數器值tnow,計算累計節拍數tcnt;

當tcnt >= ticks時,延時結束。

3、CLINT 的常見應用場景

① RTOS 時鐘節拍生成

FreeRTOS 等 RTOS 的任務調度依賴固定周期的時鐘節拍,通常將 CLINT 定時器中斷配置為 1ms 觸發一次,在中斷處理函數中調用vTaskIncrementTick(),實現任務就緒狀態更新和調度器切換。

② 多核系統啟動

在 RISC-V 多核芯片中,主核心啟動后,通過向從核心的SOFTICR寄存器寫 1,觸發從核心的軟件中斷,從核心在中斷處理函數中完成棧初始化、應用加載,實現多核心協同工作。

③ 精準數據采樣

工業控制傳感器采集等場景中,需按固定時間間隔(如 100us)采集數據,通過 CLINT 定時器中斷觸發采樣函數,確保采樣周期的穩定性和精準度。

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

    關注

    147

    文章

    18669

    瀏覽量

    388978
  • 中斷控制器
    +關注

    關注

    0

    文章

    63

    瀏覽量

    9778
  • RISC-V
    +關注

    關注

    48

    文章

    2820

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    易靈思Sapphire SoC中RISC-V平臺級中斷控制器深度解析

    隨著 RISC -V處理在 FPGA 領域的廣泛應用,易靈思 FPGA 的 Sapphire RISC-V 內核憑借軟硬核的靈活支持,為開發者提供多樣選擇。本文深入探討 Sapph
    的頭像 發表于 11-08 09:35 ?7359次閱讀
    易靈思Sapphire SoC中<b class='flag-5'>RISC-V</b>平臺級<b class='flag-5'>中斷控制器</b><b class='flag-5'>深度</b><b class='flag-5'>解析</b>

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

    芯片使用向量中斷控制器,需為每個向量安裝freertos_risc_v_trap_handler。7. 移植到新的32/64位RISC-V實現
    發表于 11-29 15:54

    ARM的中斷控制器

    文主要粗略的講述了ARM體系結構當中,GICv2版本的中斷控制器邏輯和原理(現在GICv3, GICv4越來越多,這里先描述簡單一點的V2)。 什么是中斷控制器呢?中斷控制器就是負責將
    發表于 08-29 08:39

    有關ARM GICv3中斷控制器的相關知識介紹

    1、ARM GICv3中斷控制器GIC,Generic Interrupt Controller。是ARM公司提供的一個通用的中斷控制器。主要作用為:接受硬件中斷信號,并經過一定處理后,分發給對應
    發表于 05-26 16:35

    ESP32-C6技術參考手冊

    CPU 內核具有 4 級有序標量流水線,針對面積、功耗、性能等進行了優化。CPU 內核架構包含調試模塊 (DM)、中斷控制器 (INTC)、核心本地中斷 (CLINT) 和用于訪問存
    發表于 09-18 07:19

    華芯微特MCU的嵌套向量中斷控制器與外部中斷/事件控制器的使用方法

    01. 嵌套向量中斷控制器(NVIC) NVIC的全稱是Nested vectoredinterrupt controller,即嵌套向量中斷控制器。 Cortex-M0和Cortex-M4提供了
    的頭像 發表于 06-04 12:08 ?4457次閱讀
    華芯微特MCU的嵌套向量<b class='flag-5'>中斷控制器</b>與外部<b class='flag-5'>中斷</b>/事件<b class='flag-5'>控制器</b>的使用方法

    中斷控制器的驅動解析(上)

    這里主要分析 linux kernel 中 GIC v3 中斷控制器的代碼(drivers/irqchip/irq-gic-v3.c)。設備樹先來看下一個中斷控制器的設備樹信息:gic
    發表于 12-04 16:36 ?10次下載
    <b class='flag-5'>中斷控制器</b>的驅動<b class='flag-5'>解析</b>(上)

    扒開 ARM 中斷控制器的底褲

    GIC 硬件原理GIC,Generic Interrupt Controller。是ARM公司提供的一個通用的中斷控制器。主要作用為:接受硬件中斷信號,并經過一定處理后,分發給對應的CPU...
    發表于 12-04 17:36 ?6次下載
    扒開 ARM <b class='flag-5'>中斷控制器</b>的底褲

    細說STM32的中斷控制器(NVIC)那些事

    分組、中斷優先級的配置、讀中斷請求標志、清除中斷請求標志、使能中斷、清除中斷等,它控制著STM3
    發表于 01-14 15:54 ?6次下載
    細說STM32的<b class='flag-5'>中斷控制器</b>(NVIC)那些事

    關于ARM中斷控制器的介紹

    GIC 硬件原理 GIC,Generic Interrupt Controller。是ARM公司提供的一個通用的中斷控制器。主要作用為:接受硬件中斷信號,并經過一定處理后,分發給對應的CPU進行處理
    的頭像 發表于 07-08 09:34 ?3246次閱讀

    STM32外部中斷控制器EXTI詳解

    什么是外部中斷控制器,外部中斷控制器在STM32芯片中處于什么位置,它的作用是什么,EXTI與GPIO的映射關系?
    的頭像 發表于 04-20 11:44 ?3755次閱讀
    STM32外部<b class='flag-5'>中斷控制器</b>EXTI詳解

    中斷控制器級聯的類型有哪幾種

    中斷控制器的級聯 根據中斷數量的不同,中斷控制器可以級聯,以此來滿足需求。比如在 GIC 中斷控制器之前都會連接 EINT中斷控制器,或者其
    的頭像 發表于 09-28 14:15 ?1323次閱讀
    <b class='flag-5'>中斷控制器</b>級聯的類型有哪幾種

    PLIC平臺級中斷控制器介紹

    平臺級中斷控制器(PLIC) PLIC:Platform-Level Interrupt Controller. 實際上,除了CLINT管理的軟件中斷和定時
    的頭像 發表于 10-07 17:53 ?2232次閱讀
    PLIC平臺級<b class='flag-5'>中斷控制器</b>介紹

    CLINT中斷控制器優先級和搶占

    內核本地中斷CLINT) 下圖為CLINT示意圖,CLINT通過固定的中斷號和優先級,可將軟件中斷
    的頭像 發表于 10-08 09:30 ?1380次閱讀
    <b class='flag-5'>CLINT</b><b class='flag-5'>中斷控制器</b>優先級和搶占

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

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