[Suzaku:00667] Re: スターターキットガイドでのエラー

mio email@hidden
2006年 11月 10日 (金) 20:16:40 JST



Hideo Furuhashi wrote:
> SUZAKU STARTER KITを購入させていただき、「スターターキットガイド(FPGA開発
> 編)」で勉強させていただいています。
> 「13章こんなこともやってみよう13,1IPコア(ハード版)」まで進んだのですが、
> MSSファイルでopb_sil00uをopb_sil00hに変更するとMSSファイルエラーになり、
> 「ERROR:MDT - C:\SuzakuV\sz310-h-20061010\xps_proj.mss line 85 - Can not
> find MDD for the driver opb_sil00h 1.00.a」と出てしまいます。
> 
> 使用しているのは
> ・SZ310
> ・ISE8.2.03i
> ・EDK 8.2.02i
> 
> ファイル類はホームページより最新版をダウンロードしています。
> 
> opb_sil00hのMDDファイルが無いので、エラーが出るのは当然なような気がします
> が、このガイドの内容はあっているのでしょうか?それとも、何かファイルを入れ忘
> れているのでしょうか。
> 
> -------
> 古橋
> 
> 
先ほどは大変失礼いたしました。。

・SZ310
・ISE8.2.03i
・EDK8.2.02iで確かめてみました。

確かにエラーになりました。ご指摘大変ありがとうございます。
マニュアルに誤記、およびコアにバグがありました。
修正したコアを添付いたしますので、差し替えて使ってください。
今のままのコアですと、スイッチを押した時にSTOPするLEDが変になっています。。
さらに、以下のように作業してください。

----------------------
ハードウェアの変更
----------------------
・MSSファイルの変更
opb_sil00hではドライバを使用していないので、ドライバの記述を削除します。
以下の記述を削除してください。

BEGIN DRIVER
 PARAMETER DRIVER_NAME = opb_sil00
 PARAMETER DRIVER_VER = 1.01.a
 PARAMETER HW_INSTANCE = opb_sil00_0
 PARAMETER int_handler = timer_interrupt_handler, int_port = IP2INTC_Irpt
END

・MHSファイルの変更
opb_sil00hを使うように変更します。opb_sil00hは割り込みを使用していないので、
割り込みの記述も削除します。

BEGIN opb_sil00h         ←sil00hに変更
 PARAMETER INSTANCE = opb_sil00_0
 PARAMETER HW_VER = 1.01.a    ←バージョンを確認
 PARAMETER C_BASEADDR = 0xFFFFD000
 PARAMETER C_HIGHADDR = 0xFFFFD1FF
 BUS_INTERFACE SOPB = d_opb_v20
 PORT SEG = SEG
 PORT nSEL = nSEL
 PORT nLE = nLE
 PORT nSW = nSW
 PORT nCODE = nCODE
            ←PORT IP2INTC_Irpt = sil_intr(割り込み)の記述を削除
END

------------------------------------

BEGIN opb_intc
 PARAMETER INSTANCE = system_intc
 PARAMETER HW_VER = 1.00.c
 PARAMETER C_BASEADDR = 0xFFFF3000
 PARAMETER C_HIGHADDR = 0xFFFF30FF
 BUS_INTERFACE SOPB = d_opb_v20
 PORT Intr = opb_uartlite_0_Interrupt & MAC_INTERRUPT_IN &
console_uart_interrupt & timer_interrupt       ←sil_intr &の記述を削除
 PORT Irq = interrupt
END

----------------------
ソフトウェアの変更
----------------------

Sourcesからinterrupt.cを
Headersからinterrupt.hを削除

・main.c
割り込みに関する記述を全部削除して下さい。
 #include "interrupt.h"
 interrupt_init();
 interrupt_clean(); ×3
の全部で5箇所あるので、探して削除してください。


これで動作することを確認いたしました。
大変お手数をおかけして申し訳ありませんが、
この手順で試してみてください。

マニュアル、IPコアについては11/17日ごろに
修正したものをダウンロードサイトにおく予定になっております。

マニュアルは現在色々と修正中ですので、
ご要望、ご指摘、ご感想等お聞かせいただけると
大変ありがたいです。


-- 
mio
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: opb_sil00h_v1_01_a.zip
型:         application/x-zip-compressed
サイズ:     13739 バイト
説明:       無し
URL:        <http://lists.atmark-techno.com/pipermail/suzaku/attachments/20061110/4c8bc96b/attachment.bin>


suzaku メーリングリストの案内