問題タブ [zynq-ultrascale+]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
404 参照

xilinx - Linux からザイリンクス Axi DMA にアクセスする方法を教えてください。

私はソフトウェア開発者ですが、組み込みソフトウェア開発の初心者です。ハードウェアに Axi DMA を備えた Zynq Ultrascale ボードがあり、Linux からこの DMA にアクセスしたいと考えています。Linux で DMA にアクセスするには DMA-Engine を使用する必要があることはわかっており、ザイリンクス DMA ドライバーである次のリンクを見つけましたが、これらのファイルを qt プロジェクトに追加してもエラーが発生せず、ファイル (ヘッダー ファイル) を受け取りませんでした。エラーが見つかりました。 drivers/dma/xilinx/xilinx_dma.c

DMA ドライバ、デバイス ツリー、および DMA エンジンに関する情報は散在していますが、これらを利用してハードウェア DMA にアクセスする方法については何も知りません。

Petalinux プロジェクトをビルドし、DMA-Engine と DMA テスト クライアントをそのカーネルに追加しました。

DMAEngine を Petalinux プロジェクトに追加するだけで十分なのか、ドライバーも必要なのかわかりません。

ハードウェア仕様 (.xsa ファイルおよび .bit ファイルによる) を Petalinux プロジェクトに追加するだけで十分かどうか、または DMA を検出するために Linux にデバイス ツリーを追加する必要があるかどうかわかりません。

DMA にアクセスするために Linux と qt クリエーターをセットアップする方法に関するステップバイステップのチュートリアル、または少なくともターゲットへの明確なロードマップを調べます。

前もって感謝します。

0 投票する
0 に答える
95 参照

c++ - ザイリンクス SDK でヘッダーが見つからないのはなぜですか?

Ultra96v2 ボードのコース「Introduction to Deep Learning with Xilinx SoCs Technical Training Course」を受講していて、Lab No. 5 に到達しました。

SDK でプロジェクトをビルドすることになるまで、私は従うことができます。失敗し、次のようなエラーが表示されます。

チュートリアルと私が提供したパスに含まれていますが、ヘッダーファイルは見つかりません。実際には、さらに 2 つのファイルが見つかりませんでした。

  • #include <opencv2/opencv.hpp>
  • #include <dnndk/dnndk.h>

それらが含まれていたディレクトリからそれらを手動で選択し、ザイリンクス SDK がヘッダーを検索する必要がある追加のディレクトリに追加することで、それらを含めることができました。しかし、ここで疑問が生じます: そもそもなぜ彼らは見つからないのでしょうか? 正しくインストールし、上記のチュートリアルの指示に従っていれば、ビルドするだけの準備は整っているのではないでしょうか?

実際、ザイリンクス ダウンロード サイト ( Xilinx_SDK_2018.3_1207_2324_Lin64.bin) のインストーラーを使用すると、SDK プログラム (eclipse など) の一部のファイルが不足していたため、SDK が起動しませんでした。そのため、他のインストール (Vivado など) からこれらのファイルをコピーすると、開始されました。これも箱から出してすぐに動作するはずではありませんか?残念ながら再インストールなどはうまくいきませんでした。

したがって、ここで具体化する 1 つの質問は次のとおりだと思います。必要なすべての標準ヘッダー ファイルのディレクトリへのパスを Eclipse/Xilinx SDK に与えて、それらを検索することは可能ですか? 一部の標準ヘッダーには、ザイリンクス SDK で検出されない他のヘッダーが含まれているためです。そして、それは私の問題を解決しますか?

おかしなことに、Ctrl+クリック アクションを使用してヘッダーからヘッダーにジャンプすると、すべてのヘッダーが検出され、問題はありません。埋め込まれた追加のヘッダーが見つからなくなったのは、ビルド プロセスのみです。また、 を に変更する#include_next#include、すべてが再び機能し始めます。に変更#include <header>しても同様#include "header.h"です。その後、動作します。しかし、エラーをスローするすべてのヘッダーを変更することは解決策にはなりません。これは、何らかの理由でこのように生成されたからです。

これは本当に煩わしく、ワークフローを混乱させます。この問題も抱えていて、私を助けてくれる人はいますか?Ubuntu 16.04と Ultra96v2 ボードを使用しています。


アップデート

私がこれまで調査してきたことは役に立たなかった:

  1. https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/993711/cc3235sf-why-is-ccs-eclipse-unable-to-see- c-standard-header-files
  2. インクルードパスが設定されていても、Eclipseはヘッダーファイルを見つけることができません
  3. C++ 標準ライブラリのヘッダーはどこにありますか
  4. https://www.eclipse.org/forums/index.php/t/1088833/

C++ gcc 標準ライブラリのパスを、Eclipse/ザイリンクス IDE がヘッダーを検索するパスとして含めましたが、ファイル内のヘッダーが見つかりません。


更新 2

ここで、問題の始まりを確認できます。すべてが自動生成されるため、特に変更されていない事前定義されたヘッダーとソースであるため、これは本当に奇妙です。

問題の原因

ここでは、通常の標準ヘッダーの場所をインクルード パスに含めていることがわかります。そのため、問題のファイルが見つかるはずです。

パスとして含まれる標準ヘッダー