Nios® II デバッグ手法シリーズ
このシリーズでは Nios® II のデバッグに役に立つ便利機能について紹介します。
Host File System
Nios® II のソフトウェアをデバッグする際、printf や scanf などを記述し、Nios® II Console や Nios® II Terminal で文字や数値を入出力する事でソフトウェアの実行制御や動作状況を確認する方法は一般的ですが、これとは別に、Nios® II SBT を実行しているホストマシンのファイルを読み書きする Host File System と言われる方法もあります。この機能を利用する事で大量のデータの入出力が可能になりますので、例えば、ハードウェアや実行環境が整わない状況でソフトウェアを検証するため、ハードウェアからのデータ入力の代わりにファイルに用意したデータを入力して検証を行ったり、再現率の低い不具合を検証するために、長時間のログを出力する事が可能になります。
なお、本機能は Nios® II SBT を Debug As で起動した場合にのみ利用できる機能ですのでご注意ください。
ハードウェア設定
Host File System を実行するために必要となるハードウェア環境は特にありませんが、Debug As で起動するため、Include JTAG Debug (Nios II Parameters -> JTAG Debug タブ) にはチェックを入れておく必要があります。
BSPの設定
Host File System を使用する場合は、BSP Editor の Software Packages タブの altera_hostfs の Enable にチェックを入れる必要があります。また、hostfs_name: はファイル・パスになりますので、必要があれば変更してください。
設定し終わったら、Files -> Save で設定をセーブした後、Generate をクリックします。
[ BSP Editor ]
ソフトウェアの記述
Host File System は一般的なファイル操作関数でアクセスできます。ファイル・パスについては上記の hostfs_name で指定されたパスが Nios® II SBT プロジェクトのアプリケーション・フォルダーに該当しますので、例えば、アプリケーション・フォルダの下に temp フォルダを作成して、そのフォルダーの中のファイルにアクセスするためには、"/mnt/host/temp/****.***"のように指定する必要があります。
[ Nios® II Project ]
下記にプログラム例を示します。動作としては、アプリケーション・フォルダーの下に temp フォルダーがあり、その中にある led.bin ファイルを読み出して、そのデータを LED に出力します。LED に出力した後、log.bin に値を書き込んでいます。
[ Sample Program ]
おすすめページ
弊社では Nios® II に関する各種情報とまとめた「Nios® II まとめページ」をご用意しております。本記事以外にも有用な情報が満載ですのでこちらも併せてご確認ください。