ウィリアムのいたずらの、まちあるき、たべあるきーPART2

gooブログ「ウィリアムのいたずらの、まちあるき、たべあるき」がお引越ししてきました

今日FPGAで学んだこと(8)QSys+NIOSの開発

この前のとは、違うセミナーで、今日(本当は昨日)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 ハードウェア抽象レイヤ
 いろんなライブラリがある