色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

Cortex-M3咬尾中斷與晚到中斷基礎知識介紹

冬至子 ? 來源:AI電堂 ? 作者:電小二 ? 2023-11-06 16:36 ? 次閱讀

咬尾中斷

Cortex-M3 內核發生中斷時,硬件會自動將 XPSR、PC、LR、R12、R3、R2、R1 和 R0 這 8 個寄存器壓入棧,其余的 R4~R11、LR、XPSR 寄存器的備份則需要由 C 編譯器去做。

我們知道每次中斷操作有三部曲:入棧+ISR+出棧。**Cortex-M3 內核支持中斷嵌套。所謂中斷嵌套就是高優先級的中斷可以打斷低優先級的中斷轉而去執行高優先級的中斷服務程序,當高優先級中斷服務程序執行完畢再去接著執行低優先級的中斷服務程序。

若在高優先級中斷服務程序執行過程中產生了低優先級中斷,那么低優先級中斷需要等高優先級中斷服務程序執行完畢才能去執行。

對于后者兩個中斷是串行執行的,如果按照每個中斷備份、恢復寄存器的過程,那么高優先級中斷先將上述 8 個寄存器壓入棧中,等執行完畢再從棧中彈出這 8 個寄存器,緊接著低優先級中斷再將這 8 個寄存器壓入棧中,等執行完畢再從棧中彈出,這么做對這 8 個寄存器重復入棧出棧 2 次,浪費了時間,Cortex-M3 內核采用咬尾中斷機制避免這種問題發生,來看下圖:

圖片

Cortex-M3不會再出棧這些寄存器,而是繼續使用上一個異常已經壓棧好的結果,消除出棧和入棧操作的耗時。這樣一來我們執行兩次中斷只需要:入棧+ISR1+ISR2+出棧。

咬尾中斷看上去好像后一個異常把前一個的尾巴咬掉了,前前后后只執行了一次PUSH/POP操作。這兩個異常之間的“時間溝”就變窄了很多,大大提高了效率!

與常規中斷處理(ARM7)的比較:

圖片

晚到中斷

Cortex-M3的中斷處理還有另一個機制,它強調了優先級的作用,這就是 “晚到的異常處理”

這里有一種情況,低優先級中斷先發生,而在低優先級中斷壓棧的過程中又發生了高優先級的中斷,這時高優先級中斷就會搶占低優先級中斷,如果高優先級中斷再壓棧然后執行,再出棧,低優先級中斷執行再出棧,這樣對這 8 個寄存器又是重復入棧出棧 2 次,做了無用功,Cortex-M3 內核采用晚到中斷機制避免這種問題發生,來看下圖:

比如,若在響應某低優先級異常#1的早起,檢測到了高優先級異常#2,則只要#2沒有太晚,就能以“晚到中斷”的方式處理,在入棧完畢后執行ISR#2。如圖所示:

圖片

如果異常#2來得太晚,以至于已經執行了ISR#1的指令,則按普通的搶占處理,這會需要更多的處理器時間和額外32字節的堆棧空間。在ISR#2執行完畢后,則以“咬尾中斷”的方式來啟動ISR#1的執行。

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

    關注

    68

    文章

    19259

    瀏覽量

    229653
  • 寄存器
    +關注

    關注

    31

    文章

    5336

    瀏覽量

    120230
  • Cortex-M3
    +關注

    關注

    9

    文章

    269

    瀏覽量

    59463
  • 中斷優先級
    +關注

    關注

    0

    文章

    22

    瀏覽量

    9368
  • 中斷嵌套
    +關注

    關注

    0

    文章

    7

    瀏覽量

    6842
收藏 人收藏

    評論

    相關推薦

    不同優先級中斷中處理時怎么理解

    處理中斷時,怎么理解
    發表于 03-28 03:34

    Cortex-M3處理器中斷與FreeRTOS中斷優先級配置

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

    ARM Cortex-M3中斷體系

    外部中斷一、ARM Cortex-M3中斷體系二、代碼思路函數接口1.為引腳選擇使用哪個中斷2.配置外部中斷
    發表于 08-16 07:38

    Cortex-M3權威指南介紹

    Cortex-M3處理器介紹基本的硬件構架和指令系統待
    發表于 11-23 11:01 ?0次下載

    STM32的Cortex-M3中斷異常處理

    在STM32處理器中有43個可屏蔽中斷通道(不包含 16個 Cortex?-M3中斷線)。共設置了16個可編程的優先等級(使用了 4位中斷
    發表于 11-16 15:35 ?8211次閱讀
    STM32的<b class='flag-5'>Cortex-M3</b><b class='flag-5'>中斷</b>異常處理

    Cortex-M3處理器中斷和FreeRTOS中斷優先級配置

    STM32屬于ARM中Cortex-M系列處理器,比如:STM32F1數據Cortex-M3,STM32F7數據Cortex-M7。
    的頭像 發表于 12-30 11:23 ?7081次閱讀
    <b class='flag-5'>Cortex-M3</b>處理器<b class='flag-5'>中斷</b>和FreeRTOS<b class='flag-5'>中斷</b>優先級配置

    Cortex-M3 NVIC與中斷控制資料下載

    電子發燒友網為你提供Cortex-M3 NVIC與中斷控制資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發表于 04-11 08:41 ?7次下載
    <b class='flag-5'>Cortex-M3</b> NVIC與<b class='flag-5'>中斷</b>控制資料下載

    Cortex-M3的異常和中斷資料下載

    電子發燒友網為你提供Cortex-M3的異常和中斷資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發表于 04-22 08:51 ?4次下載
    <b class='flag-5'>Cortex-M3</b>的異常和<b class='flag-5'>中斷</b>資料下載

    Cortex-M3Cortex-M4 Fault異常應用之基礎知識資料下載

    電子發燒友網為你提供Cortex-M3Cortex-M4 Fault異常應用之基礎知識資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的
    發表于 04-23 08:50 ?10次下載
    <b class='flag-5'>Cortex-M3</b>和<b class='flag-5'>Cortex-M</b>4 Fault異常應用之<b class='flag-5'>基礎知識</b>資料下載

    Cortex-M3工作模式、異常與中斷介紹資料下載

    電子發燒友網為你提供Cortex-M3工作模式、異常與中斷介紹資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發表于 04-27 08:43 ?4次下載
    <b class='flag-5'>Cortex-M3</b>工作模式、異常與<b class='flag-5'>中斷</b><b class='flag-5'>介紹</b>資料下載

    STM32的NVIC與中斷簡介&&Cortex-M內核的識別

    實現編程的步驟。一 基礎知識1. cortex-m3支持256個中斷,其中包含了16個內核中斷,240個外部中斷。(本博文只
    發表于 12-01 11:51 ?7次下載
    STM32的NVIC與<b class='flag-5'>中斷</b>簡介&&<b class='flag-5'>Cortex-M</b>內核的識別

    STM32 的核心Cortex-M3 處理器

    STM32的核心Cortex-M3 處理器是一個標準化的微控制器結構,希望思考一下,何為標準化?簡言之,Cortex-M3 處理器擁有32 位CPU,并行總線結構,嵌套中斷向量控制單元,調試系統以及
    發表于 12-01 11:51 ?9次下載
    STM32 的核心<b class='flag-5'>Cortex-M3</b> 處理器

    Cortex-M4和Cortex-M3內核的systick不進中斷的軟件延時

    Cortex-M4和Cortex-M3內核的systick不進中斷的軟件延時Cortex-M3/4自帶的systick系統定時器在用作延時功能時常常會以
    發表于 12-01 11:51 ?3次下載
    <b class='flag-5'>Cortex-M</b>4和<b class='flag-5'>Cortex-M3</b>內核的systick不進<b class='flag-5'>中斷</b>的軟件延時

    什么是中斷架構

    Cortex-M3內核支持256個中斷,其中包含了16個內核中斷和240個外部中斷,并且具有256級的可編程中斷設置。但STM32并沒有使用
    的頭像 發表于 03-01 17:41 ?773次閱讀
    什么是<b class='flag-5'>中斷</b>架構

    Cortex-M3中斷優先級的相關知識

    本文詳細介紹Cortex-M3中斷優先級相關知識
    的頭像 發表于 03-23 11:45 ?2681次閱讀
    <b class='flag-5'>Cortex-M3</b><b class='flag-5'>中斷</b>優先級的相關<b class='flag-5'>知識</b>
    主站蜘蛛池模板: 小777论坛| 久久精品18| 亚洲国产综合久久精品| 激情内射亚洲一区二区三区| 亚洲一区综合图区| 麻豆国产人妻精品无码AV| bbbbbxxxxx肥胖| 涩涩游戏盒| 国产一区日韩二区欧美三区| 一起洗澡的老师免费播放| 麻豆AV福利AV久久AV| qvod在线观看| 思思99精品国产自在现线| 韩国电影real在线观看完整版| 伊人影院综合网| 欧美亚洲国产手机在线有码| 国产AV一区二区三区传媒| 亚洲精品第一页中文字幕| 老女老肥熟国产在线视频| 啊叫大点声欠CAO的SAO贷| 午夜神器老司机高清无码 | 暖暖在线观看播放视频| 岛国片在线看| 亚洲成AV人片一区二区不卡 | 亚洲精品一区国产欧美| 快播h动漫网| 成 人 免费 黄 色 网站无毒下载 成 人 动漫3d 在线看 | 国产 高清 无码 在线播放| 欧美日韩高清一区| 国产成人综合95精品视频免费| 亚洲精品日韩在线观看视频| 快播h网站| 处破女免费播放| 亚洲欧美免费无码专区| 嗯好大好猛皇上好深用力| 国产成人久久精品AV| 伊人久久青草青青综合| 秋霞午夜一级理论片久久| 国精产品一区一区三区有限| 91在线青春娱乐精品分类| 台湾果冻传媒在线观看|