まだデバックやシミュレーションをしていないが、EDKの使い方もだいぶ学習してきたので、
”MicroBlaze uClinux and Spartan-3E Starter Kit”を参考に、EDKでuClinux を動作させようと思いやってみた。
このページにあるXPSのプロジェクトのバージョンはEDK8.1iだったので、自動変換で10.1iに変換してみたがエラーが出てしまう。ページを見ると、uClinuxのブートイメージはXMDというデバッカー経由でDDR SDRAMにロードするようなので、元のsystem.mhsファイルを見ながら、それらしく周辺のアドレスや周辺デバイスを追加すればいけるのでは?と思いやってみることにした。
まずは、例によってXPSで新しいプロジェクトを作り、BSBを起動する。今までどおりに設定していくが、今までと違うところを示す。まずはRS232Cの設定画面で115200bpsに変更した。次にDCEのみUse interrupt にチェックを入れた。

Ethernet_MACのUse interrupt にチェックを入れた。

Add Internal Peripherals ダイアログでAdd Peripheral... ボタンをクリックする。Add Peripheral ダイアログが起動するので、プルダウンメニューからXPS_TIMERを選択する。

XPS_TIMERを選択した状態でOKボタンをクリックする。

Peripherals に xps_timer_1が追加される。Timer mode をOne timer is present にラジオボタンを変更し、Use inpterrupt にチェックを入れる。

BSBウィザードが終了して、各デバイスのアドレスが決定した。今度はこれをダウンロードしたuClinux を動作させるXPSプロジェクトと同じになるようにアドレスを変更する。まずはdebug_module のアドレスを変更しよう。XPSで右のSystem Assembly View のAddress タブをクリックし、各デバイスのアドレスを表示させる。debug_moduleをダブルクリックする。

debug_moduleのダイアログが起動する。次にSystemタブをクリックするとBase Address とHigh Addressが表示される。下の図で右のNotepad++ の画面がuClinux を動作させるXPSプロジェクトのsystem.mhs の内容だ。それによるとdebug_module はC_BASEADDRが0x41400000、C_HIGHADDRが0x4140ffff となっている。それを先ほどのdebug_moduleのダイアログのBase Address とHigh Addressに入力する。

XPSに戻ると書き換わっています。

DDR SDRAMをダブルクリックすると、タブがいっぱいあるダイアログが開く。AdvancedタブのAddresses Configurationタブをクリックして、Use Common Port Addresses のチェックをはずして、Port Addressesの中のBase AddrとHight Addrを変更する。

全部アドレスを変更した後がこれ。

これで全部アドレスを変更できたので、反映させるためにDevice Configuration -> Update Bitstream を実行する。これでコンフィグするビットストリーム(ビットファイル)が出来たので、Spartan3E Starter Kit の電源を入れてビットファイルをコンフィグするために Device Configuration -> Download Bitstream を実行する。これでFPGAをコンフィグすることが出来た。
uClinux はDebugger でイメージをロードするようだ。まずはデバック・オプションを設定する。Debug -> XMD Debug Option... を選択する。

たぶんデフォルトだと思ったが、Connection Type はHardware を選択する。他は下図の通り。

Debug -> Launch XMD... を選択し、XMDを立ち上げる。

XMDが立ちあがるので、
”MicroBlaze uClinux and Spartan-3E Starter Kit”に載っている方法でDDR SDRAMへuClinux のイメージを転送してRUNする。

Tera Term の表示はどうなったかというと、uClinux が途中まで立ち上がっているが、Calibrating delay loop... で止まっている。

今のところ、どうして止まっているかわからない。期待された方がいたら申し訳ない。
もう少しで動きそうなので、もっとよく調べてみようと思う。
- 2008年12月17日 05:50 |
- EDK
-
| トラックバック:0
-
| コメント:2
もう少しですね。
Linuxが動くと楽しい事が出来るので、頑張って下さい!
- 2008/12/17(水) 23:31:51 |
- URL |
- Tomcat #-
- [ 編集 ]
Tomcatさん、ありがとございます。
キャッシュを入れたり、いらないものを取ったりして、もう少しやってみます。
WRC、スバルやスズキがいなくなって残念です。これで楽しみが1つ減ってしまいました。
- 2008/12/18(木) 09:13:35 |
- URL |
- marsee #-
- [ 編集 ]