色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美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>
    主站蜘蛛池模板: 好大好硬好湿再深一点网站| 亚洲免费国产在线日韩| 大学生一级毛片免费看| 性xxx在线观看| 免费播放美女一级毛片| 国产亚洲精品久久久无码狼牙套| jizzjizz中国大学生| 一边喂奶一边做边爱| 偷拍亚洲制服另类无码专区| 蜜臀AV99无码精品国产专区| 国语自产视频在线不卡| 风流少妇BBWBBW69视频| 99久久精品国产亚洲AV| 一个人免费观看完整视频日本| 色在线视频亚洲欧美| 麻豆传煤网站网址入口在线下载| 国产原创剧情麻豆在线| 大香伊人久久| 99久久综合| 中文字幕视频在线观看| 亚洲人成电影网站| 午夜免费福利小电影| 日韩做A爰片久久毛片A片毛茸茸| 免费看国产精品麻豆| 久99久热只有精品国产99| 国产色婷亚洲99精品AV在线| 东莞桑拿美女| 成年女人免费影院播放| 99视频在线免费观看| 2019天天射干| 中国午夜伦理片| 印度最猛性ⅹxxxxx| 亚洲欧美高清在线精品一区| 香蕉免费高清完整| 无人影院在线播放视频| 色婷婷激婷婷深爱五月小蛇| 人妻洗澡被强公日日澡| 暖暖 视频 在线 观看 高清| 免费精品国产日韩热久久| 麻豆国产96在线日韩麻豆| 久久亚洲精品AV成人无码|