この前のとは、違うセミナーで、今日(本当は昨日)FPGAについて学んできたこと。
まずは、QSysとNIOSを使った開発について
今回のお話
「FPGAボードで学ぶ組み込みシステム開発入門 altera編」の続編みたいなお話
■今回使う開発環境
・QSys
・QuartusⅡ
・SingleTapⅡ
・NiosⅡ EDS
■NiosⅡプロセッサ
・3種類ある
NiosⅡ/e ただ
NiosⅡ/s 有償
NiosⅡ/f 有償
有償のものは、有償ツールについてくる
評価だけなら無償のものでもできる(制限ある)
■今回の開発内容
・お題
スライドスイッチの内容をもとに
7セグLEDを表示する
・必要なもの
NiosⅡ/f
PIO パラレルIO:スライドスイッチと7セグ
RAM
JTAG UART デバッグ用→USB Blaster
SystemID ハードとソフトを一致させるのにいる
・開発フロー:ハード→ソフトを開発
■ハードの開発フロー
・プロジェクトの作成(QuartusⅡ)
・NiosⅡでの設定、配線
取り込み&設定
NiosⅡ とりあえずデフォルトで(あとで設定)
メモリ トータル8192に
パラレル(PIO) PIO_0 8ビットOUT
PIO_1 4ビットIN
JTAG UART デフォルト
System ID デフォルト
配線
リセット Create Global Reset Networkで
クロック 手動で全部接続
データバス メモリ、PIO_0,PIO_1,JTAG,Sysid
命令バス メモリのみ
外部入出力 PIO_0,PIO_1のexternal connection
割り込み JTAGのところセット
リセットベクタ、例外ベクタ NIOSを開いて設定
アドレス設定
Assign Base Addressで
・生成(QSys)
Genereteボタンクリック→QSysファイル生成
・最上位階層の作成(QuartusⅡ)
RTL
ピン配置など
・QSysファイルをプロジェクトに追加(QuartusⅡ)
Add/Remove Files in Project
・コンパイル(QuartusⅡ)
Start Compile
<<ソフトの開発フローの「コンパイル」が終わったら>>
・コンフィグレーション
Programmerで書き込み
→このとき、ダイアログが出ても、キャンセルしてはいけない
(NiosⅡ/f で評価版を使っているから出る)
<<上記を、ソフトの開発フローの「プログラムのダウンロード&実行」
の前に行う>>
■ソフトの開発フロー
・ワークスペースの作成
立ち上がりのとき、ワークスペースを指定(作成)
・プロジェクトの作成
File→New→NiosⅡ Application and BSP from Template
QSysで作ったSOPCファイルを指定
テンプレートを選択
→自動的にプロジェクトとBSPプロジェクトを作成する
・Cプログラムの作成
・コンパイル
Project→Build Allで
・プログラムのダウンロード&実行
※この時点でハードのコンフィグレーションを行っていて
そのままつながっている状態であること
デバッグ コンフィグレーション
デバッグ開始
■用語
・BSP ボードサポートパッケージ
ボードメーカーが提供するライブラリ
・HAL ハードウェア抽象レイヤ
いろんなライブラリがある