ver. 1.0 2008 年 6 月 1. はじめに この資料では ホスト PC に存在する ハードウェアのコンフィギュレーション データ ファイルをホスト ファイルシステムの機能を使用して Nios II システム メモリへ転送し そのコンフィギュレーション データを Nios II を使って EPCS へプログラムする手法を紹介します この資料は Quartus II ver.7.2 SP3 Nios II IDE ver.7.2 SP3 の環境に対応しています 尚 Nios II の開発環境で提供されているホスト ファイル システムの機能は Nios II IDE をデバッグ モードで動作させているときにのみ 使用できるソリューションです ご注意ください USB-Blaster TM 経由 開発ホスト PC Nios II Page 1 of 16 Altima Corporation
2. 作業環境 アルテラのコンフィギュレーション ROM である EPCS と Nios II のシステムを接続するために Nios II のシステムには EPCS コントローラのペリフェラルが必要です 今回 その条件を満たしている Nios II のハードウェア リファレンスデザイン standard を使用します ターゲット ボードは Nios II 開発ボード Cyclone エディション (EP1C20) を使用します 3. 操作フロー この資料での操作フローは以下になります 1. Nios II の開発ボード用に用意されているリファレンス デザイン ( standard ) を インストール ディレクトリから作業フォルダへコピーします 2. Nios II 開発ボード (Cyclone エディション (EP1C20)) に実装されている EPCS4 のアクティブ シリアル (AS モード ) 用のコンフィギュレーション ファイルを作成します 3. Nios II IDE でソフトウェア プロジェクトを作成します 4. こちらで用意したソフトウェア ( epcs_program.c ) をビルドし デバッガを起動します 5. ソフトウェアを実行し コンフィギュレーション ファイルを EPCS へ書き込みます 6. Nios II 開発ボード (Cyclone エディション (EP1C20)) の電源を再投入し EPCS へ書き込んだコンフィギュレーション データによるコンフィギュレーションが成功することを確認します 4. 作業フロー 3 項で示した操作フローの順番で 作業を進めていきます 4-1. 環境の準備 1. ターゲットのハードウェア ( この資料では Cyclone エディション (EP1C20)) と USB-Blaster TM ホスト PC を接続し 電源を入れます 2. Nios II のリファレンス デザインである standard のプロジェクトをインストール ディレクトリから 作業フォルダへコピーします Nios II のインストール先 例 : altera 72 nios2eds examples vhdl niosii_cyclone_1c20 standard standard フォルダを作業フォルダ ( 例 : epcs_program_niosii ) へコピーします 3. ターゲット ボードへ.sof ファイルを書き込みます Quartus II の Tools メニュー Programmer をクリックし プログラマを立ち上げます ( 次頁参照 ) ver. 1.0 2008 年 6 月 Page 2 of 16 Altima Corporation
4. プログラマ ウィンドウには すでに リファレンス デザインの.sof ファイルが選択されています 5. Hardware Setup ボタンをクリックし USB-Blaster を設定します 6. Program/Configure へチェックを入れ Start をクリックします 7. 作業フォルダへコピーした standard のプロジェクト フォルダ内に Nios II IDE のワークスペース フォルダを workspace という名前で作成します ver. 1.0 2008 年 6 月 Page 3 of 16 Altima Corporation
8. standard のプロジェクト フォルダに software というフォルダを作成し こちらで用意したソフトウェアのサンプル ファイル (epcs_program.c) をコピーします 9. ここで コンフィギュレーション データを作成します 今回は standard フォルダにあらかじめ用意されているプロジェクトの sof ファイルから EPCS へ書き込むためのファイルを作成します Windows のスタート メニューから プログラム altera Nios II EDS 7.2 Nios II 7.2 Command Shell を選択します 10. cd コマンドにより sof ファイルが存在する standard フォルダへ移動します 例 :cd /cygdrive/g/epcs_program_niosii/standard ver. 1.0 2008 年 6 月 Page 4 of 16 Altima Corporation
11. sof2flash コマンドを使用し sof ファイルからヘキサ ファイルの.flash ファイルを作成します 例 : sof2flash epcs input=niosii_cyclone_1c20_standard.sof output=generate.flash offset=0x0 EPCS 用のコンフィギュレーション ファイルを作成しますので --epcs オプションを追加します --input で ハードウェアの.sof ファイル名を入力します --output で 生成させたい.flash の名前を入力します --ofset には EPCS 内のオフセットを入力します このコマンドを実行後 作業フォルダ内に generate.flash ファイルが生成されます 12. 生成された S レコード フォーマット ファイル ( 例 :generate.flash ) を nios2-elf-objcopy コマンドで バイナリ ファイルに変換します 生成させたいバイナリ ファイル名を入力します 例 :nios2-elf-objcopy I srec binary generate.flash generate_bin.bin ここで生成させたバイナリ ファイルは 後ほどソフトウェア プロジェクトへ移動させます 13. 作業フォルダへコピーした standard プロジェクト フォルダ内の NiosII_cyclone_1c20_standard.qpf をダブルクリックし Quartus II のプロジェクトを開きます ver. 1.0 2008 年 6 月 Page 5 of 16 Altima Corporation
14. プロジェクトが開いたら Tools メニュー SOPC Builder を選択します 15. SOPC Builder が開きますので EPCS コントローラのペリフェラルが存在していることを確認します ver. 1.0 2008 年 6 月 Page 6 of 16 Altima Corporation
4-2. ソフトウェア プロジェクトを作成し ソースをビルド 1. Nios II IDE でソフトウェア プロジェクトを作成します Windows のスタートメニューより プログラム altera Nios II EDS 7.2 Nios II 7.2 IDE を選択します 2. Nios II IDE のワーク スペースを設定します File メニュー Switch Workspace を選択します 3. Workspace Launcher のウィンドウで Browse ボタンより 先程作成した workspace フォルダを選択し OK ボタンをクリックします ver. 1.0 2008 年 6 月 Page 7 of 16 Altima Corporation
4. Welcome ウィンドウが表示されますので 右上の Workbench をクリックし このウィンドウを閉じます 5. File メニュー New Project を選択します 6. New Project ウィンドウが表示されますので Nios II C/C++ Application を選択し Next をクリックします ver. 1.0 2008 年 6 月 Page 8 of 16 Altima Corporation
7. Name 欄に ソフトウェア プロジェクト名 ( 例 :epcs_program_test ) を入力し Browse ボタンより このハードウェア リファレンス デザイン (standard) の ptf ファイルを選択します Select Project Template 欄から Blank Project を選択し Finish をクリックします 8. epcs_program_test のフォルダに epcs_software.c ファイルをエクスプローラ上で選択し マウスでドラッグ アンド ドロップします 同様に 前の項目で作成した ハードウェアのコンフィギュレーション バイナリ ファイルをこのフォルダへコピーします ドラック & ドロップ ver. 1.0 2008 年 6 月 Page 9 of 16 Altima Corporation
9. ソフトウェア プロジェクトを右クリックし Refresh を選択すると バイナリ ファイルが表示されるようになります 10. epcs_program_test_syslib を選択し 右クリック Properties をクリックします ver. 1.0 2008 年 6 月 Page 10 of 16 Altima Corporation
11. Properties for epcs_program_test_syslib ウィンドウが表示されますので 左枠の System Library を選択します ホスト ファイルシステムの機能を使用するための設定を行います Software Components をクリックします 12. Software Components ウィンドウの Add this software component にチェックを入れ /mnt/host のパスが表示されている状態で OK をクリックします ver. 1.0 2008 年 6 月 Page 11 of 16 Altima Corporation
13. ソフトウェア コードをビルドします ソフトウェア プロジェクト フォルダを選択し マウスで右クリック Build Project をクリックします 4-3. ソフトウェアの実行 1. ソフトウェア デバッガを起動し ソフトウェアを実行します Nios II IDE をデバッグモードで動作させないとホスト ファイルシステムを使用できませんのでご注意ください 2. ソフトウェア プロジェクトを選択した状態で Run メニュー Debug を選択します 3. Debug ウィンドウが表示されたら Nios II Hardware を選択し ダブル クリックします ver. 1.0 2008 年 6 月 Page 12 of 16 Altima Corporation
4. ソフトウェア プロジェクトが選択された状態でウィンドウが表示されますので ウィンドウ右下の Debug をクリックして デバッガを起動します 5. デバッグ ウィンドウへ切り替わる際に 以下のメッセージ ウィンドウが表示されたら Yes をクリックしてください ver. 1.0 2008 年 6 月 Page 13 of 16 Altima Corporation
6. デバッガの Resume アイコンをクリックし ソフトウェアを実行します 7. デバッガを停止させます プログラムが実行され Console ウィンドウへ Program Finish! と表示されたことを確認します Debug ウィンドウ内で マウスで右クリック Terminate and Remove をクリックします ver. 1.0 2008 年 6 月 Page 14 of 16 Altima Corporation
4-4. 動作確認ターゲット ボードの電源を切り 再投入します 今回のターゲット ボードである Nios II 開発ボード (Cyclone エディション (EP1C20)) の EPCS からのコンフィギュレーションが成功すると User という LED が点滅します これで EPCS からのコンフィギュレーションが実行されたことになります 5. まとめ ホスト ファイル システムの機能は Nios II IDE のデバッグ モードでのみ使用可能となりプログラム内で使用するパスを Nios II IDE で設定する必要があります 例 : fp_bin = fopen ("/mnt/host/generate_bin.bin", "r"); ハードウェアのコンフィギュレーション バイナリ ファイルは Nios II Command Shell 上で sof2flash nios2-elf-objcopy の 2 つのスクリプトを使用して生成させます Nios II からバイナリデータを EPCS へプログラムするために alt_flash_write のマクロを使用しています 今回 EPCS へ書き込んだコンフィギュレーション データは リファレンス デザインでしたが デザインの異なるコンフィギュレーション データを EPCS へプログラムすることで EPCS への書き換えが成功することを より実感できると思います 今回の資料を通して Nios II を使用し EPCS へプログラムができる事 ホスト ファイル システムが利用できる事が ご理解いただけたかと思います ver. 1.0 2008 年 6 月 Page 15 of 16 Altima Corporation
弊社より資料を入手されましたお客様におかれましては 下記の使用上の注意を一読いただいた上でご使用ください 2. 本資料は非売品です 許可無く転売することや無断複製することを禁じます 3. 本資料は予告なく変更することがあります 4. 本資料の作成には万全を期していますが 万一ご不明な点や誤り 記載漏れなどお気づきの点がありましたら 弊社までご一報いただければ幸いです 5. 本資料で取り扱っている回路 技術 プログラムに関して運用した結果の影響については 責任を負いかねますのであらかじめご了承ください 6. 本資料は製品を利用する際の補助的な資料です 製品をご使用になる場合は 英語版の資料もあわせてご利用ください 横浜本社 222-8563 横浜市港区新横浜 1-5-5 マクニカ第二ビル TEL 045-476-2155 FAX 045-476-2156 大阪営業所 532-0011 大阪市淀川区西中島 6-1-3 アストロ新大阪第二ビル 7 階 TEL 06-6307-7670 FAX 06-6307-7671 名古屋営業所 460-0003 名古屋市中区錦 1-6-5 名古屋錦シティビル 7 階 TEL 052-202-1024 FAX 052-202-1025 宇都宮営業所 321-0953 宇都宮市東宿郷 4-2-24 センターズビル 7 階 TEL 028-637-4488 FAX 028-637-4489 ver. 1.0 2008 年 6 月 Page 16 of 16 Altima Corporation