Nios II Flash Programmer ユーザ・ガイド

Nios II Flash Programmer ユーザ・ガイド
ver. 7.1
2007 年 8 月
1. はじめに
本資料は Nios II 開発環境において フラッシュメモリ、または EPCS へのプログラミングを行う際の参考マニュアルです。
Nios II ver 7.1 (2007 年 8 月現在 )より、Board Description Editor を作成するフローがなくなりました。(Nios II ver 7.0 以前の
書き込み手順をご存じない方は、この文は気にしないでください。)
このマニュアルでは、フラッシュメモリの書き込みの際に最低限必要となる情報を提供し、さらに詳しい情報はアルテラ社資料
『Nios II Flash Programmer User Guide(ファイル名:ug_nios2_flash_programmer.pdf)』を参照してください。
作業環境は Quartus II 7.1、 Nios II 7.1 で、サンプルとして、FPGA へダウンロードする sof ファイルは、ハードウェア・リファ
レンス・デザインである NiosII_stratixII_2S60_RoHS_standard.sof 、ソフトウェアプロジェクトはソフトウェア・サンプルである
hello_led を使います。
2. 条件
Nios II IDE の Flash Programmer で EPCS やフラッシュメモリにデータを書き込むためには、次の条件を満たしている必要が
あります。
・
CFI 準拠のフラッシュメモリが FPGA と接続されている。 (CFI準拠 : Common Flash Interface 準拠)※1
・
EPCS と FPGA が AS モードのコンフィグレーションが可能な配線で接続されている。※1
・
Quartus II 7.1、Nios II 7.1 がインストールされている。
・
FPGA へコンフィグレーションするオリジナルのデザインが用意されている。
・
NiosII IDE でビルド済みのソフトウェアプロジェクトが用意されている。
※1 EPCS もしくはフラッシュメモリのどちらか片方しか実装されていない場合は、上記どちらかの条件を満たしていればよい
です。
3. 手順
フラッシュメモリへのプログラミングの簡易手順を以下に示します。
①
SOPC Builder でシステムを生成し、Quartus II でトップのデザインをコンパイルし、生成された sof ファイルをターゲットの
FPGA へダウンロード
②
Nios II IDE の Tools メニューより Flash Programmer の GUI を 立ち上げて、ビルド済みのソフトウェアプロジェクトを
使ってフラッシュメモリへのプログラミングを実行
次の項目より、上記操作手順の詳細を確認していきます。
Page 1 of 8
Altima Corporation
Nios II Flash Programmer ユーザ・ガイド
4. .sof ファイルをダウンロード
FPGA へ CFI フラッシュメモリ及び、EPCS コントローラ・モジュールが接続された Nios II のシステムのハードウェアをダ
ウンロードします
①
Quartus II もしくは、Nios II IDE の Tools メニューより、Programmer を開きます。
②
Hardware Setup… へダウンロードケーブル、File 欄へ .sof ファイルを選択し、Program/Configure 欄へチェックを入れ、
Start ボタンをクリックします。
ver. 7.1
2007 年 8 月
Page 2 of 8
Altima Corporation
Nios II Flash Programmer ユーザ・ガイド
5. Nios II IDE の Flash Programmer よりフラッシュメモリへプログラム
Nios II IDE の Flash Programmer より フラッシュメモリや EPCS へデータを書き込みます。
①
Nios II IDE でビルド済みのソフトウェアプロジェクトをハイライトし、Tools メニューより Flash Programmer をクリックし
ます。
② Flash Programmer の表示をダブルクリックするか、左上の New launch configuration ボタンをクリックします。
ver. 7.1
2007 年 8 月
Page 3 of 8
Altima Corporation
Nios II Flash Programmer ユーザ・ガイド
③ Main のタブを選択し、 Project 欄にフラッシュ・プログラマのプロジェクトを Browse ボタンより選択後、ソフトウェアの
書き込み設定をします。
④ また、Program software project into flash memory にチェックが入れられていることを確認します。
尚、SOPC Builder の NiosII のウィザード内で設定した、Reset Vector 欄へ指定したアドレスへ書き込みが行われま
す。
⑤ ハードウェアの書き込み設定を行う為、Program FPGA configuration data into hardware-image region of flash memory
にチェックを入れ、FPGA Configuration (SOF) 欄に書き込みたい .sof ファイルを選択します。
⑥ Hardware Image 欄でフラッシュメモリへ書き込む領域、もしくは書き込みを行う EPCS を選択します。
カスタムボード上のフラッシュメモリへ書き込みの場合は、Custom を、NiosII 開発キット上のフラッシュメモリであれば、
user 領域又は、 factory 領域を選択します。
尚、Custom を選択した場合は、Offset 欄へ書き込みを行いたいフラッシュメモリ内のアドレスをタイプします。
又、Program a file into flash memory にチェックを入れ、バイナリファイルを指定することで、選択した領域へバイナリデ
ータの書き込みも行えます。
ver. 7.1
2007 年 8 月
Page 4 of 8
Altima Corporation
Nios II Flash Programmer ユーザ・ガイド
⑦ Target Connection タブを選択し、JTAG cable 及び JTAG device を設定し、Apply ボタンをクリックし、その後、
Program Flash ボタンをクリックします。
Program Flash ボタンをクリックすると以下のウィンドウが表示され、「プログラムを行いますか?」との問いに対して 「Yes」
ボタンをクリックすることで、プログラムが開始されます。
この時、Nios II のウィザード内で設定した、Reset Vector 欄へ指定したコンポーネントから Nios II IDE で指定したプログラ
ム・メモリへプログラム・コードを転送する機能のブート・プログラムが自動で生成されます。
ブート・プログラムは、プログラム・コード書き込み時に、プログラム・コードの先頭に追加されます。
また、EPCS へプログラムの初期データを書き込む場合には、Nios II のウィザードの Reset Vector 欄に EPCS Serial Flash
Controller のコンポーネントを選択しておく必要があります。
ver. 7.1
2007 年 8 月
Page 5 of 8
Altima Corporation
Nios II Flash Programmer ユーザ・ガイド
6. コマンドラインでプログラムする方法
フラッシュメモリや EPCS へのプログラムは、NiosII IDE の GUI からだけでなく、コマンドラインからも行え、コマンドラインに
よる書き込みは Nios II SDK シェルを使用します。
<手順>
拡張子が 「.flash」 のファイルを用意します。
「.flash」 ファイルを Nios II コマンドシェルより nios2-flash-programmer ユーティリティを実行することで書き込みます。
「.flash」 ファイルは、elf2flash 、sof2flash 、bin2flash のスクリプトで様々なフォーマットから変換可能です。
今回は、「.sof」 ファイルを使用し、sof2flash スクリプトから 「.flash」 ファイルを生成し、その後、生成された 「.flash」 ファイ
ルを nios2-flash-programmer ユーティリティを使用しフラッシュメモリへ書き込みます。
①
Nios II の SDK シェルを開きます。(スタート => プログラム => Altera => Nios II EDS 7.1 => Nios II 7.1 Command
Shell)
②
sof ファイルの存在する作業フォルダへ cd コマンドで移動します。
(例:cd e:/program_work/standard)
③
ハードウェア用の 「.flash」 ファイルを sof2flash スクリプトより生成します。
(例:sof2flash --input=NiosII_stratixII_2s60_RoHS_standard.sof --output=generate_file.flash --offset=0x800000)
--input
例 --input= NiosII_stratixII_2s60_RoHS_standard.sof
書き込みたいハードウェア・デザインの sof ファイル
--output
例 --output=generate_file.flash
生成される 「flash」 ファイルの名前を指定
--offset
例 --offset=0x800000
フラッシュ内のオフセット番地
--epcs
例 –epcs
EPCS 用にファイルを生成する場合にタイプ(epcs を使用しない場合はタイプしない)
注:各スクリプトのパラメーターと詳細は、Nios II Flash Programmer User Guide(ファイル名:ug_nios2_flash_programmer.pdf)
を確認してください。
ver. 7.1
2007 年 8 月
Page 6 of 8
Altima Corporation
Nios II Flash Programmer ユーザ・ガイド
④
生成した 「.flash」 ファイルをフラッシュメモリへ書き込みます。
タ ー ゲ ッ ト ・ ボ ー ド に sof フ ァ イ ル ( 例 : NiosII_stratixII_2s60_RoHS_standard.sof ) が ダ ウ ン ロ ー ド さ れ て い る 状 態 で
nios2-flash-programmer のスクリプトを実行します。
例:nios2-flash-programmer --base=0x0 –program generate_file.flash
--base
例 --base=0x0
オリジナルのハードウェア・デザイン内のフラッシュメモリのベース・アドレス
--program
例 –program generate_file.flash 書き込みを行う 「.flash」 ファイルを指定(”=” の記述が入らないことに注意)
注:各スクリプトのパラメーターと詳細は Nios II Flash Programmer User Guide(ファイル名:ug_nios2_flash_programmer.pdf)
を確認してください。
⑤
nios2-flash-programmer のスクリプトを実行すると、フラッシュメモリのイレースがされ、その後、書き込みが行われます。
ver. 7.1
2007 年 8 月
Page 7 of 8
Altima Corporation
Nios II Flash Programmer ユーザ・ガイド
弊社より資料を入手されましたお客様におかれましては、下記の使用上の注意を一読いただいた上でご使用ください。
1.
本資料は非売品です。許可無く転売することや無断複製することを禁じます。
2.
本資料は予告なく変更することがあります。
3.
本資料の作成には万全を期していますが、万一ご不明な点や誤り、記載漏れなどお気づきの点がありましたら、弊社までご一報いただければ幸いです。
4.
本資料で取り扱っている回路、技術、プログラムに関して運用した結果の影響については、責任を負いかねますのであらかじめご了承ください。
5.
本資料は製品を利用する際の補助的な資料です。製品をご使用になる場合は、英語版の資料もあわせてご利用ください。
横浜本社
〒222-8563
大阪営業所
〒532-0011
名古屋営業所
〒460-0003
宇都宮営業所
〒321-0953
ver. 7.1
横浜市港区新横浜 1-5-5 マクニカ第二ビル TEL 045-476-2155
FAX 045-476-2156
大阪市淀川区西中島 6-1-3 アストロ新大阪第二ビル 7 階 TEL 06-6307-7670
名古屋市中区錦 1-6-5 名古屋第一生命ビル 7 階 TEL 052-202-1024
宇都宮市東宿郷 4-2-24 センターズビル 7 階 TEL 028-637-4488
2007 年 8 月
Page 8 of 8
FAX 06-6307-7671
FAX 052-202-1025
FAX 028-637-4489
Altima Corporation