FC2カウンター FPGAの部屋 SDK
fc2ブログ

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

FPGAの部屋

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

Ubuntu 18.04 にアップグレードしてSDKとSDSoCが動いた

Ubuntu 16.04 をUbuntu 18.04 にアップグレードしてSDK が動かなくなる”の続き。

前回、Ubuntu 16.04 からUbuntu 18.04 にアップグレードすると、Vivado 2018.2 は動いてもSDK が起動画面のスプラッシュ画面でプログレスバーが止まってしまうという現象があって起動できなかった。今回は、そのトラブルシューティングを行った。

SDK が起動画面のスプラッシュ画面でプログレスバーが止まっているところを貼っておく。
Ubuntu18_04_Vivado_1_180915.png

VirtualBox をインストールしてトラブルシュートを図ろうと、”Ubuntu 18.04: 仮想化のVirtualBoxをインストールする”を参考にして、VirtualBox をインストールした。参考文献の通りで見事インストールすることが出来ました。
ただし、ViturlBoxのViturlBox Manager はウインドウを移動できるのだが、Ubuntu 16.04 をインストールしたウインドウは移動できないし、画面のサイズもドラックアンドドロップで変更できない。なぜ?ということで使い勝手が悪い。

ツィッターでの指摘を参考に32ビット版のライブラリの追加をしてみることにした。
検索してみると、”AR# 66184 インストール - Vivado ツールを Linux で実行するために必要なライブラリの検索方法”があったので、それを参考に32ビット版のライブラリの追加をしてみることにした。
それによると次のライブラリを追加する。
sudo apt install lib32stdc++6
sudo apt install libgtk2.0-0:i386
sudo apt install libfontconfig1:i386
sudo apt install libx11-6:i386
sudo apt install libxext6:i386
sudo apt install libxrender1:i386
sudo apt install libsm6:i386
sudo apt install libqtgui4:i386


これで再起動した。
Vivado 2018.2 を起動して、そこからSDK を起動したところ見事起動した。
Ubuntu18_04_Vivado_2_180915.png

SDSoC 2017.4 も起動して、ビルド中だ。(SDx 2017.4 用の settings64.sh は起動してある)
Ubuntu18_04_Vivado_3_180916.png

いろいろとやっていたので、32ビット版ライブラリが聞いたのか?イマイチ不確定なところはあるが、インストールしておいて損は無いと思う。ツィッターでのアドバイスがあってよかった。ありがとうございます。

Ubuntu 18.04 にアップグレードしてから再起動とシャットダウンがうまく行かなくなってしまった。いろいろと不具合はあるし、Xilinxでもツールのサポートもしていないし、まだアップグレードしない方が良いと思う。

(追記)
SDSoC のビルドがものすごく遅いです。使い物にならなそうです。
これは最初のビルドだったからのようです。Debugで試していたのに、Release ではじめにビルドしたからのようです。Debugでビルドしたら28分位で普通でした。
  1. 2018年09月16日 05:27 |
  2. SDK
  3. | トラックバック:0
  4. | コメント:0

Ubuntu 16.04 をUbuntu 18.04 にアップグレードしてSDK が動かなくなる

Ubuntu 16.04 をUbuntu 18.04 にアップグレードしたのですが、Vivado 2018.2 は動いても、SDK が起動しなくなってしまいました。
調べたら、サポート外でした。Ubuntu 16.04 に戻そうと思いますが、再インストールとなり、かなり時間がかかりそうです。

なお、Ubuntu 18.04 からUbuntu 16.04 に再インストールせずにダウングレードする方法があったら教えてください。
よろしくお願いいたします。

(追記)
Ubuntu 18.04 にVirtualBox をインストールして、Ubuntu 16.04をインストールしようと思います。

(2018/09/16 : 追記)
SDK が起動した。詳しくは、”Ubuntu 18.04 にアップグレードしてSDKとSDSoCが動いた”をご覧ください。
  1. 2018年09月15日 05:59 |
  2. SDK
  3. | トラックバック:0
  4. | コメント:0

Ultra96のベアメタル・アプリケーションソフトが1回しか動作しないときの解決法

Ultra96のDisplayPort テスト用回路1”で、1度アプリケーションソフトを起動して動作し、もう1度、起動したときに 99 % で止まってアプリが起動できない現象が起きた。

どうやってもう一度、アプリを起動できるか?わからなかったのだが、またまた @ciniml さんに怪しそうなところを教えてもらった。いつもありがとうございます。

いろいろと試行してみたところ、どこを設定すれば良いかが分かった。

DP_test プロジェクトを選択して、Project メニューから Properties を選択する。

Properties for DP_test が開く。
System Debugger using Debug_DP_test.elf on Local をダブルクリックして開く。
Ultra96_DP_100_180825.png

Edit Configuration ダイアログが開く。
Reset entire system にチェックを入れる。同時にProgram FPGA にもチェックが入るので、そこはチェックを外す そのままにする。(Reset entire system するとPL の回路がクリアされるか、クロックが供給されなくなるようです。Lチカができなくなりました。よって、再度Program FPGA する必要があるようです)
Ultra96_DP_101_180825.png

これで、何度でもアプリケーションソフトを起動することができるようになった。
  1. 2018年08月25日 21:03 |
  2. SDK
  3. | トラックバック:0
  4. | コメント:0

SDKでstdin, stdout に割り当てられるデバイスを変更

SDK でstdin, stdout に割り当てられるデバイスを変更する方法を書いておく。

SDK で xxx_bsp フォルダの system.mss をダブルクリックして、system.mss を開く。
Modify this BSP's Settings ボタンをクリックする。
SDK_stdin_out_1_180815.jpg

Board Support Package Settings ダイアログが開く。
左のOverview -> standalone をクリックする。
SDK_stdin_out_2_180815.jpg

standalone 画面で、stdin のValue をクリックすると、stdin にできるデバイスがプルダウン・メニューで選択できる。
SDK_stdin_out_3_180815.jpg

stdin, stdout 共に psu_uart_1 に設定変更した。
SDK_stdin_out_4_180815.jpg

これで、OK ボタンをクリックすると、リビルドした。

Ultra96 の uart_0 はブルートゥースに接続されて、端子に出ているのは、uart_1 ということで、端子からUART出力する場合には設定変更が必要となる。
まだ、UARTアダプタをはんだ付けしてないので、はんだ付けして試してみよう。
  1. 2018年08月15日 05:30 |
  2. SDK
  3. | トラックバック:0
  4. | コメント:0

SDKでインクルード・パスを追加する方法

SDK でベアメタルのドライバをインクルードできずに困っていた。
SDK で検索しても全くヒットしなかったが Eclipse で検索すると、「Eclipse のビルドとインクルードの設定」がヒットした。

Eclipse のビルドとインクルードの設定」によると、プロジェクトを右クリックして、右クリックメニューから一番下のProperties を選択する。

Properties ダイアログのC/C++ General を開いて、Paths and Symbols をクリックする。

Includes タブで Add... ボタンをクリックして、インクルード・パスを追加したいパスを追加する。

F:\Xilinx\SDK\2018.2\data\embeddedsw\XilinxProcessorIPLib\drivers フォルダへのパスを追加した。これで各種ドライバへのインクルード・パスが設定できた。
Ultra96_DP_5_180814.jpg

これで、SDK でアプリケーション・プロジェクトを作り直さなくても、ドライバへのインクルード・パスが設定できた。
  1. 2018年08月14日 05:20 |
  2. SDK
  3. | トラックバック:0
  4. | コメント:0