ホスト PC 上のファイルを Nios II で EPCS へプログラムする手法

ホスト PC 上のファイルを Nios II で EPCS へプログラムする手法
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-BlasterTM 経由
Nios II
開発ホスト PC
Page 1 of 16
Altima Corporation
ホスト PC 上のファイルを Nios II で EPCS へプログラムする手法
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-BlasterTM、ホスト 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
ホスト PC 上のファイルを Nios II で EPCS へプログラムする手法
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
ホスト PC 上のファイルを Nios II で EPCS へプログラムする手法
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
ホスト PC 上のファイルを Nios II で EPCS へプログラムする手法
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
ホスト PC 上のファイルを Nios II で EPCS へプログラムする手法
14.
プロジェクトが開いたら、Tools メニュー → SOPC Builder を選択します。
15.
SOPC Builder が開きますので、EPCS コントローラのペリフェラルが存在していることを確認します。
ver. 1.0
2008 年 6 月
Page 6 of 16
Altima Corporation
ホスト PC 上のファイルを Nios II で EPCS へプログラムする手法
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
ホスト PC 上のファイルを Nios II で EPCS へプログラムする手法
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
ホスト PC 上のファイルを Nios II で EPCS へプログラムする手法
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
ホスト PC 上のファイルを Nios II で EPCS へプログラムする手法
9.
ソフトウェア・プロジェクトを右クリックし、Refresh を選択すると、バイナリ・ファイルが表示されるようになります。
10.
epcs_program_test_syslib を選択し、右クリック → Properties をクリックします。
ver. 1.0
2008 年 6 月
Page 10 of 16
Altima Corporation
ホスト PC 上のファイルを Nios II で EPCS へプログラムする手法
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
ホスト PC 上のファイルを Nios II で EPCS へプログラムする手法
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
ホスト PC 上のファイルを Nios II で EPCS へプログラムする手法
4.
ソフトウェア・プロジェクトが選択された状態でウィンドウが表示されますので、ウィンドウ右下の Debug をクリックして、
デバッガを起動します。
5.
デバッグ・ウィンドウへ切り替わる際に、以下のメッセージ・ウィンドウが表示されたら、Yes をクリックしてください。
ver. 1.0
2008 年 6 月
Page 13 of 16
Altima Corporation
ホスト PC 上のファイルを Nios II で EPCS へプログラムする手法
6.
デバッガの Resume アイコンをクリックし、ソフトウェアを実行します。
7.
デバッガを停止させます。
プログラムが実行され、Console ウィンドウへ、Program Finish! と表示されたことを確認します。
Debug ウィンドウ内で、マウスで右クリック → Terminate and Remove をクリックします。
ver. 1.0
2008 年 6 月
Page 14 of 16
Altima Corporation
ホスト PC 上のファイルを Nios II で EPCS へプログラムする手法
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
ホスト PC 上のファイルを Nios II で EPCS へプログラムする手法
弊社より資料を入手されましたお客様におかれましては、下記の使用上の注意を一読いただいた上でご使用ください。
2.
本資料は非売品です。許可無く転売することや無断複製することを禁じます。
3.
本資料は予告なく変更することがあります。
4.
本資料の作成には万全を期していますが、万一ご不明な点や誤り、記載漏れなどお気づきの点がありましたら、弊社までご一報いただければ幸いです。
5.
本資料で取り扱っている回路、技術、プログラムに関して運用した結果の影響については、責任を負いかねますのであらかじめご了承ください。
6.
本資料は製品を利用する際の補助的な資料です。製品をご使用になる場合は、英語版の資料もあわせてご利用ください。
横浜本社
〒222-8563
大阪営業所
〒532-0011
名古屋営業所
〒460-0003
宇都宮営業所
〒321-0953
ver. 1.0
横浜市港区新横浜 1-5-5 マクニカ第二ビル TEL 045-476-2155
FAX 045-476-2156
大阪市淀川区西中島 6-1-3 アストロ新大阪第二ビル 7 階 TEL 06-6307-7670
FAX 06-6307-7671
名古屋市中区錦 1-6-5 名古屋錦シティビル 7階 TEL 052-202-1024 FAX 052-202-1025
宇都宮市東宿郷 4-2-24 センターズビル 7 階 TEL 028-637-4488
2008 年 6 月
Page 16 of 16
FAX 028-637-4489
Altima Corporation