问题标签 [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.
c - MPSoC 的 uart 是否打印为 50Mhz?
我试图将我的 QSPI 请求频率保持在 50 Mhz,因为 Enclustra 的这份数据表:“Mercury XU5 SoC 模块,用户手册”说“QSPI 闪存支持高达 50 MHz 的标准读取操作。”。如果这是错误的,请纠正我,我找不到更新的工作表!从过去我了解到 QSPI 和 UART 需要具有相同的请求。频率。让我在刷完程序后打印任何东西。但是,当我闪烁时,UART 不会以 50 Mhz 为我打印任何内容,而当我只是使用 JTAG 在本地运行代码而不是闪烁时,它甚至不会打印。我尝试过从 9600 到 115200 的波特率。
我需要设置一个寄存器还是什么?在 XSDK 中,我可以更改名为:CONFIG.PSU__UART0__BAUD_RATE 和 CONFIG.PSU__UART1__BAUD_RATE 的寄存器。
我正在使用具有 Zynq UltraScale+ MPSoC 的 Enclustra XU5 在 Vitis 2021.1 上运行。我使用的是 qspi-x1-single flash 类型。
那么我的问题是:XU5 是否需要 100 MHz 的频率才能通过 UART 打印某些内容?
xilinx - 如何从 Linux 访问 Xilinx Axi DMA?
我是一名软件开发人员,但我是嵌入式软件开发的新手。我有一块 Zynq Ultrascale 板,它的硬件中有一个 Axi DMA,我想从 Linux 访问这个 DMA。我知道我应该使用 DMA-Engine 在 Linux 中访问 DMA,我发现以下链接是 Xilinx DMA 驱动程序,但我无法将这些文件添加到我的 qt 项目中而没有任何错误,并且我收到的文件(头文件)不是发现错误。 驱动程序/dma/xilinx/xilinx_dma.c
我有一些关于 DMA 驱动程序、设备树和 DMA 引擎的零散信息,但我对如何利用这些来访问硬件 DMA 一无所知。
我构建了一个 Petalinux 项目并将 DMA-Engine 和 DMA Test 客户端添加到其内核中。
我不知道将 DMAEngine 添加到 Petalinux 项目就足够了,或者我也应该有一个驱动程序。
我不知道向 Petalinux 项目添加硬件规范(通过 .xsa 文件和 .bit 文件)就足够了,或者我应该在我的 Linux 中添加一个设备树来检测 DMA
我查找了有关如何设置 Linux 和 qt creator 以访问 DMA 的分步教程,或者至少是我的目标的清晰路线图。
先感谢您。
c++ - 为什么在 Xilinx SDK 中找不到标头?
我正在学习 Ultra96v2 开发板的“ Xilinx SoC 深度学习技术培训课程简介”课程,并达到了 5 号实验室。
在我应该在 SDK 中构建项目之前,我可以继续跟进。它失败并告诉我如下错误:
它没有找到头文件,尽管它包含在教程和我提供的路径中。实际上,还没有找到两个附加文件:
#include <opencv2/opencv.hpp>
#include <dnndk/dnndk.h>
我可以通过从它们所在的目录中手动选择它们并将它们添加到 Xilinx SDK 应该在其中搜索标头的额外目录来包含它们。但这带来了一个问题:为什么一开始就没有发现它们?正确安装并按照上述教程中的说明进行操作后,我不应该全部准备好构建它吗?
实际上,通过使用 Xilinx 下载网站 ( Xilinx_SDK_2018.3_1207_2324_Lin64.bin
) 上的安装程序,SDK 没有启动,因为 SDK 程序缺少一些文件(eclipse 和其他一些东西)。因此,一旦我从其他安装(Vivado 等)复制了这些文件,它就开始了。这不是开箱即用的吗?不幸的是,重新安装等都没有用。
所以我想这里明确的一个问题是:是否有可能为 Eclipse/Xilinx SDK 提供所有必需标准头文件的目录路径并在其中搜索?因为在某些标准头文件中,它们包含其他头文件,而赛灵思 SDK 又找不到这些头文件。那会解决我的问题吗?
有趣的是,当我使用 Ctrl+Click 动作从一个标题跳转到另一个标题时,所有标题都找到了,没有问题。仅在构建过程中不再找到嵌入的更多标头。此外,当我将 更改为#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-标准头文件
- 即使设置了包含路径,Eclipse 也找不到头文件
- C++标准库的头文件在哪里
- https://www.eclipse.org/forums/index.php/t/1088833/
我已经包含了我的 C++ gcc 标准库的路径作为 Eclipse/Xilinx IDE 应该在其中搜索头文件的路径,但文件中的头文件没有被找到。
更新 2
在这里你可以看到问题从哪里开始。这真的很奇怪,因为一切都是自动生成的,因此应该可以正常工作,特别是因为那些是预定义的标题和源,我没有改变它们。
在这里,您可以看到我在包含路径中包含了通常的标准头文件位置,因此应该可以找到相关文件。
c++ - 在 Zynq Ultrascale 上的 gstreamer 中使用 omxh265enc 时出错
Streamer
为了便于使用,我将 gstreamer API 调用封装在C++ 类中。课程如下。我在一个流式传输随机数据的简单测试中使用它,它可以正常工作 x265enc 和 x264enc。但是,当使用 omxh265enc 或 omxh264enc 块时,它会在 arm64 上崩溃。
和简单的测试:
使用管道运行应用程序( appsrc name=source ! videoconvert ! queue ! x264enc tune=zerolatency bitrate=2048 speed-preset=superfast ! video/x-h264,profile=high ! rtspclientsink location=rtsp://localhost:8554/ir )
一切正常。
但是,当使用( appsrc name=source ! videoconvert ! queue ! omxh264enc ! video/x-h264,profile=high ! rtspclientsink location=rtsp://localhost:8554/ir )
GST_DEBUG=2 时,我会收到以下警告和错误:
关于为什么会发生这种情况的任何想法?我不太确定如何阅读警告/错误...
第二个可能不相关的问题是我试图使用GstBus *bus = gst_element_get_bus(mPipeline);
调用获取的总线对象是nullptr
.
xilinx - 使用 petalinux-config 时,我无法删除或移除任何字符
我正在为自定义 zynqMP 板运行 petalinux 2020.1 项目。我已经毫无问题地创建了项目,并且正确执行了 petalinux-config 命令。问题是当窗口显示我可以移动每个项目时,但是当我想修改字符串配置时,我只能输入字符,但是当我尝试删除或 supr 时什么也没有发生。
我尝试将 OE_TERMINAL 从 auto 更改为 xterm,但我仍然遇到同样的问题。
有人有同样的问题吗?
我使用的是 Ubuntu 20.04.4 发行版。