日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Cortex-M3异常中断及向量表定义

發布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cortex-M3异常中断及向量表定义 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


Cortex‐M3 支持大量異常,包括16‐4‐1=11 個系統異常,和最多240 個外部中斷——簡稱IRQ。具體使用了這240 個中斷源中的多少個,則由芯片制造商決定。由外設產生的中斷信號,除了SysTick 的之外,全都連接到NVIC 的中斷輸入信號線。典型情況下,處理器一般支持16 到32 個中斷,當然也有在此之外的。作為中斷功能的強化,NVIC 還有一條NMI 輸入信號線。NMI 究竟被拿去做什么,還要視處理器的設計而定。在多數情況下,NMI 會被連接到一個看門狗定時器,有時也會是電壓監視功能塊,以便在電壓掉至危險級別后警告處理器。NMI 可以在任何時間被激活,甚至是在處理器剛剛復位之后。

作為中斷功能的強化,NVIC 還有一條NMI 輸入信號線。NMI 究竟被拿去做什么,還要視處理器的設計而定。在多數情況下,NMI 會被連接到一個看門狗定時器,有時也會是電壓監視功能塊,以便在電壓掉至危險級別后警告處理器。NMI 可以在任何時間被激活,甚至是在處理器剛剛復位之后。

下表列出了Cortex-M3可以支持的所有異常和外部中斷清單。有一定數量的系統異常是用于fault處理的,它們可以由多種錯誤條件引發。NVIC還提供了一些fault狀態寄存器,以便于fault服務例程找出導致異常的具體原因。



當CM3內核響應了一個發生的異常后,對應的異常服務例程(ESR)就會執行。為了決定ESR的入口地址,CM3使用了“向量表查表機制”。這里使用一張向量表。向量表其實是一個WORD(32位整數)數組,每個下標對應一種異常,該下標元素的值則是該ESR的入口地址。向量表在地址空間中的位置是可以設置的,通過NVIC中的一個重定位寄存器來指出向量表的地址。在復位后,該寄存器的值為0。因此,在地址0處必須包含一張向量表,用于初始時的異常分配。


舉個例子,如果發生了異常11(SVC),則NVIC會計算出偏移移量是11x4=0x2C,然后從那里取出服務例程的入口地址并跳入。要注意的是這里有個另類:0號類型并不是什么入口地址,而是給出了復位后MSP的初值。

總結

以上是生活随笔為你收集整理的Cortex-M3异常中断及向量表定义的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。