FC2カウンター FPGAの部屋 Vivado のSDKのハードウェア・プラットフォームによる動作不良

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

FPGAの部屋

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

Vivado のSDKのハードウェア・プラットフォームによる動作不良

SDK (Software Development Kit) を使用したVivado のプロセッサ・ベースのFPGA回路で、いろいろと検証して動かないはず無いんだけど、動かない時があります。分かってはいたのですが、相当、悩んでしまったので、その時の対処を書いておきます。

Vivado のIPI (IP Integrator) で回路を大幅に変更した時に、論理合成、インプリメント、ビットストリームの生成を行って、ハードウェアをエクスポートし、SDKを起動した時にハードウェア・プラットフォームが新しく出来てしまう場合があります。
下の図で言うと、ZYBO_0_wapper_hw_platform_0 と ZYBO_0_wapper_hw_platform_1 の2つのハードウェア・プラットフォームがあります。
SDK_hw_platform_1_160105.png

これは、最初に作られたのは ZYBO_0_wapper_hw_platform_0 だったんですが、途中でハードウェアを変更した後で、ZYBO_0_wapper_hw_platform_1 が新たに作製されました。

そこで問題になるのは、古いZYBO_0_wapper_hw_platform_0 で作製したApplication Project です。
Application Project は作成する時にHardware Platform を指定して作製します。つまりハードウェア・プラットフォームを元に生成されます。(たぶん。。。)
SDK_hw_platform_2_160105.png

よって、古いハードウェア・プラットフォームで生成されたApplication Project は新しいハードウェア・プラットフォームには対応できない場合があります。たぶん、IPのアドレス・マップが変更された場合は正常に動作することができません。
間違いを無くすためにも、新しいハードウェア・プラットフォームができていたら、既存のApplication Project と古いハードウェア・プラットフォームをすべて消去しておくのが安全だと思います。古いApplication Project のソフトウェアを動かすことがある場合は気をつけて、そのままにしておかなくては、ならないでしょうけれども。。。

Application Project の消去の仕方ですが、まずはApplication Project (BSPごと)消去する前に、ソースコードも消去してしまうので、必ず C や C++ のソースコードを ???.sdk フォルダにコピーしておきましょう。
ここでは、ZYBO_0_152.sdk -> cam_disp -> src フォルダにある cam_disp_axis.c ソースコードを ZYBO_0_152.sdk フォルダにコピー&ペーストしておきます。
SDK_hw_platform_5_160105.png

SDK_hw_platform_6_160105.png

cam_disp フォルダとcam_disp_bsp フォルダを消去します。
消去するフォルダを選択して右クリックし、右クリックメニューからDelete を選択します。
SDK_hw_platform_3_160105.png

Delete Resoures ダイアログが表示されます。
Delete project contents on disk (cannot be undone) のチェックボックスにチェックを入れて、OKボタンをクリックします。
SDK_hw_platform_4_160105.png

すると、cam_disp フォルダとcam_disp_bsp フォルダが完全に消去されます。
後は、Application Project を生成する手順で、新しい方のハードウェア・プラットフォームを指定して、再度生成します。

古いハードウェア・プラットフォームも消去しておきましょう。ハードウェア・プラットフォームはどれかのファイルを保存しておく必要はありません。
  1. 2016年01月05日 05:00 |
  2. Vivado
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog19.fc2.com/tb.php/3357-08a70cb1
この記事にトラックバックする(FC2ブログユーザー)