実行環境をソースから生成する場合の手順

NiosII Command Shellの起動

NiosII Command Shellを起動します。

起動方法の詳細

OpenCores USB Hostの追加

OpenCoresのサイトからUSB 1.1 Host and Function IP core (http://opencores.org/project,usbhostslave)の最新データ(Latest version) usbhostslave_latest.tar.gzをダウンロードします。

ダウンロード後、usbhostslave_latest.tar.gzを展開して、trunkディレクトリの内容を本サンプルデータのopencores/usb以下にコピーします。コピー後、本サンプルデータのディレクトリの構成は以下のようになります。赤文字部分がコピー対象です。

 

usbhostslave_latestのディレクトリ構成)

usbhostslave

branches

tags

trunk

bench

doc

model

RTL

sim

syn

usbDevice

web_uploads

 

 

(本サンプルデータのディレクトリ構成)

doc

qtproject

opencores

usb

bench

doc

model

RTL

sim

syn

usbDevice

readme.txt

rtl

de0_run.sh

 

 

Qsysのデータ生成

NiosII Command Shellのカレントディレクトリを生成するデモデータのディレクトリに移動します。

●デモが「完全ロジック制御型CDC」の場合は、qtproject_cdc

●デモが「ロジック+プロセッサ制御型CDC」の場合は、qtproject_tgt

●デモがOpenCores USB IPコア付属のHIDマウスの場合は、qtproject_hid

「ロジック+プロセッサ制御型CDC(qtproject_tgt)を例に説明を進めます。

 

NiosII Command Shellからqsys-editを起動します。

 

ポップアップウィンドウでusbslave_system.qsysを選択して「開く」をクリックします。

 

Qsysusbslave_system.qsysで読み込んだシステム設定が表示されます。

 

メニューのGenerate->Generate…を選択します。

 

Genetateをクリックします。

 

システムのGenerateが始まります。

 

Generate Completedと表示されてからCloseをクリックします。

 

File->ExitQsysを終了します。

 

論理合成とフィッティング

NiosII Command Shellのカレントディレクトリを本データのルートに移動します。

(この例ではC:\work\usbcdc\nios2_usbcdc

NiosII Command Shellからスクリプトを実行します。

●デモが「完全ロジック制御型CDC」の場合は、run_cdc.sh

●デモが「ロジック+プロセッサ制御型CDC」の場合は、run_tgt.sh

●デモがOpenCores USB IPコア付属のHIDマウスの場合は、run_hid.sh

ここでは、例としてrun_tgt.shを実行します。

 

正常終了時は、次のようなログで論理合成とフィッティングが終了します。

 

処理が正常に終了すると、output_filesディレクトリにusbslave.sofが生成されます。(この例の場合、qtproject_tgt\output_files\usbslave.sofが生成されます。)

 

これ以降の手順は、「ロジック+プロセッサ制御型CDC」の場合のみ必要な処理です。

「ロジック+プロセッサ制御型CDC」と「OpenCores USB IPコア付属のHIDマウス」の場合は、プロセッサを含んでいないので必要ありません。

 

Eclipse環境の構築

NiosII Command Shellからeclipse-nios2を実行します。

 

Workspaceとしてqtproject_tgt\softwareを選択してOKをクリックします。

 

Eclipseの起動後、File->New->NiosII Application and BSP from Templateを選択します。

image013

 

以下の設定を行った後、Finishをクリックします。

-Target hardware informationusbslave_system.sopcinfoを設定

-Application Projecttestを設定

-Project templateHello World Smallを選択

 

EclipseFile->Importを選択します。

image023

 

ImportウィンドウでGeneral->Existing Projects into Workspaceを選択してNextをクリックします。

image024

 

Select root directoryqtproject_tgt\softwareを選択してFinishをクリックします。

 

プロジェクトがインポートされます。

 

Project->Clean…を選択します。

 

Clean all projectsを選択してOKをクリックします。

 

Cleanの処理終了後、Project->Build Allを選択してBuildを実行します。

 

プログラムの実行

必要な機材の接続を行ってDE0の電源を投入します。次にEclipseNiosII->QuartusII ProgrammerからQuartusII Programmerを起動してDE0sofをダウンロードします。

 

Programmerの手順はこちらを参照してください。

(ここではrom\usbslave_tgt.sofではなく、qtproject_tgt\output_files\usbslave.sofDE0にダウンロードしてください。)

次に、プロジェクトを選択してプログラムを実行します。

EclipseProject Explorerからusb_slave_testを選択後、右クリックでRun As->NiosII Hardwareを選択します。

 

Run ConfigurationポップアップウィンドウのTarget Connectionタブを選択して、Refresh Connectionsをクリックします。

USB-Blasterが認識されているのを確認してApplyをクリックします。次に、Runをクリックします。

 

プログラムの実行が始まり、コンソールに実行ログが表示されます。