c64x DSP BIOS硬體中斷的配置

2022-04-10 01:57:27 字數 1247 閱讀 4627

**:

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...