verilog-hdl tutorial (15) software
TRANSCRIPT
アプリケーションとBSP(Board Support Package)をテンプレから作成
3
BSP: Board Support Package ボード毎のライブラリ等の ファイルを集めたパッケージ (ハードウェア毎に作成する)
11
初回実行時には (FPGA上の) Nios II/e と (PC上の) Nios II EDS が接続されていないので
接続設定を行います
Project nameと Project EFL file nameのパスが 正しいかチェック
Nios II Consoleに 「Hello from Nios II!」が表示されればOK
15
Downloading ELF Process failed が 表示される場合は, Quartus II Programmer を閉じましょう. (JTAG のUSB通信を取り合うのが 原因らしい...)
system.h の中身を見てみる
16
ダブルクリック
GPIO32_OUT (ハードウェア設定時につけた名前)の メモリマップドIOにおける ベースアドレス (BASE Address)は 0x1001090
今度は io.h の中身を確認
17
IORD_32DIRECT: IOから読み込む IORD_32DIRECT(ベースアドレス, オフセット)
IOWR_32DIRECT: IOにデータを書き込む IOWR_32DIRECT(ベースアドレス, オフセット, データ)
22
プロジェクト名は RS232C_test に設定
テンプレは Hello World
Next をクリック
先程のチュートリアルを参考に Hello_NiosII_system.sopcinfoを 読み込む
RS232C テストツールを起動
28
設定は 第12回, 第13回の 講習会を参考にする
接続を行う ↓ 送信TEXT に A を入力 ↓ 送信データのバイナリ変換にチェックをつけて ↓ TEXT送信をクリック
まとめ • DE0ボード上に Qsys を使って Nios II/e を含むシス
テムを生成 • Nios II EDSを使ってソフトウェアでハードウェアを
制御 ‒ これからはソフトウェアでハードウェアを制御する時代!
‒ たいていのハードウェアは既にペリフェラルとして供給されている
‒ ハードウェアの設計は最小限に • 設計時間を短縮しつつ, 楽に(バグが少なく), かつ高
性能なシステム設計がこれからのトレンド 30
課題 • Qsys を使って Nios II/e を含むシステムをもう一度生成
して FPGA上に実現せよ (自分の手でやってみると一発で動くのは難しいことがわかるはず)
• 生成したシステムで, 以下の動作を行うソフトウェアを Nios II EDSで作成し, 実行せよ ‒ LEDGが左右に動く (速度は適当で良い) ‒ スライドスイッチのON/OFFに応じて, LEDGの点滅速度が変る ‒ RS232C通信を介して, PCからの値に応じてLEDGが点滅する・動
く ‒ 【難】RS232C通信を介して, PCに値を送る
(ヒント): io.h を開いて uart_0 のデバイスのパス "/dev/uart_0" を調べる. fopenでそのデバイスを開いて, fprintf で書き込めば良い. これを応用すれば, BSP を開いて編集する必要がなくなる.
31