概要
インテルの RISC-V ソフトコアプロセッサー( Nios V )の開発環境に関する投稿です。
先日リリースされた Quartus Prime 22.1 Standard Edition により、Low Cost の FPGA デバイスでも気軽に Nios V が試せる状況になりました。早速、Windows 版をインストールして試してみましたが、個人的にどうしても使いずらいと感じてしまう点が1つありました。
『 Nios V Command Shell というコマンドターミナルが、Windows のコマンドプロンプト相当の環境になっている。。 』
色々と模索してみた結果、Windows Power Shell 上でも Nios V Command Shell が動作することが判ったので、その方法を紹介します。
コマンドプロンプトが苦手な方は、Power Shell ベースに変えることで劇的に使いやすくなる?かもしれません。
この記事で紹介する内容は非公式なので自己責任でお試しください。
(こちらで試した限りでは問題無く動作しています)
もくじ
Nios V Command Shell とは?
Nios V を使用した開発に使用するコマンドラインツール実行用のターミナル環境です。Nios II 向けの Nios 2 Command Shell や、SoC FPGA 向けの Embedded Command Shell と同じような位置づけの環境です。
Nios V の開発で使用するコマンドラインツール(コマンド)の一覧は以下のドキュメントに記載されていました。
https://www.intel.com/content/www/us/en/docs/programmable/726952/22-1std-1-0-0/intel-fpga-embedded-development-tools.html
試した内容:Windows Power Shell で起動するための変更
さっそくですが、私が試した内容は以下の通りです。
-
編集対象ファイル:
C:\intelFPGA\22.1std\niosv\bin\niosv-shell-files\main.py -
編集内容:
77行目以降の run_shell という関数の中でコマンドプロンプト(cmd.exe)のパスが記述されています。
この 1 行を以下のように Windows Power Shell のパスに変更するだけです。
shell = "C:\Windows\System32\cmd.exe"
shell = "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"
パスの区切りを2回繰り返し \\
で記述する点がポイントです。
最初は cmd.exe と同じように \
で記述しましたが、それでは Power Shell が起動しませんでした。(デバッグしてみると shell 変数(パスの途中)が文字化けした状態となっていました。)
編集したソースのコメントに以下の一文がありました。将来のバージョンでは Power Shell が標準になる可能性も期待できそうです。
# Notes for using CMD/powershell - currently just CMD.exe.
変更前後の違い:ターミナルの挙動の比較
参考までに、挙動の違いを画像で紹介します。実際にツールを触ってみると違いが実感できるかと思います。
変更前:コマンドプロンプトベースの Nios V Command Shell(標準の環境)
コマンドプロンプトの方は、TAB キーでコマンド名を補完する機能は使えませんでした。添付画像で TAB キーで補完されてみえているのは、カレントディレクトリーにあるファイルやフォルダーの名前のみでした。(画像を作った後に気が付きました..)
変更版:Windows Power Shell ベースの Nios V Command Shell
TAB キーでコマンドやファイル名が補完されるようになりました。個人的には使いやすくなって満足です。
まとめ
今回紹介した内容は、コマンドプロンプトに慣れた方にとってはどこが使いずらいの?という話だったかもしれません。私と同じくコマンドプロンプトの操作が苦手で、Windows 環境でコマンド操作も多用したい方は参考にしてみてください。
最後に、Linux 版も試してみましたが、そちらは bash 等の Linux ターミナルの操作感なので何のストレスも無く使えました。日頃から慣れ親しんだ環境に近いかどうか、好みの問題も大きいと感じた次第です。