1樓:匿名使用者
給你個文字說明
由軟體或硬體驅動的訊號,可暫停目前執行的主程式,轉而去執行一箇中斷服務子程式
中斷分類:
▲ 可遮蔽中斷:可用軟體加以遮蔽或解除遮蔽。
▲ 非遮蔽中斷:這些中斷不能夠被遮蔽。c28x將立即響應該種中斷並轉入相應的子程式去執行。所有用軟體呼叫的中斷都屬於該類中斷。
處理中斷過程:
1.接收中斷請求:由軟體中斷(從程式**中)或者硬體中斷(從一個引腳或一個基於晶片的裝置)提出請求去暫停當前主程式的執行。
2.響應中斷:c28x必須能夠響應中斷請求。如果中斷是可遮蔽的,則必須滿足一定的條件,按照一定的順序去進行測試。而對於非遮蔽硬體中斷和軟體中斷,c28x會立即作出響應。
3.準備執行中斷服務程式並儲存暫存器值。
(1)完整地執行完當前指令,清除流水線中還沒有到達第二階段的所有指令。
(2)將暫存器st0、t、ah、al、ph、pl、ar0、arl、dp、stl、dbgstat、pc和ier的內容儲存到堆疊中,以便自動儲存主程式的大部分內容。
(3)取回中斷向量並把它放入程式暫存器pc中。
4.執行中斷服務子程式:c28x進入預先規定的向量地址,並且執行已寫好的中斷服務程式isr。
一、中斷向量
▲ c28x支援32箇中斷向量,包括復位向量。每一向量是一個22位的地址,該地址是相應中斷服務程式isr的入口地址。每一個32位的向量被儲存在一個連續地址中。見書中表4-1-1
▲中斷向量地址的低16位儲存該向量的低16位,高地址則儲存它的高6位。當—箇中斷被確定後,其22位的向量被取回,而地址的高10位被忽略。
▲向量表可以映像到程式空間的底部或頂部,這取決於狀態暫存器stl的向量映像位vmap,如果vmap位是0,向量就映像在以000000h開始的地址上;如果其值是1,向量就映像到以3fffc0h開始的地址上。
▲ vmap位可以由setc vmap指令進行置位,由clr cvmap指令進行復位。vmap的復位值是1。
二、可遮蔽中斷
▲ 14個通用中斷——intl~intl4
為**而設計的中斷——dlogint(資料標誌中斷)和tosint(實
時作業系統中斷)是。
▲ 中斷暫存器:
√ 中斷標誌暫存器ifr——l6位暫存器ifr包含的標誌位表明相應中斷在等待cpu的確認。外部輸入線intl~intl4在cpu的每—個時鐘週期都被取樣。如果識別出—箇中斷訊號,ifr相應的位就被置位和鎖存。
dlogint或rtosint,cpu片內分析邏輯送來的訊號使得相應標誌位被設定和鎖存。
√ 中斷使能暫存器ier——包含的每一位為可遮蔽中斷進行使能和關閉。
√ 除錯中斷使能暫存器dbgier——包含的每一位為可遮蔽中斷進行使能和關閉。表明了當cpu處於實時**模式時哪一個中斷可以利用。
▲ 可遮蔽中斷也利用狀態暫存器stl的0位,即中斷全域性遮蔽位intm,可用來進行全域性使能中斷和關閉中斷。
√當intm=0時,這些中斷全域性使能;
√當intm=1時,這些中斷全域性關閉。
▲ 在ifr中一個標誌關閉後,直到ier、dbgier和intm位被使能,否則相應的中斷將不再響應。
中斷標誌暫存器(ifr)
▲ 為了識別未確認中斷,可以利用指令push ifr,然後測試堆疊的值。
▲ 運用or ifr指令來設定ifr位,
▲ 利用指令and ifr,#0或硬體復位可以對所有的未決中斷進行清0。
注意:當通過指令trap發出中斷請求時,如果ifr的相應位被置位,cpu並不會自動清除它。如果有一個應用請求,它的ifr已被清0,則必須在中斷服務子程式中將相應位清0。
2樓:匿名使用者
pie保留中斷作為軟體中斷和設定其他外設中斷方法一致,注意刪除for迴圈的測試語句。另外,利用trap指令可以進入user中斷作為軟體中斷。
2019的2019方乘2019的2019次方的尾數是多少
日月同輝 2019的2020次方乘2018的2019次方的尾數 個位數字 與9的2020次方乘8的2018次方的尾數一樣。底數是9的冪,其尾數是按9 1 9 1 9 1 的規律排列的 底數是8的冪,其尾數按8 4 2 6 8 4 2 6 的規律排列的。2020 2 1010 無餘數 2019 4 5...
2019x 2019y 2019,且2019x 2019y 2019 x多少,y多少
2009x 2008y 2007 2011x 2010y 2009 得 4020x 4018y 4016 2010x 2009y 2008 得 2x 2y 2 x1005 得 y 2將y 2代入 得 x 0 x 0,y 2 2009x 2008y 2007,12011x 2010y 2009.2 2...
已知a 2019n 2019,b 2019n 2019,c 2019n 2019,求a 2 b 2 c 2 ab bc ac的值
戀雲 已知a 2013n 2010,b 2012n 2011,c 2013n 2012 a b n 1,c b n 1,c a 2a 2 b 2 c 2 ab bc ac 1 2 2a 2 2b 2 2c 2 2ab 2bc 2ac 1 2 a b c b c a 1 2 n 1 n 1 2 n 3...