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

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

Cortex-M0中斷控制和系統(tǒng)控制之異常屏蔽寄存器PRIMASK

安芯教育科技 ? 來(lái)源:靈動(dòng)MM32MCU ? 2023-03-25 10:18 ? 次閱讀

Cortex-M0處理器允許兩種形式的中斷請(qǐng)求:電平觸發(fā)和脈沖輸入。

電平觸發(fā)是外設(shè)的中斷請(qǐng)求有持續(xù)的電平信號(hào),若電平信號(hào)在處理器從ISR返回之前沒(méi)有被取消,則中斷返回后將再次觸發(fā)已經(jīng)服務(wù)過(guò)的中斷。

脈沖中斷是在信號(hào)的上升沿同步采樣的中斷信號(hào),為了確保NVIC檢測(cè)到中斷,外設(shè)必須維持中斷信號(hào)至少一個(gè)時(shí)鐘周期,在此期間,NVIC檢測(cè)脈沖和鎖存中斷。后續(xù)的脈沖可以將暫掛狀態(tài)加到活動(dòng)中斷中,使?fàn)顟B(tài)為中斷活動(dòng)且掛起。然而,在有限周期內(nèi)發(fā)生的多個(gè)脈沖只登記作為中斷調(diào)度的單個(gè)事件。

哪些中斷是電平觸發(fā)的,哪些是脈沖觸發(fā)的,具體選擇哪一種是根據(jù)芯片設(shè)計(jì)來(lái)決定,不過(guò)大多數(shù)的外設(shè)使用電平觸發(fā)中斷輸出。

一、電平觸發(fā)和脈沖輸入

Cortex-M0處理器鎖存所有中斷,外圍中斷成為等待其中一個(gè)原因是:

NVIC檢測(cè)到中斷信號(hào)被置位并且對(duì)應(yīng)的中斷不是active

NVIC檢測(cè)到中斷信號(hào)的上升沿

軟件寫入相應(yīng)的中斷集掛起寄存器

掛起的中斷將一直掛起,直到下列情況之一發(fā)生:

處理器為中斷進(jìn)入ISR,這將改變中斷的狀態(tài)等待活躍:

對(duì)于電平觸發(fā)型中斷,當(dāng)處理器從ISR返回時(shí),NVIC采樣中斷信號(hào)。如果中斷信號(hào)仍然有效,表示中斷的狀態(tài)更改為pending,這可能會(huì)導(dǎo)致處理器立即重新進(jìn)入ISR。否則,中斷的狀態(tài)將變?yōu)榉腔顒?dòng)狀態(tài)。

對(duì)于脈沖觸發(fā)型中斷,NVIC繼續(xù)監(jiān)視中斷信號(hào),如果這樣觸發(fā)時(shí),中斷狀態(tài)變?yōu)閽炱鸷突顒?dòng)狀態(tài)。在這種情況下,當(dāng)處理器從ISR返回中斷狀態(tài)時(shí),中斷狀態(tài)變?yōu)閽炱馉顟B(tài)可能會(huì)導(dǎo)致處理器立即重新進(jìn)入ISR。如果中斷信號(hào)不是脈沖而處理器是在ISR,當(dāng)處理器從ISR返回中斷狀態(tài)變?yōu)榉腔顒?dòng)狀態(tài)。

軟件寫入相應(yīng)的中斷清除寄存器位。

對(duì)于電平觸發(fā)型中斷,如果中斷信號(hào)仍然有效,則中斷的狀態(tài)中斷不會(huì)改變。否則,中斷的狀態(tài)將變?yōu)榉腔顒?dòng)狀態(tài)。
對(duì)于脈沖中斷,中斷狀態(tài)變?yōu)椋?/p>

inactive,如果狀態(tài)是pending

active,如果狀態(tài)是活動(dòng)的和掛起的

二、中斷處理

當(dāng)中斷事件發(fā)生時(shí),由于外設(shè)連接到了NVIC上,中斷信號(hào)就會(huì)得到確認(rèn)。在處理器執(zhí)行中斷服務(wù)并且沒(méi)有清除外設(shè)的中斷的信號(hào)以前,該信號(hào)會(huì)保持高電平。在NVIC內(nèi)部,當(dāng)檢測(cè)到有中斷發(fā)生時(shí),該中斷的掛起狀態(tài)會(huì)被置位,當(dāng)處理器接受該中斷并且開(kāi)始執(zhí)行中斷服務(wù)后,掛起狀態(tài)就會(huì)被清除。

cb54b080-ca45-11ed-bfe3-dac502259ad0.png

針對(duì)脈沖輸入的中斷請(qǐng)求,這種情況下,在中斷得到服務(wù)之前,掛起狀態(tài)寄存器將會(huì)一直保持該請(qǐng)求。

cb76bbd0-ca45-11ed-bfe3-dac502259ad0.png

如果中斷請(qǐng)求沒(méi)有立即執(zhí)行,并且在確認(rèn)之前被軟件清除了,處理器將會(huì)忽略掉本次請(qǐng)求,并且不會(huì)執(zhí)行中斷處理。

如果在軟件清除掛起狀態(tài)時(shí),外設(shè)仍然保持著中斷請(qǐng)求,掛起狀態(tài)寄存器還會(huì)立即生成。

三、中斷等待

通常情況下,處理器的中斷等待時(shí)間為16個(gè)周期,這個(gè)等待時(shí)間從中斷確認(rèn)的處理器時(shí)鐘周期開(kāi)始,一直到中斷處理開(kāi)始執(zhí)行結(jié)束。

計(jì)算中斷等待需具備以下前提:

該中斷使能并沒(méi)有PRIMASK或者其他正在執(zhí)行的異常處理所屏蔽1

存儲(chǔ)器系統(tǒng)沒(méi)有任何等待狀態(tài),在中斷處理、壓棧、取向量表或者中斷處理開(kāi)始時(shí)取指都會(huì)用到總線傳輸,如果存儲(chǔ)器系統(tǒng)需要等待,那么總線傳輸時(shí)產(chǎn)生的等待狀態(tài)則可能使得中斷延遲。

下面幾種情況可能會(huì)導(dǎo)致不同的中斷等待:

中斷的咬尾連鎖,如果一個(gè)中斷返回時(shí)立即產(chǎn)生另外一個(gè)中斷請(qǐng)求,處理器就會(huì)跳過(guò)出棧和壓棧時(shí)間,減少了中斷等待時(shí)間。

延遲到達(dá),如果中斷發(fā)生時(shí),另外一個(gè)低優(yōu)先級(jí)中斷正在進(jìn)行壓棧處理,由于延遲到達(dá),高優(yōu)先級(jí)的中斷就會(huì)立即執(zhí)行,這樣會(huì)導(dǎo)致高優(yōu)先級(jí)的中斷等待時(shí)間減少。

四、異常屏蔽寄存器PRIMASK

有些對(duì)時(shí)間敏感的應(yīng)用,需要在短時(shí)間內(nèi)禁止響應(yīng)所有的中斷,對(duì)于這種應(yīng)用,處理器不是直接使用中斷使能、禁止控制寄存器來(lái)禁止所有中斷再恢復(fù),而是一個(gè)單獨(dú)的特殊寄存器 - PRIMASK,通過(guò)它可以屏蔽掉除了NMI和HardFault異常的其他的所有的中斷和系統(tǒng)異常。

PRIMASK寄存器只有1位有效,并且在復(fù)位后默認(rèn)為0。該寄存器為0時(shí),所有的中斷和異常都處于允許狀態(tài),設(shè)置為1后,只有NMI和HardFault處于使能狀態(tài)。

MOVSR0,#0x1;//中斷#2
MSRPRIMASK,R0;//將R0的值送到PRIMASK

NVIC編程提示軟件使用CPSIE i和CPSID i指令來(lái)啟用和禁用中斷。

CPSIEi;//清除PRIMASK(使能中斷)
CPSIDi;//設(shè)置PRIMASK(不響應(yīng)中斷)

CMSIS設(shè)備驅(qū)動(dòng)庫(kù)提供了C語(yǔ)言的實(shí)現(xiàn)函數(shù),用戶可以直接使用函數(shù)來(lái)設(shè)置和清除PRIMASK寄存器:

void__disable_irq(void)//不響應(yīng)中斷
void__enable_irq(void)//啟用中斷

在對(duì)時(shí)間敏感的程序完成后,應(yīng)該清除PRIMASK。要不然即使在中斷處理中使用__disable_irq()函數(shù),處理器將停止接受新的中斷請(qǐng)求。主要原因是PRIMASK寄存器和Xpsr是相互獨(dú)立的,因此異常返回不會(huì)影響中斷屏蔽狀態(tài)。

五、NVIC使用提示

確保軟件使用正確對(duì)齊的寄存器訪問(wèn),處理器不支持對(duì) NVIC 寄存器的未對(duì)齊訪問(wèn)。

即使中斷被禁用,它也可以進(jìn)入掛起狀態(tài)。

禁用中斷只能防止處理器處理中斷。

在對(duì)中斷向量表重定義之前,必須包含所有的異常中斷,例如 NMI、HardFault 和外設(shè)中斷等。





審核編輯:劉清

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

    關(guān)注

    68

    文章

    19259

    瀏覽量

    229653
  • Cortex-M0
    +關(guān)注

    關(guān)注

    4

    文章

    124

    瀏覽量

    38675
  • ISR
    ISR
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    14426
  • NVIC
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    11695
  • 中斷控制
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    8863

原文標(biāo)題:Cortex-M0中斷控制和系統(tǒng)控制(三)

文章出處:【微信號(hào):Ithingedu,微信公眾號(hào):安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    靈動(dòng)微課堂 (第175講) | Cortex-M0中斷控制系統(tǒng)控制(一)

    Controller)集成在Cortex-M0處理里,它與處理內(nèi)核緊密相連,并且提供了中斷控制功能以及對(duì)
    發(fā)表于 07-29 17:14

    靈動(dòng)微課堂 (第176講) | Cortex-M0中斷控制系統(tǒng)控制(二)

    每一個(gè)外部中斷都有一個(gè)對(duì)應(yīng)的優(yōu)先級(jí)寄存器Cortex-M0NVIC-IPR共有8個(gè)寄存器,而每個(gè)寄存
    發(fā)表于 07-29 18:49

    靈動(dòng)微課堂 (第177講) | Cortex-M0中斷控制系統(tǒng)控制(三)

    ,這樣會(huì)導(dǎo)致高優(yōu)先級(jí)的中斷等待時(shí)間減少。04異常屏蔽寄存器PRIMASK有些對(duì)時(shí)間敏感的應(yīng)用,需要在短時(shí)間內(nèi)禁止響應(yīng)所有的中斷,對(duì)于這種應(yīng)用
    發(fā)表于 07-29 18:51

    靈動(dòng)微課堂 (第178講) | Cortex-M0中斷控制系統(tǒng)控制(四)

    Cortex-M0系統(tǒng)控制塊(SCB)是內(nèi)核外設(shè)的主要模塊之一,提供系統(tǒng)控制以及系統(tǒng)執(zhí)行信息,包括配置,控制,上報(bào)
    發(fā)表于 08-06 14:49

    修改PRIMASK寄存器的值的方法

    PRIMASK 和FAULTMASK寄存器在很多應(yīng)用需要暫時(shí)屏蔽所有的中斷進(jìn)行一些對(duì)時(shí)序要求較高的任務(wù),不然容易發(fā)生bug,例如I2C通訊
    發(fā)表于 08-13 07:20

    靈動(dòng)微課堂 (第179講) | Cortex-M0中斷控制系統(tǒng)控制(五)

    SysTick 異常邏輯,讀取該寄存器會(huì)在訪問(wèn)時(shí)返回其值。01SysTick寄存器SysTick定時(shí)主要由4個(gè)寄存器組成:在CMSIS
    發(fā)表于 08-13 16:24

    STM32的Cortex-M3中斷異常處理

    在STM32處理中有43個(gè)可屏蔽中斷通道(不包含 16個(gè) Cortex?-M3的中斷線)。共設(shè)
    發(fā)表于 11-16 15:35 ?8211次閱讀
    STM32的<b class='flag-5'>Cortex-M</b>3<b class='flag-5'>中斷</b><b class='flag-5'>異常</b>處理

    STM32中斷和事件

    都可以對(duì)中斷或事件進(jìn)行控制。編號(hào)4受中斷屏蔽寄存器和編號(hào)3的輸出控制,為一個(gè)與門電路,當(dāng)中斷
    發(fā)表于 01-14 15:17 ?0次下載
    STM32<b class='flag-5'>中斷</b>和事件

    Cortex-M0中斷控制系統(tǒng)控制(五)

    SysTick定時(shí)系統(tǒng)滴答定時(shí),也稱“心跳定時(shí)”,它是一個(gè)24 位的倒計(jì)數(shù)定時(shí),計(jì)到0
    發(fā)表于 02-08 15:37 ?0次下載
    <b class='flag-5'>Cortex-M0</b><b class='flag-5'>中斷</b><b class='flag-5'>控制</b>和<b class='flag-5'>系統(tǒng)控制</b>(五)

    Cortex-M0中斷控制系統(tǒng)控制(四)

    ARMv7-M和ARMv6-M都有的SCB寄存器名稱相同,但是ARMv7-M寄存器數(shù)量和有效控制
    發(fā)表于 02-08 15:41 ?0次下載
    <b class='flag-5'>Cortex-M0</b><b class='flag-5'>中斷</b><b class='flag-5'>控制</b>和<b class='flag-5'>系統(tǒng)控制</b>(四)

    Cortex-M0中斷控制系統(tǒng)控制(二)

    每一個(gè)外部中斷都有一個(gè)對(duì)應(yīng)的優(yōu)先級(jí)寄存器Cortex-M0NVIC-IPR共有8個(gè)寄存器,而每個(gè)寄存
    發(fā)表于 02-08 15:48 ?3次下載
    <b class='flag-5'>Cortex-M0</b><b class='flag-5'>中斷</b><b class='flag-5'>控制</b>和<b class='flag-5'>系統(tǒng)控制</b>(二)

    Cortex-M0中斷控制系統(tǒng)控制

    Cortex-M0采用Armv6-M架構(gòu),優(yōu)先級(jí)寄存器配置位有8位,但是有效位只有最高2位,這個(gè)地方很多人使用了Cortex-M3后一直也認(rèn)為Cor
    的頭像 發(fā)表于 04-24 11:20 ?3073次閱讀

    Cortex-M0中斷控制系統(tǒng)控制知識(shí)點(diǎn)

    每一個(gè)外部中斷都有一個(gè)對(duì)應(yīng)的優(yōu)先級(jí)寄存器Cortex-M0NVIC-IPR共有8個(gè)寄存器,而每個(gè)寄存
    的頭像 發(fā)表于 03-20 09:28 ?3168次閱讀

    Cortex-M0系統(tǒng)控制塊(SCB)介紹

    Cortex-M0系統(tǒng)控制塊(SCB)是內(nèi)核外設(shè)的主要模塊之一,提供系統(tǒng)控制以及系統(tǒng)執(zhí)行信息,包括配置,控制,上報(bào)
    的頭像 發(fā)表于 03-25 15:14 ?5393次閱讀

    PRIMASK寄存器開(kāi)、關(guān)總中斷的指令代碼

    。我們可以對(duì)特殊功能寄存器PRIMASK寫1來(lái)關(guān)閉/屏蔽優(yōu)先級(jí)不高于0【數(shù)字大于0】的所有可配置中斷
    的頭像 發(fā)表于 06-21 16:32 ?6527次閱讀
    <b class='flag-5'>PRIMASK</b><b class='flag-5'>寄存器</b>開(kāi)、關(guān)總<b class='flag-5'>中斷</b>的指令代碼
    主站蜘蛛池模板: 亚洲AV无码乱码国产麻豆穿越| 韩日美无码精品无码| 国产AV亚洲国产AV麻豆 | 偷偷鲁青春草原视频| 午夜伦理网| 一品道门免费视频韩国| 2021全国精品卡一卡二| 97视频免费观看| 高傲教师麻麻被同学调教123| 有码 亚洲 制服 国产 在线| 成人免费小视频| 国产成人一区免费观看| 国产欧美日韩网站| 久久机热视频 这里只有精品首页| 久久这里只有精品视频e| 男人把女人桶到爽免费看视频| 亚洲精品乱码8久久久久久日本 | 女人被躁到高潮嗷嗷叫69| 日本大片免a费观看视频| 性感尼姑风流寺| 中文字幕亚洲第一页| 扒开黑女人p大荫蒂老女人| 国产色无码精品视频国产| 久久橹| 人人射人人插| 亚洲国产中文在线视频| 97视频在线播放| 国产亚洲精品久久777777| 伦理片天堂eeuss影院2o12| 日韩精品专区在线影院重磅| 亚洲欧美日韩中字视频三区| 99精品久久久久久久| 国产人妻精品无码AV在线五十路| 快播成电影人网址| 日日a.v拍夜夜添久久免费| 一级毛片皇帝 宫女| 成人精品视频在线| 国产高潮国产高潮久久久久久| 国产又黄又粗又爽又色的视频软件| 老阿姨儿子一二三区| 忘忧草高清|