2010年6月19日土曜日

MicroBlaze上でFreeRTOSを動作させるための作業5

FreeRTOSのデモプロジェクトにあるMicroBlazeポートで割り込みコントローラがどのように使われているのかを調べました。
system.mhsを見ると以下のようになっています。

BEGIN opb_intc
PARAMETER INSTANCE = opb_intc_0
PARAMETER HW_VER = 1.00.c
PARAMETER C_BASEADDR = 0x41200000
PARAMETER C_HIGHADDR = 0x4120ffff
PARAMETER C_HAS_IPR = 0
BUS_INTERFACE SOPB = mb_opb
PORT Irq = Interrupt
PORT Intr = RS232_Uart_Interrupt & opb_timer_1_Interrupt
END

この事から一つの割り込みコントローラでRS-232CとTimer1の割り込みを制御していることがわかります。そこで「Ports」タブにあるxps_intr_0のIntrを下記のように設定しました。


同時にsystem.mhsからTimerのパラメータも確認しておきます。
BEGIN opb_timer
PARAMETER INSTANCE = opb_timer_1
PARAMETER HW_VER = 1.00.b
PARAMETER C_COUNT_WIDTH = 32
PARAMETER C_ONE_TIMER_ONLY = 1
PARAMETER C_BASEADDR = 0x41c00000
PARAMETER C_HIGHADDR = 0x41c0ffff
BUS_INTERFACE SOPB = mb_opb
PORT OPB_Clk = sys_clk_s
PORT Interrupt = opb_timer_1_Interrupt
END
32ビットカウンタで1つのタイマーを設定しています。

0 件のコメント:

コメントを投稿