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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Cortex-M3-建立向量表

發布時間:2024/4/13 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cortex-M3-建立向量表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Cortex-M3-建立向量表

  • 如果在程序執行的從頭到尾,都只給每個中斷提供固定的中斷服務程序(這也是目前單片機開發的絕大多數情況),則可以把向量表放到 ROM 中。在這種情況下不需要運行時重建向量表。然而,如果想讓自己的設備能隨機應變地對付各種復雜情況,就常常需要動態地改變中斷服務例程,更新向量表就是必需的了。此時,向量表必須被轉移到可讀寫存儲器中(如內存)。
  • ? 在把向量表重定位之前,往往要把現有的向量表往新的位置復制一份。需要拷貝的向量主要是系統異常的服務例程,如各種 fault 的、NMI 的以及 SVC 的等等。如果沒有建立好這些向量就啟用了新的向量表,就可能會在響應異常時把不可預料的地址取出,程序極有可能跑飛。
  • ?當我們把所有必要的向量都填好,就可以啟用了新的向量表了。然而繼續往里面加入新的中斷向量,例如:
; 該子程序根據異常類型建立相應的異常向量 ; 對于IRQ,異常號=中斷號+16 ; 入口條件:R0=異常類型編號 ; 入口條件:R1=向量地址 PUSH {R2, LR} LDR R2, =0xE000ED08 ; 向量表偏移量寄存器的地址 LDR R2, [R2] ; 獲取向量表的首地址 STR R1, [R2, R0, LSL #2] ; 在VectTblOffset+ExcpType*4處寫入向量 ; ExcpType*4 POP {R2, PC} ; Return

總結

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

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