一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內(nèi)不再提示

Cortex-M3中斷優(yōu)先級的相關知識

CHANBAEK ? 來源:硬件工程師技術干貨 ? 作者:硬件工程師技術干 ? 2023-03-23 11:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文詳細介紹Cortex-M3中斷優(yōu)先級相關知識。

1、什么是異常和中斷

凡是打斷程序順序執(zhí)行的事件都稱為異常(exception),比如HardFault,外部中斷等。所以中斷也可以說是異常的一種。其實這也很好理解,因為程序執(zhí)行不外乎正常和異常而已,所以打擾程序正常運行流程的事件都可以叫異常。

2、Cortex-M3異常類型

包括系統(tǒng)異常(異常編號1-15)和外部中斷(異常編號16往上),系統(tǒng)異常在Cortex-M3內(nèi)核中,由ARM設計,芯片廠商都會實現(xiàn),外部中斷最多可以有240個,由芯片生產(chǎn)廠家決定數(shù)量種類,比如UART,DMA等中斷。Reset(-3)、NMI(-2)、HardFault(-1)這三個異常優(yōu)先級都是負數(shù)且固定不變,優(yōu)先級高于其他異常,除了這三個異常之外其他異常優(yōu)先級都是可以編程的。

pYYBAGQbyxSAC-KkAAFd-Vso5GY743.png

3、什么是中斷搶占

在執(zhí)行低中斷優(yōu)先級中斷函數(shù)時,高優(yōu)先級中斷到來,低優(yōu)先級中斷被打斷,執(zhí)行高優(yōu)先級中斷,高優(yōu)先級中斷執(zhí)行完后回到低優(yōu)先級中斷繼續(xù)執(zhí)行。高優(yōu)先級中斷搶占了低優(yōu)先級中斷。如下圖所示:

poYBAGQbyyCAS7uhAAAbe1dkc18334.png

4、什么是搶占優(yōu)先級和子優(yōu)先級

每個中斷優(yōu)先級都包含兩個部分,一部分稱作搶占優(yōu)先級,另一部分稱作子優(yōu)先級。以下來詳細說明以下兩個優(yōu)先級的含義。

1)搶占優(yōu)先級不同

具有高搶占優(yōu)先級的中斷能夠搶占低搶占優(yōu)先級的中斷,也就是上面提到的中斷嵌套。

2)搶占優(yōu)先級相同,子優(yōu)先級不同

當兩個中斷的搶占優(yōu)先級設置為相同級別時,這兩個中斷不會出現(xiàn)中斷嵌套。如果其中一個中斷正在執(zhí)行時,另外一個中斷到來,后來的中斷將會等到前一個中斷執(zhí)行完才能執(zhí)行。如果這兩個中斷都處在等待響應狀態(tài),執(zhí)行條件到來時,首先響應子優(yōu)先級高的中斷。

3)搶占優(yōu)先級相同,子優(yōu)先級也相同

這種情況也不會出現(xiàn)中斷嵌套,內(nèi)核將會按照向量表中的排位選擇,優(yōu)先執(zhí)行靠前的異常。比如Pend SV和Systick兩個中斷優(yōu)先級都設置為相同,如果兩個中斷同時到來,優(yōu)先執(zhí)行PendSV,因為它的排序靠前,見上面向量表。

5、什么是優(yōu)先級分組

在Cortex-M3內(nèi)核中最多使用8Bit來表示中斷優(yōu)先級,在這8Bit中一部分用來表示搶占優(yōu)先級,一部分用來表示子優(yōu)先級,這兩種優(yōu)先級到底各占用幾位,是由內(nèi)核寄存器AIRCR(應用程序中斷及復位控制寄存器)決定的,這個寄存的Bit8-Bit10代表了優(yōu)先級分組,共3位,設置這三3位,可以改變優(yōu)先級分組,如下幾種組合:

000 高7位搶占優(yōu)先級,低1位子優(yōu)先級

001 高6位搶占優(yōu)先級,低2位子優(yōu)先級

010 高5位搶占優(yōu)先級,低3位子優(yōu)先級

011 高4位搶占優(yōu)先級,低4位子優(yōu)先級

100 高3位搶占優(yōu)先級,低5位子優(yōu)先級

101 高2位搶占優(yōu)先級,低6位子優(yōu)先級

110 高1位搶占優(yōu)先級,低7位子優(yōu)先級

111 高0位搶占優(yōu)先級,低8位子優(yōu)先級

另,Cortex-M3內(nèi)核要求最多使用8Bit來表示中斷優(yōu)先級,但是很多芯片廠商為了簡化設計都會進行裁剪,比如STM32只用4位表示優(yōu)先級。

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

    關注

    134

    文章

    9353

    瀏覽量

    377789
  • 內(nèi)核
    +關注

    關注

    3

    文章

    1416

    瀏覽量

    41462
  • 中斷
    +關注

    關注

    5

    文章

    905

    瀏覽量

    42827
  • Cortex-M3
    +關注

    關注

    9

    文章

    276

    瀏覽量

    60277
  • 優(yōu)先級
    +關注

    關注

    0

    文章

    21

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Cortex-M3處理器中斷與FreeRTOS中斷優(yōu)先級配置

    置頂/星標公眾號,不錯過每一條消息!很多朋友對中斷的一些知識還是不了解,今天就寫點關于Cortex-M3處理器中斷相關,以及FreeRTOS
    發(fā)表于 08-13 06:16

    詳解STM32中斷優(yōu)先級

    一:綜述 STM32 目前支持的中斷共為 84 個(16 個內(nèi)核+68 個外部), 16 可編程中斷優(yōu)先級 的設置(僅使用中斷
    發(fā)表于 08-13 07:08

    STM32(Cortex-M3)優(yōu)先級概念

    一、中斷優(yōu)先級:STM32(Cortex-M3)優(yōu)先級概念STM32(Cortex-M3)中
    發(fā)表于 08-16 07:21

    STM32中斷優(yōu)先級和開關總中斷

    STM32中斷優(yōu)先級和開關總中斷一,中斷優(yōu)先級:STM32(Cortex-M3)
    發(fā)表于 08-16 07:05

    STM32中斷優(yōu)先級和開關總中斷

    STM32中斷優(yōu)先級和開關總中斷一,中斷優(yōu)先級:STM32(Cortex-M3)
    發(fā)表于 08-23 07:06

    探討一下STM32中斷優(yōu)先級和開關總中斷

    STM32中斷優(yōu)先級和開關總中斷一,中斷優(yōu)先級:STM32(Cortex-M3)
    發(fā)表于 01-14 07:43

    Stm32中斷優(yōu)先級概念及使用

    1.ARM cortex_m3內(nèi)核支持256個中斷(16個內(nèi)核+240外部)和可編程256中斷優(yōu)先級的設置,與其
    發(fā)表于 02-28 14:38 ?146次下載

    STM32中斷優(yōu)先級和開關總中斷教程

    STM32中斷優(yōu)先級和開關總中斷 教程
    發(fā)表于 11-23 18:03 ?0次下載

    STM32中斷優(yōu)先級相關概念與使用筆記資料免費下載

    1.ARM cortex_m3內(nèi)核支持256個中斷(16個內(nèi)核+240外部)和可編程256中斷優(yōu)先級的設置,與其
    發(fā)表于 09-26 15:25 ?2次下載
    STM32<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級</b>的<b class='flag-5'>相關</b>概念與使用筆記資料免費下載

    STM32中斷優(yōu)先級相關概念與使用筆記資料免費下載

    1.ARM cortex_m3內(nèi)核支持256個中斷(16個內(nèi)核+240外部)和可編程256中斷優(yōu)先級的設置,與其
    發(fā)表于 01-03 16:39 ?6次下載
    STM32<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級</b><b class='flag-5'>相關</b>概念與使用筆記資料免費下載

    STM32中斷及FreeRTOS中斷優(yōu)先級配置

    STM32中斷,及FreeRTOS中斷優(yōu)先級配置
    的頭像 發(fā)表于 03-04 11:45 ?9561次閱讀
    STM32<b class='flag-5'>中斷</b>及FreeRTOS<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級</b>配置

    關于Cortex-M3中斷優(yōu)先級描述資料下載

    電子發(fā)燒友網(wǎng)為你提供關于Cortex-M3中斷優(yōu)先級描述資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可
    發(fā)表于 04-25 08:43 ?2次下載
    關于<b class='flag-5'>Cortex-M3</b>的<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級</b>描述資料下載

    2.FreeRTOS中斷優(yōu)先級和任務優(yōu)先級

    FreeRTOS中斷優(yōu)先級和任務優(yōu)先級架構(gòu):Cortex-M3版本:FreeRTOS V9.0.0前言:最開始,我并沒有搞清楚什么是中斷
    發(fā)表于 12-04 20:21 ?9次下載
    2.FreeRTOS<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級</b>和任務<b class='flag-5'>優(yōu)先級</b>

    STM32筆記之中斷優(yōu)先級和開關總中斷

    STM32中斷優(yōu)先級和開關總中斷一,中斷優(yōu)先級:STM32(Cortex-M3)
    發(fā)表于 01-14 15:24 ?13次下載
    STM32筆記之<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級</b>和開關總<b class='flag-5'>中斷</b>

    Cortex-M中斷及FreeRTOS中斷優(yōu)先級配置原理

    下面就來說說關于Cortex-M中斷,及FreeRTOS中斷優(yōu)先級配置原理。
    發(fā)表于 02-08 15:30 ?3次下載
    <b class='flag-5'>Cortex-M</b><b class='flag-5'>中斷</b>及FreeRTOS<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級</b>配置原理