ARM NVIC控制器(基於cortex M4)

2022-02-04 16:22:58 字數 2933 閱讀 1920

中斷暫存器的基位址為0xe000e000,所有中斷控制/狀態暫存器都只能在特權級下訪問(除軟體觸發中斷暫存器外),暫存器對映列表見表3-2。也可以參考cortex-m4使用手冊,並推薦使用cmsis函式來訪問相關功能。

表3-2  中斷暫存器對映

偏移量

名稱

位寬

型別

復位值

描述

0x100-0x11c

iser0-iser7

32r/w

0x00000000

中斷使能暫存器,暫存器0為(irq0~irq31),以此類推

0x180-0x19c

icer0-icer7

32r/w

0x00000000

中斷清除使能暫存器,暫存器0為(irq0~irq31),以此類推

0x200-0x21c

ispr0-ispr7

32r/w

0x00000000

中斷掛起暫存器,暫存器0為(irq0~irq31),以此類推

0x280-0x29c

icpr0-icpr7

32r/w

0x00000000

中斷掛起清除暫存器暫存器0為(irq0~irq31),以此類推

0x300-0x31c

iabr0-iabr7

32ro

0x00000000

中斷活動狀態暫存器暫存器0為(irq0~irq31),以此類推

0x400-0x4ef

ipr0-ipr59

32r/w

0x00000000

中斷優先順序暫存器0暫存器0為(irq0~irq3),以此類推

0xd08

vtor

32r/w

0x00000000

向量表偏移暫存器

0xd0c

aircr

32r/w

0x00000000

應用中斷控制暫存器

上表中將同類暫存器放在同一行描述,每個暫存器按4位元組偏移增加,使用者可自行計算出所需的暫存器位址偏移量。例如:要獲取ipr2的位址,則在ipr0的基位址偏移量上增加8個位元組,偏移量為0x400 + 0x8 = 0x408,則其實際位址為0xe000e408,其餘暫存器偏移量計算以此類推。

偏移量:0x100

復位值:0x00000000

位網域名稱稱

復位值型別

描述31:0

setena

0x00000000

r/w中斷使能控制:

1:使能中斷

0:不影響

偏移量:0x180

復位值:0x00000000

位網域名稱稱

復位值型別

描述31:0

clrena

0x00000000

r/w中斷清除使能控制:

1:禁止中斷

0:不影響

偏移量:0x200

復位值:0x00000000

位網域名稱稱

復位值型別

描述31:0

setpend

0x00000000

r/w中斷掛起控制:

1:中斷掛起

0:中斷未掛起

偏移量:0x280

復位值:0x00000000

位網域名稱稱

復位值型別

描述31:0

clrpend

0x00000000

r/w中斷掛起清除控制:

1:清除掛起中斷

0:不清除掛起中斷

偏移量:0x300

復位值:0x00000000

位網域名稱稱

復位值型別

描述31:0

active

0x00000000

ro中斷掛起清除控制:

1:isr執行中或者被搶占或者壓棧

0:isr未執行或者壓棧

偏移量:0x400~0x41c

復位值:0x00000000

位網域名稱稱

復位值型別

描述7:0

pri_n

0x00

r/w中斷n的優先順序控制,受aircr影響。

偏移量:0xd08

復位值:0x00000000

位網域名稱稱

復位值型別

描述31:30

reserved

0x0r/w

保留29

tblbase

0r/w

向量表對映域:

0:code

1:ram

28:7

tbloff

0x000000

r/w向量表偏移位址

6:0reserved

0x00

r/w保留

偏移量:0xd0c

復位值:0x00000000

位網域名稱稱

復位值型別

描述31:16

vectkey

0x0000

r/w暫存器配置解鎖控制。寫該暫存器時,該段位域須為0x05fa,否則寫操作被忽略。

讀該暫存器時,該段位域值為0xfa05

15:2

reserved

0x0000

r/w保留

1vectclr

0r/w

清除正在執行的中斷:

1:清除所有中斷資訊,包括nmi和fault

0:不清除

0vectreset

0r/w

系統復位位,復位整個系統(除除錯系統):

1:復位系統

0:不復位系統

在除錯時,當core被掛起(halted)時才能寫該位

jmeter控制器 交替控制器

1.簡單使用 如下圖,設定1個執行緒,執行3次 執行結果如下圖 2.巢狀乙個控制器,不勾選忽略子控制器 測試計畫如下圖 巢狀乙個迴圈控制器,迴圈次數設定3次 執行緒組設定1個執行緒,執行5次 執行結果如下圖 總結 交替執行到迴圈控制器時,迴圈執行結束後,在進行下一次的交替。3.巢狀乙個控制器,勾選忽...

子控制器 和 父控制器

1 新增子控制器很簡單 分兩步 乙個是 view 乙個是 controller 1 self addchildviewcontroller tablectr 2 self.view addsubview tablectr.view 最後不要忘了加一行 tablectr didmovetoparent...

控制器相關(控制器的建立 跳轉 導航控制器 等)

控制器常見的建立方式有以下幾種 通過storyboard建立 直接建立 viewcontroller cz viewcontroller alloc init 指定xib檔案來建立 viewcontroller cz viewcontroller alloc initwithnibname view...