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

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

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

3天內不再提示

Cortex-M0中斷控制和系統控制知識點

安芯教育科技 ? 來源:靈動MM32MCU ? 2023-03-20 09:28 ? 次閱讀

上一篇介紹了Cortex-M0中斷控制和系統控制(一),本篇將繼續介紹Cortex-M0中斷控制知識。

每一個外部中斷都有一個對應的優先級寄存器,Cortex-M0中NVIC-IPR共有8個寄存器,而每個寄存器管理4個IRQ中斷,所以M0的IRQ中斷源最多只支持32個,再加上16個內核中斷,也就是說M0最多48個中斷源。

a58d7684-c4c8-11ed-bfe3-dac502259ad0.png

a59e6d4a-c4c8-11ed-bfe3-dac502259ad0.png

Cortex-M0采用Armv6-M架構,優先級寄存器配置位有8位,但是有效位只有最高2位,這個地方很多人使用了Cortex-M3后一直也認為Cortex-M0也是最高3或4位有效位,在arm官方資料中有對比兩個版本的差別。因此Cortex-M0可編程優先級有4個,加上3個固定的優先級(復位、NMI、HardFault),Cortex-M0總共有7個中斷優先級。

a5b3668c-c4c8-11ed-bfe3-dac502259ad0.png

Cortex-M0內核的中斷優先級寄存器是以最高位(MSB)對齊的,并且只支持字傳輸,每次訪問都會同時涉及4個中斷優先級寄存器。見下圖:

a60657e8-c4c8-11ed-bfe3-dac502259ad0.png

因為Bit0 - Bit5沒有使用,所以如果沒有進行寫操作讀出都為0。

由于不同的 Cortex-M 系列,其中斷優先級是不一樣的,所以在 CMSIS 庫中的頭文件中可以查看優先級的數量 \_\_NVIC\_PRIO\_BITS。

中斷優先級寄存器的編程應該在中斷使能之前,其通常是在程序開始時完成的。arm官方資料提示應該避免在中斷使能之后改變中斷優先級,因為這種情況的結果在ARMv6-M系統結構是不可預知的,并且不被Cortex-M0處理器支持。Cortex-M3/M4處理器的情況又有所不同,他們都支持中斷優先級的動態切換。Cortex-M3處理器和Cortex-M0處理器的另外一個區別是,Cortex-M3訪問中斷優先級寄存器時支持字節或半字傳輸,因此可以每次只設置一個寄存器。如果需要改變優先級,程序中需要關閉中斷后再重新設置中斷優先級寄存器。

在 Cortex-M內核中,一個中斷的優先級數值越低,邏輯優先級卻越高。比如,中斷優先級為2的中斷可以搶占中斷優先級為3的中斷,但反過來就不行。換句話說,中斷優先級2比中斷優先級3的優先級更高。

Cortex-M0處理器對中斷嵌套的支持無需任何軟件干預,如果MCU已經在運行一個中斷,而有了新的更高優先級的中斷請求,正在運行的中斷將會被暫停,轉而執行更高優先級的中斷,高優先級中斷執行完成后又回到原來的低優先級中斷。如果出現兩個同一優先級的中斷,則是判斷誰開始發起中斷請求,MCU會先執行同一優先級中首先發起請求的中斷。

MM32F0130系列中斷向量表:

typedefenumIRQn{

NonMaskableInt_IRQn=-14,///

設置中斷優先級的流程:先讀一個字,再修改對應字節,最后整個字寫回。

1.1. C代碼

void__NVIC_SetPriority()
{
unsignedlongtemp;//定義一個臨時變量
temp=*(volatileunsignedlong)(0xE000E400);//讀取IRP0值
temp&=(0xFF00FFFF|(0xC0<

1.2. 匯編代碼

在程序中可以一次設置多個中斷優先級。

void__NVIC_SetPriority()
{
LDRR0,=0xE000E100;//設置使能中斷寄存器地址
MOVSR1,#0x4;//中斷#2
STRR1,[R0];//使能#2中斷
LDRR0,=0xE000E200;//設置掛起中斷寄存器地址
MOVSR1,#0x4;//中斷#2
STRR1,[R0];//掛起#2中斷
LDRR0,=0xE000E280;//設置清除中斷掛起寄存器地址
MOVSR1,#0x4;//中斷#2
STRR1,[R0];//清除#2的掛起狀態
}

1.3. CMSIS標準設備驅動函數

//設置中斷優先級
__STATIC_INLINEvoid__NVIC_SetPriority(IRQn_TypeIRQn,uint32_tpriority)
{
if((int32_t)(IRQn)>=0){
NVIC->IP[_IP_IDX(IRQn)]=((uint32_t)(NVIC->IP[_IP_IDX(IRQn)]&~(0xFFUL<SHP[_SHP_IDX(IRQn)]=((uint32_t)(SCB->SHP[_SHP_IDX(IRQn)]&~(0xFFUL<

這里的參數IRQn為中斷ID號,可以為負,也可以為正。當IRQn為負時,設置系統異常的優先級,當IRQn大于等于0時,設置外設中斷優先級,芯片廠商會提供中斷向量表IRQn\_Type,應用層只需要調用即可;priority是0、1、2、3,函數內部會自動移位到對應的優先級最高2位。

方法一:
voidNVIC_SetPriority(TIM1_CC_IRQn,3);//設置#14中斷的優先級為0xC0
方法二:
voidNVIC_Config(void)
{NVIC_InitTypeDefNVIC_InitStructure;

NVIC_InitStructure.NVIC_IRQChannel=TIM1_CC_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPriority=3;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);
}

設置好中斷優先級后,用戶還可以讀取當前已經設置的中斷優先級。

審核編輯:湯梓紅

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

    關注

    68

    文章

    19535

    瀏覽量

    231857
  • 寄存器
    +關注

    關注

    31

    文章

    5390

    瀏覽量

    121900
  • 內核
    +關注

    關注

    3

    文章

    1391

    瀏覽量

    40601
  • 中斷
    +關注

    關注

    5

    文章

    900

    瀏覽量

    41988
  • Cortex-M0
    +關注

    關注

    4

    文章

    124

    瀏覽量

    38958

原文標題:Cortex-M0中斷控制和系統控制(二)

文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

    Controller)集成在Cortex-M0處理器里,它與處理器內核緊密相連,并且提供了中斷控制功能以及對系統異常的支持。處理器的NV
    發表于 07-29 17:14

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

    每一個外部中斷都有一個對應的優先級寄存器,Cortex-M0NVIC-IPR共有8個寄存器,而每個寄存器管理4個IRQ中斷,所以M0的IR
    發表于 07-29 18:49

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

    Cortex-M0處理器允許兩種形式的中斷請求:電平觸發和脈沖輸入。電平觸發是外設的中斷請求有持續的電平信號,若電平信號在處理器從ISR返回之前沒有被取消,則中斷返回后將再次觸發已經服
    發表于 07-29 18:51

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

    Cortex-M0系統控制塊(SCB)是內核外設的主要模塊之一,提供系統控制以及系統執行信息,包括配置,控制,上報
    發表于 08-06 14:49

    靈動微課堂 (第180講) | Cortex-M0中斷控制系統控制(六)

    MRS, MSR, 1.2存儲器訪問確保訪問的內存地址是對齊的,這一很重要。在ARMv6-M架構(包括Cortex-M0Cortex-M0處理器)上不支持非對齊傳輸。任何未對齊內存
    發表于 08-23 11:02

    Cortex-A7中斷系統知識點匯總,看完你就懂了

    Cortex-A7中斷系統知識點匯總,看完你就懂了
    發表于 11-29 08:00

    基于Cortex-M0中斷系統的IP集成與中斷服務函數設計

    為極術線上技術分享干貨匯總(含PPT下載及視頻回放及線下活動資料下載,持續更新,歡迎收藏~整理:極術社區集創賽Arm杯彭吉安-(集創賽)基于Cortex-M0中斷系統的IP集成與中斷
    發表于 12-14 07:15

    恩智浦推出基于Cortex-M0控制LPC1100微控制

    恩智浦推出基于Cortex-M0控制LPC1100微控制器系列 恩智浦半導體(NXP Semiconductors)今天宣布,旗下基于ARM Cortex-M0的LPC1100微
    發表于 11-18 09:04 ?1552次閱讀

    cortex-m0加密

    cortex-m0加密
    發表于 10-13 15:08 ?5次下載
    <b class='flag-5'>cortex-m0</b>加密

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

    ARMv7-M和ARMv6-M都有的SCB寄存器名稱相同,但是ARMv7-M寄存器數量和有效控制bit位比ARMv6-M豐富了不少。
    發表于 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'>系統控制</b>(四)

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

    每一個外部中斷都有一個對應的優先級寄存器,Cortex-M0NVIC-IPR共有8個寄存器,而每個寄存器管理4個IRQ中斷,所以M0的IR
    發表于 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'>系統控制</b>(二)

    Cortex-M0中斷控制系統控制

    Cortex-M0采用Armv6-M架構,優先級寄存器配置位有8位,但是有效位只有最高2位,這個地方很多人使用了Cortex-M3后一直也認為Cortex-M0也是最高3或4位有效位
    的頭像 發表于 04-24 11:20 ?3237次閱讀

    介紹Cortex-M0中斷控制知識

    中斷一般是由硬件(例如外設、外部引腳)產生,當某種內部或外部事件發生時,MCU的中斷系統將迫使 CPU 暫停正在執行的程序,轉而去進行中斷事件的處理
    的頭像 發表于 03-16 13:39 ?1735次閱讀

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

    本文詳細介紹Cortex-M3中斷優先級相關知識
    的頭像 發表于 03-23 11:45 ?2942次閱讀
    <b class='flag-5'>Cortex-M</b>3<b class='flag-5'>中斷</b>優先級的相關<b class='flag-5'>知識</b>

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

    Cortex-M0系統控制塊(SCB)是內核外設的主要模塊之一,提供系統控制以及系統執行信息,包括配置,控制,上報
    的頭像 發表于 03-25 15:14 ?6083次閱讀
    主站蜘蛛池模板: 2021精品高清卡1卡2卡3麻豆 | 成人影片迅雷下载 | 人妻夜夜爽天天爽三区麻豆AV网站 | 亚洲视频一区 | 99久久无码一区人妻A片竹菊 | 欧美高清videos 360p | 68日本xxxxxxxx79 | 国产在线自天天人人 | 无限资源在线观看播放 | 国产自啪偷啪视频在线 | 日韩欧美中文字幕在线二视频 | 俄罗斯女人与马Z00Z视频 | 再深点灬舒服灬太大了在线视频 | 亚洲欧美无码2017在线 | 久久99国产亚洲高清观着 | 性生交片免费无码看人 | 高清无码色大片中文 | 亚洲 日韩 国产 中文视频 | 爱情岛论坛网亚洲品质 | 超碰人人草在线视频 | 2021精品国产综合久久 | 亚洲欧洲精品成人久久曰影片 | 白丝制服被啪到喷水很黄很暴力 | 大香伊蕉在人线国产最新 | 狠狠久久免费视频在线 | 欧美精品专区第1页 | 99热久久视频只有精品6国产 | 一本色道久久综合亚洲AV蜜桃 | 亚洲精品成人无码区一在线观看 | 草民电影网午夜伦理电影网 | 麻豆产精品一二三产区区 | 国产免费高清mv视频在线观看 | 久久精品热播在线看 | 亚洲精品天堂在线观看 | 91嫩草国产在线观看免费 | 亚洲女初尝黑人巨磁链接 | 成人毛片手机版免费看 | 欧美动物交ideos | 色翁荡息又大又硬又粗又爽电影 | 亚洲国产成人精品无码区APP | 2021国产精品一卡2卡三卡4卡 |