Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
1
Verilog-HDL 講習会DE0編(15-2)
組込みプロセッサNios IIの使い方
ソフトウェア編
5, August, 2013
鹿児島大学
中原 啓貴
Nios II EDSを起動します
(FPGAは書き込んでいますか?)
2
Workspace
(作業用フォルダ)は
このままでOK
アプリケーションとBSP(Board
Support Package)をテンプレから作成
3
BSP: Board Support Package
ボード毎のライブラリ等の
ファイルを集めたパッケージ
(ハードウェア毎に作成する)
4
クリック
前回のチュートリアルの
作業フォルダ
Hellow_NiosII_system.sopcinfo
を選択
5
自動設定(前回, NiosII/eに割当てた名前)
プロジェクト名は Hello_NiosII に設定
テンプレは Hello World
Next をクリック
6
Finish をクリック
Create a new BSP ... にチェックを付ける
早速プログラムを入力しよう
7
クリックして展開
hello_world.c をダブルクリック
この2行を入力
(ハードウェアにアクセス
するためのおまじない)
プログラムを保存して
ビルドを実行します
8
保存アイコンをクリック
プロジェクト名を
右クリック
Build Project をクリック
Build が完了すると
Console に使用メモリが表示されます
9
10
ビルドした
プログラムを
FPGA上の
Nios II/eに
転送して実行
プロジェクト名を
右クリック
Run As で Nios II
Hardware を選択
11
初回実行時には (FPGA上の) Nios II/e と
(PC上の) Nios II EDS が接続されていないので
接続設定を行います
Project nameと
Project EFL file
nameのパスが
正しいかチェック
12
Target Connection タブをクリック
System ID checks の
Ignore (無視する)オプションを
チェック
13
右にスクロールする
Refresh Connections
をクリックする
14
Processors: と Byte Stream Devices が応答すればOK
FPGAとPCの接続が終われば
Apply をクリックして Run をクリック
Nios II Consoleに
「Hello from Nios II!」が表示されればOK
15
Downloading ELF Process failed が
表示される場合は,
Quartus II Programmer
を閉じましょ...
system.h の中身
を見てみる
16
ダブルクリック
GPIO32_OUT
(ハードウェア設定時につけ
た名前)の
メモリマップドIOにおける
ベースアドレス
(BASE Address)は
0x1001090
今度は io.h の中身を確認
17
IORD_32DIRECT: IOから読み込む
IORD_32DIRECT(ベースアドレス, オフセット)
IOWR_32DIRECT: IOにデータを書き込む
IOWR_32DIRECT(ベースアドレス,...
hello_world.cを修正
18
Build を行い, 実行する
19
IORD_32DIRECTで読み込んだ値を
IOWR_32DIRECTでLEDGに接続したIOに書き込む
RS232C信号をNios II/eで
受信する
20
【準備】RS232Cケーブルを接続
新しいプロジェクトを作ろう
21
22
プロジェクト名は RS232C_test に設定
テンプレは Hello World
Next をクリック
先程のチュートリアルを参考に
Hello_NiosII_system.sopcinfoを
読み込む
23
既に BSP (ハードウェア毎のライブラリ
パッケージ)は生成済みなので選択する
Next をクリック
24
BSP を編集して
RS232Cを
読み込むように設定
プロジェクト名を
右クリック
Nios II で
BSP Editor ... を選択
25
標準入力を
uart_0 に設定
(uart_0は
Qsys で設定した
UART Serialの名前
でしたよね)
26
標準入力を uart_0 に設定
標準出力は jtag_uart_0 に設定
(JTAGはNios II EDS の System Console に
 表示されると思って下さい)
hello_world.c を修正
修正後, Build -> Run を実行
27
RS232C テストツールを起動
28
設定は 第12回, 第13回の
講習会を参考にする
接続を行う
↓
送信TEXT に A を入力
↓
送信データのバイナリ変換にチェックをつけて
↓
TEXT送信をクリック
送信データが Console に表示され,
そのバイナリ値がLEDGに表示されます
29
文字「A」のバイナリ値:
0x41, つまり
0100 0001
まとめ
•  DE0ボード上に Qsys を使って Nios II/e を含むシス
テムを生成
•  Nios II EDSを使ってソフトウェアでハードウェアを
制御
‒  これからはソフトウェアでハードウェアを制御する時
代!
‒  たいてい...
課題
•  Qsys を使って Nios II/e を含むシステムをもう一度生成
して FPGA上に実現せよ (自分の手でやってみると一発で
動くのは難しいことがわかるはず)
•  生成したシステムで, 以下の動作を行うソフトウェアを
Nios...
Upcoming SlideShare
Loading in …5
×
Upcoming SlideShare
Verilog-HDL Tutorial (12)
Next
Download to read offline and view in fullscreen.

0

Share

Download to read offline

Verilog-HDL Tutorial (15) software

Download to read offline

Verilog-HDL Tutorial Using DE0 FPGA Board

Related Books

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

Verilog-HDL Tutorial (15) software

  1. 1. 1 Verilog-HDL 講習会DE0編(15-2) 組込みプロセッサNios IIの使い方 ソフトウェア編 5, August, 2013 鹿児島大学 中原 啓貴
  2. 2. Nios II EDSを起動します (FPGAは書き込んでいますか?) 2 Workspace (作業用フォルダ)は このままでOK
  3. 3. アプリケーションとBSP(Board Support Package)をテンプレから作成 3 BSP: Board Support Package ボード毎のライブラリ等の ファイルを集めたパッケージ (ハードウェア毎に作成する)
  4. 4. 4 クリック 前回のチュートリアルの 作業フォルダ Hellow_NiosII_system.sopcinfo を選択
  5. 5. 5 自動設定(前回, NiosII/eに割当てた名前) プロジェクト名は Hello_NiosII に設定 テンプレは Hello World Next をクリック
  6. 6. 6 Finish をクリック Create a new BSP ... にチェックを付ける
  7. 7. 早速プログラムを入力しよう 7 クリックして展開 hello_world.c をダブルクリック この2行を入力 (ハードウェアにアクセス するためのおまじない)
  8. 8. プログラムを保存して ビルドを実行します 8 保存アイコンをクリック プロジェクト名を 右クリック Build Project をクリック
  9. 9. Build が完了すると Console に使用メモリが表示されます 9
  10. 10. 10 ビルドした プログラムを FPGA上の Nios II/eに 転送して実行 プロジェクト名を 右クリック Run As で Nios II Hardware を選択
  11. 11. 11 初回実行時には (FPGA上の) Nios II/e と (PC上の) Nios II EDS が接続されていないので 接続設定を行います Project nameと Project EFL file nameのパスが 正しいかチェック
  12. 12. 12 Target Connection タブをクリック System ID checks の Ignore (無視する)オプションを チェック
  13. 13. 13 右にスクロールする Refresh Connections をクリックする
  14. 14. 14 Processors: と Byte Stream Devices が応答すればOK FPGAとPCの接続が終われば Apply をクリックして Run をクリック
  15. 15. Nios II Consoleに 「Hello from Nios II!」が表示されればOK 15 Downloading ELF Process failed が 表示される場合は, Quartus II Programmer を閉じましょう. (JTAG のUSB通信を取り合うのが 原因らしい...)
  16. 16. system.h の中身 を見てみる 16 ダブルクリック GPIO32_OUT (ハードウェア設定時につけ た名前)の メモリマップドIOにおける ベースアドレス (BASE Address)は 0x1001090
  17. 17. 今度は io.h の中身を確認 17 IORD_32DIRECT: IOから読み込む IORD_32DIRECT(ベースアドレス, オフセット) IOWR_32DIRECT: IOにデータを書き込む IOWR_32DIRECT(ベースアドレス, オフセット, データ)
  18. 18. hello_world.cを修正 18
  19. 19. Build を行い, 実行する 19 IORD_32DIRECTで読み込んだ値を IOWR_32DIRECTでLEDGに接続したIOに書き込む
  20. 20. RS232C信号をNios II/eで 受信する 20 【準備】RS232Cケーブルを接続
  21. 21. 新しいプロジェクトを作ろう 21
  22. 22. 22 プロジェクト名は RS232C_test に設定 テンプレは Hello World Next をクリック 先程のチュートリアルを参考に Hello_NiosII_system.sopcinfoを 読み込む
  23. 23. 23 既に BSP (ハードウェア毎のライブラリ パッケージ)は生成済みなので選択する Next をクリック
  24. 24. 24 BSP を編集して RS232Cを 読み込むように設定 プロジェクト名を 右クリック Nios II で BSP Editor ... を選択
  25. 25. 25 標準入力を uart_0 に設定 (uart_0は Qsys で設定した UART Serialの名前 でしたよね)
  26. 26. 26 標準入力を uart_0 に設定 標準出力は jtag_uart_0 に設定 (JTAGはNios II EDS の System Console に  表示されると思って下さい)
  27. 27. hello_world.c を修正 修正後, Build -> Run を実行 27
  28. 28. RS232C テストツールを起動 28 設定は 第12回, 第13回の 講習会を参考にする 接続を行う ↓ 送信TEXT に A を入力 ↓ 送信データのバイナリ変換にチェックをつけて ↓ TEXT送信をクリック
  29. 29. 送信データが Console に表示され, そのバイナリ値がLEDGに表示されます 29 文字「A」のバイナリ値: 0x41, つまり 0100 0001
  30. 30. まとめ •  DE0ボード上に Qsys を使って Nios II/e を含むシス テムを生成 •  Nios II EDSを使ってソフトウェアでハードウェアを 制御 ‒  これからはソフトウェアでハードウェアを制御する時 代! ‒  たいていのハードウェアは既にペリフェラルとして供給 されている ‒ ハードウェアの設計は最小限に •  設計時間を短縮しつつ, 楽に(バグが少なく), かつ高 性能なシステム設計がこれからのトレンド 30
  31. 31. 課題 •  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

Verilog-HDL Tutorial Using DE0 FPGA Board

Views

Total views

1,211

On Slideshare

0

From embeds

0

Number of embeds

7

Actions

Downloads

15

Shares

0

Comments

0

Likes

0

×