問題タブ [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.
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 クリエーターをセットアップする方法に関するステップバイステップのチュートリアル、または少なくともターゲットへの明確なロードマップを調べます。
前もって感謝します。
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 ボードを使用しています。
アップデート
私がこれまで調査してきたことは役に立たなかった:
- 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
- インクルードパスが設定されていても、Eclipseはヘッダーファイルを見つけることができません
- C++ 標準ライブラリのヘッダーはどこにありますか
- https://www.eclipse.org/forums/index.php/t/1088833/
C++ gcc 標準ライブラリのパスを、Eclipse/ザイリンクス IDE がヘッダーを検索するパスとして含めましたが、ファイル内のヘッダーが見つかりません。
更新 2
ここで、問題の始まりを確認できます。すべてが自動生成されるため、特に変更されていない事前定義されたヘッダーとソースであるため、これは本当に奇妙です。
ここでは、通常の標準ヘッダーの場所をインクルード パスに含めていることがわかります。そのため、問題のファイルが見つかるはずです。