**:
64+的中斷系統和以往的不同,中斷是基於事件的。整個硬體cpu接收15個中斷,實際使用者可用12個可遮蔽中斷,但系統可以支援最多128個中斷源。64+將中斷源視為事件"event",128個事件可以分別通過配置連線到12個可遮蔽中斷。而128個事件每連續32個可以合併到四個固定的事件中,即event0(對應事件號0-31)、event1(對應事件號32-63)、event2(對應事件號64-95)、event3(對應事件號96-127)(實際最大有效中斷源為124個)。這樣可以通過數量有限的cpu中斷來管理大量的中斷源,使用靈活。下圖是系統事件對映圖:
中斷控制器通過上述這些事件向c64x+ cpu輸出如下訊號:
1.乙個可遮蔽,硬體異常(excep)
2.12個可遮蔽硬體中斷(int4到int15)
3.乙個可用於中斷或才異常的不可遮蔽中斷(nmi)
4.乙個復位中斷(reset)
中斷控制器包括以下幾個模組,用於將事件路由到中斷或者異常:
1.中斷選擇器:將系統事件路由到12個可遮蔽中斷中
2.事件組合器:將大量的事件減小到四個組合後的事件。
3.異常組合器:系統所有事件異常組合成乙個cpu的異常輸入
以下是中斷控制器的框圖:
'在dsp/bios下進行基於事件的中斷配置如下(假設我們要配置的是idma1傳輸完成中斷, idma1的完成中斷事件號是14,將其路由到int4):
1.首先,在dsp/bios圖形配置檔案中選擇hwi-hardware interrupt service routine manager,選擇hwi_int4,右鍵它,點「properties」,開啟屬性編輯框。
2.其次,在"genral"選項中的「interrupt selection number 」中輸入0,(因為idma1事件號是14,屬於event0),點選「應用」,這時"function"中會自動生成"_ecm_dispatch"。點「確定」退出屬性設定。
3.選擇「ecm-event combiner manager」,點右鍵「properties」,選擇屬性框中"enable event combiner manager"中的核取方塊
4.在原始檔中編寫idma1中斷服務程式,isr_idma1(),
5在event14中點右鍵,選擇"properties",開啟屬性框,在"function"中輸入"_isr_idma1"."arg"框中輸入14(事件號),同時選中"unmask event source「,點確定
6.設定完畢,執行程式,當idma1傳輸完成即可執行isr_idma1函式
TI C64X DSP中斷向量表配置 硬體中斷
ti c64x dsp中斷向量表配置 硬體中斷 2007 04 09 11 29 1.編寫中斷服務例程 在.c原始檔中編寫isr函式c intxx,用於中斷處理,如 interrupt void c intxx void 注 對於硬體中斷而言,xx 00 15。2 初始化中斷向量表,並在記憶體段中的...
c 獲取硬體資訊
using system using system.runtime.interopservices using system.management namespace hardware 取cpu編號 public string getcpuid return strcpuid catch end m...
c 獲取硬體資訊
using system using system.runtime.interopservices using system.management namespace hardware 取cpu編號 public string getcpuid return strcpuid catch end m...