FC2カウンター FPGAの部屋 2024年04月11日
fc2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Xyloni Development Kit を使ってみる14(soc_sap_t8 をやってみる6)

Xyloni Development Kit を使ってみる13(soc_sap_t8 をやってみる5)”の続き。

Sapphire SoC のサンプルが”Efinix-Inc/xyloni”の”design/soc_sap_t8”の Sapphire SoC for Xyloni にあるので、やってみようとうことで、前回は、Efinity Programmer でFPGA をコンフィギュレーションし、Efinity RISC-V Embedded Software IDE で Run したところ、失敗した。その後、Run Configuration を変えて見たが、失敗した。OpenOCD が必要ということで、インストールしてから、Run してみたが、やはり失敗した。今回は、ワークスペースのディレクトリ設定が間違っていたことに気づいたので、もう一度、Ubuntu 22.04 のパソコンでやり直してみたがやはり、OpenOCD の起動時にエラーになった。

XyloniボードへのSapphire SoC実装とファームウエア開発プロジェクトの構築”の”RISC-V SDKでのプロジェクト作成、ビルド、デバッグ”を参照して、実行していく。ありがとうございます。

Xyloni Development Kit を使ってみる11(soc_sap_t8 をやってみる3)”の Efinity RISC-V Embedded Software IDE Launcher ダイアログのワークスペース設定時に新規作成したワークスペース・ディレクトリを指定していたのだが、”XyloniボードへのSapphire SoC実装とファームウエア開発プロジェクトの構築”の”RISC-V SDKでのプロジェクト作成、ビルド、デバッグ”では、xyloni/design/soc_sap_t8/embedded_sw/sapphire0 をワークスペースとして指定するようなので、もう一度、やってみることにした。

efinity-riscv-ide-2023.2/Efinity-RISCV-IDE/efinity-riscv-ide/efinity-riscv-ide をダブルクリックして起動した。

Efinity RISC-V Embedded Software IDE Launcher ダイアログが表示された。
Workspace の Brows... ボタンをクリックした。
Select Workspace Directory ダイアログが開いた。
xyloni/design/soc_sap_t8/embedded_sw/sapphire0 をワークスペースとして指定して、Launch ボタンをクリックした。
Efinity_186_L240411.png

Efinity RISC-V Embedded Software IDE が表示された。
Create a new Makefile project in a directory containing existing cod をクリックした。Makefile Project を生成する。
Efinity_187_L240411.png

New Project ダイアログが表示された。
Existing Code Location の Browse... ボタンをクリックした。

ダイアログが表示された。
xyloni/design/soc_sap_t8/embedded_sw/sapphire0/software/standalone/uartEchoDemo を選択し、”開く”ボタンをクリックした。

New Project ダイアログで Finish ボタンをクリックした。

uartEchoDemo プロジェクトが生成された。
Efinity_188_L240411.png

左のウインドウの uartEchoDemo を右クリックし、右クリックメニューから import... を選択した。

Import ダイアログが表示された。
C/C++ を展開して、C/C++ Project Settings を選択した。
Next > ボタンをクリックした。
Efinity_189_L240411.png

Settings file の Brows... ボタンをクリックした。

ダイアログが表示された。
xyloni/design/soc_sap_t8/embedded_sw/sapphire0/config/project_settings_soc.xml を選択した。
”開く”ボタンをクリックした。
Efinity_190_L240411.png

Select settings to import に Include Paths と # Symbols が入っている。
Finish ボタンをクリックした。

Efinity RISC-V Embedded Software IDE に戻った。
include パスが入っているのが見える。
Efinity_191_L240411.png

前のビルド結果が残っているので、削除する。
左のウインドウの uartEchoDemo を右クリックし、右クリックメニューから Clean Project を選択した。

前のビルド結果が削除された。
Efinity_192_L240411.png

左のウインドウの uartEchoDemo を右クリックし、右クリックメニューから Build Project を選択した。
ビルドが行われて成功した。
Efinity_193_L240411.png

以下の作業はうまく行きません。
次の作業は”Xyloni Development Kit を使ってみる16(soc_sap_t8 をやってみる8)”を参照ください。


Efinity RISC-V Embedded Software IDE で左の Project Explorer の uartEchoDemo を右クリックし、右クリックメニューから Import... を選択した。

Import ダイアログが表示された。
Select 画面
Run/Debug を展開して、Launch Configuration を選択した。
Next > ボタンをクリックした。
Efinity_194_L240411.png

Import Launch Configuration 画面
From Directory の Browse... ボタンをクリックした。

xyloni/design/soc_sap_t8/embedded_sw/sapphire0/config ディレクトリを選択して、”開く”ボタンをクリックした。

左のウインドウに config が入った。
config のチェックボックスにチェックを入れた。
右のウインドウに 3 つの項目が追加された。
default.launch だけチェックを残して、他の 2 つのチェックを外した。
Finish ボタンをクリックした。
Efinity_195_L240411.png

Efinity RISC-V Embedded Software IDE で左の Project Explorer の uartEchoDemo を右クリックし、右クリックメニューから Run As -> Run Configuration を選択した。

Run Configuration ダイアログが表示された。
Create, manage, and run configuration 画面

GDB OpenOCD Debugging -> default をクリックした。
Efinity_196_L240411.png

Main のタブで Project の Brows... ボタンをクリックした。
Efinity_197_L240411.png

Project Selection ダイアログが表示された。
uartEchoDemo が選択されている。
OK ボタンをクリックした。
Efinity_198_L240411.png

C/C++ Application の Brows... ボタンをクリックした。

xyloni/design/soc_sap_t8/embedded_sw/sapphire0/software/standalone/uartEchoDemo/build/uartEchoDemo.elf を選択した。
”開く”ボタンをクリックした。

C/C++ Application にフルパスの uartEchoDemo.elf が入った。
Efinity_199_L240411.png

Debugger タブをクリックした。
Apply ボタンをクリックした。

Xyloni ボードを USB でパソコンに接続した。
Xyloni ボードには、”Xyloni Development Kit を使ってみる13(soc_sap_t8 をやってみる5)”ですでに soc_sap_t8 が ROM に書かれている。

Efinity RISC-V Embedded Software IDE の Run Configuration ダイアログで Run ボタンをクリックし、プログラムを走らせた。
Efinity_200_L240411.png

エラーになった。(画像を取るのを忘れてしまった)エラーメッセージを示す。

Open On-Chip Debugger 0.11.0
Licensed under GNU GPL v2
For bug reports, read
    http://openocd.org/doc/doxygen/bugs.html
embedded:startup.tcl:26: Error: Can't find /media/masaaki/Ubuntu_Disk/Efinity/xyloni/design/soc_sap_t8/embedded_sw/sapphire0\bsp\efinix\EfxSapphireSoc\openocd\ftdi.cfg
in procedure 'script' 
at file "embedded:startup.tcl", line 26


/media/masaaki/Ubuntu_Disk/Efinity/xyloni/design/soc_sap_t8/embedded_sw/sapphire0\bsp\efinix\EfxSapphireSoc\openocd\ftdi.cfg となっていて、バックスラッシュになっている。
実際に fgdi.cfg はある。
Efinity_201_L240411.png

そこで、フルパスで指定してみた。
Efinity_202_L240411.png

やはりエラーになった。
Efinity_203_L240411.png

エラーメッセージを示す。

Open On-Chip Debugger 0.11.0
Licensed under GNU GPL v2
For bug reports, read
    http://openocd.org/doc/doxygen/bugs.html
/media/masaaki/Ubuntu_Disk/Efinity/xyloni/design/soc_sap_t8/embedded_sw/sapphire0/bsp/efinix/EfxSapphireSoc/openocd/ftdi.cfg:13: Error: invalid command name "ftdi"
in procedure 'script' 
at file "embedded:startup.tcl", line 26
at file "/media/masaaki/Ubuntu_Disk/Efinity/xyloni/design/soc_sap_t8/embedded_sw/sapphire0/bsp/efinix/EfxSapphireSoc/openocd/ftdi.cfg", line 13


やはり、エラーだった。。。もう一度、Windows 11 でやってみよう。
  1. 2024年04月11日 18:14 |
  2. Efinity RISC-V Embedded Software IDE
  3. | トラックバック:0
  4. | コメント:0

Xyloni Development Kit を使ってみる13(soc_sap_t8 をやってみる5)

Sapphire SoC のサンプルが”Efinix-Inc/xyloni”の”design/soc_sap_t8”の Sapphire SoC for Xyloni にあるので、やってみようとうことで、前回は、作成した uartEchoDemo の実行のための準備を進めて、Run Configuration を設定した。今回は、Efinity Programmer でFPGA をコンフィギュレーションし、Efinity RISC-V Embedded Software IDE で Run したところ、失敗した。その後、Run Configuration を変えて見たが、失敗した。OpenOCD が必要ということで、インストールしてから、Run してみたが、やはり失敗した。

(2024/04/22:追記) この記事はエラーが出てうまく行きません。うまく行く方法は””XyloniボードへのSapphire SoC実装とファームウエア開発プロジェクトの構築”の”Sapphire SoC の 実装”をやってみる9”を見てください。

XyloniボードへのSapphire SoC実装とファームウエア開発プロジェクトの構築”の”RISC-V SDKでのプロジェクト作成、ビルド、デバッグ”を参照して、実行していく。ありがとうございます。

soc_sap_t8 の hex ファイルを SPI Active モードで Xyloni に書き込む。
Efinity Software で Select Image file ボタンをクリックし、/media/masaaki/Ubuntu_Disk/Efinity/xyloni/design/soc_sap_t8/outflow/soc_sap_t8.hex を選択した。
Programming Mode を SPI Active に変更した。
Efinity_175_L240409.png

Start Program ボタンをクリックし、ビットファイルを FPGA にコンフィギュレーションした。
Efinity_176_L240409.png

Efinity RISC-V Embedded Software IDE の Run Configuration ダイアログで Run ボタンをクリックし、プログラムを走らせた。
Efinity_177_L240409.png

エラーが発生した。
Efinity_178_L240409.png

Error in services launch sequence
Launching command [openocd -c gdb_port 3333 -c telnet_port 4444 -c tcl_port 6666 -f /media/masaaki/Ubuntu_Disk/Efinity/xyloni/design/soc_sap_t8/workspace\bsp\efinix\EfxSapphireSoc\openocd\ftdi.cfg -f /media/masaaki/Ubuntu_Disk/Efinity/xyloni/design/soc_sap_t8/workspace\bsp\efinix\EfxSapphireSoc\openocd\debug.cfg -c echo "Started by GNU MCU Eclipse"] failed.
Launching command [openocd -c gdb_port 3333 -c telnet_port 4444 -c tcl_port 6666 -f /media/masaaki/Ubuntu_Disk/Efinity/xyloni/design/soc_sap_t8/workspace\bsp\efinix\EfxSapphireSoc\openocd\ftdi.cfg -f /media/masaaki/Ubuntu_Disk/Efinity/xyloni/design/soc_sap_t8/workspace\bsp\efinix\EfxSapphireSoc\openocd\debug.cfg -c echo "Started by GNU MCU Eclipse"] failed.
Cannot run program "openocd": Unknown reason


よく見るとパスの区切りが \ になっている。
Run Configuration ダイアログの Debugger タブの Config options の \ を / に変更した。
Efinity_179_L240409.png

Apply ボタンをクリックしてから、Run ボタンをクリックした。
Efinity_180_L240409.png

やはりエラーだった。
Efinity_181_L240409.png

Error in services launch sequence
Launching command [openocd -c gdb_port 3333 -c telnet_port 4444 -c tcl_port 6666 -f /media/masaaki/Ubuntu_Disk/Efinity/xyloni/design/soc_sap_t8/workspace/bsp/efinix/EfxSapphireSoc/openocd/ftdi.cfg -f /media/masaaki/Ubuntu_Disk/Efinity/xyloni/design/soc_sap_t8/workspace/bsp/efinix/EfxSapphireSoc/openocd/debug.cfg -c echo "Started by GNU MCU Eclipse"] failed.
Launching command [openocd -c gdb_port 3333 -c telnet_port 4444 -c tcl_port 6666 -f /media/masaaki/Ubuntu_Disk/Efinity/xyloni/design/soc_sap_t8/workspace/bsp/efinix/EfxSapphireSoc/openocd/ftdi.cfg -f /media/masaaki/Ubuntu_Disk/Efinity/xyloni/design/soc_sap_t8/workspace/bsp/efinix/EfxSapphireSoc/openocd/debug.cfg -c echo "Started by GNU MCU Eclipse"] failed.
Cannot run program "openocd": Unknown reason


もしかして? OpenOCD インストールしてないかも?ということで、OpenOCD をインストールするために”OpenOCDのインストール for ubuntu”を参考に、OpenOCD をインストールした。
sudo apt install openocd
Efinity_182_L240409.png

インストールされてなかったようだ。。。orz
バージョンを確認した。
openocd -v
Efinity_183_L240409.png
バージョンは、

Open On-Chip Debugger 0.11.0

だった。

これで、もう一度 Efinity RISC-V Embedded Software IDE の Run Configuration ダイアログで Run ボタンをクリックすると、今度は、OpenOCD が Fail した。
Efinity_184_L240409.png

Run Configuration ダイアログの Debugger タブの Config options に

-c 'set CPU0_YAML /media/masaaki/Ubuntu_Disk/Efinity/xyloni/design/soc_sap_t8/embedded_sw/sapphire0/cpu0.yaml'

を追加しても同様にエラーだった。
Efinity_185_L240409.png
  1. 2024年04月11日 07:28 |
  2. Xyloni Development Kit
  3. | トラックバック:0
  4. | コメント:0