问题标签 [zynq]

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 投票
0 回答
95 浏览

c++ - 在 Xilinx Zynq 上的中断 C++ 中,在中断外部初始化和设置的值为零

我的代码遇到了一个相当奇怪的问题,其中我有一个在 main 中初始化的值。一旦我尝试在中断中调用该变量,它就是 0。我在这里缺少什么?不同的变量是否存在于中断中?

我想指出,这是一个关于中断的更具理论性的问题,以及我是否不能在空闲和中断之间共享值。

0 投票
1 回答
286 浏览

c++11 - C ++将外部变量导入私有类变量

我试图将在main我的类的私有变量中声明的变量而不将其作为构造函数的参数传递。我需要将中断控制器链接到多个硬件中断,而无需重新初始化中断实例并因此覆盖它。

Foo类的实现:

deviceID 和 slaveMask 在包含的标头中定义。

有没有办法做到这一点?

0 投票
0 回答
229 浏览

fpga - 从 Vivado SDK 同步 2 个 fifo

我正在试验 zynq 7020 和 Vivado 2016.1。到目前为止,尝试本教程http://www.fpgadeveloper.com/2014/08/using-the-axi-dma-in-vivado.html有效。(使用 AXI DMA 和 AXI4-Stream 数据 FIFO 的简单示例)

使用 2 个 fifo 扩展此示例也以相同的方式工作。所以在 sdk 中使用“XPAR_AXIDMA_0_DEVICE_ID”和“XPAR_AXIDMA_1_DEVICE_ID”是有效的。

使用这只是一个学术例子,有些毫无价值。使用 2 个 FIFO 的意义是将输出组合为浮点 IP 或类似的东西。

我的问题是如何在 sdk 中以正确的顺序填充足够快和同步的内容?

举个简单的例子:用数字填充两个 FIFO [1 2 3 4 5...] 将它们与浮点 IP 读取结果相加 [2 4 6 8...]

0 投票
1 回答
394 浏览

qt - 具有 FPGA PL 和 PS 帧缓冲接口的示波器类型设计?

我正在我的一个 verilog 模块中生成某个信号(数字脉冲),该模块在 Xilinx Zynq 芯片的可编程逻辑上运行。信号非常快,时钟约为 200MHz。我还运行了一个简单的 linux 和 framebuffer Qt 接口,用于稍后控制我的应用程序。

如何对信号进行采样以便在我的 Qt 应用程序中制作类似示波器的界面?我希望能够提供我正在生成的脉冲的视觉效果。

我需要使用什么才能以这样的时钟频率采样足够的数据?以及如何将它与内核模块或 mmap 一起传递给 Qt?

0 投票
1 回答
628 浏览

zynq - 什么是/如何获得设备树编译器?

我正在尝试对 Xilinx zc706 板进行编程,这涉及构建 Linux 内核和设置引导加载程序。我正在遵循此处给出的工作流程。

下载东西后的第一步是制作设备树编译器,我需要它来获得 UBoot,我需要它来启动 linux。我从 github 上获得了 DTC 的源代码,但是当我进入 SDK shell 时,移动到目录,并输入“MAKE”,我得到了一个错误:

sed:-e 表达式 #1,字符 1:未知命令:`''

-x 在这个时候是出乎意料的。

" " LEX 转换-dtsv0-lexer.lex.c

process_begin: CreateProcess(NULL,flex -oconvert-dtsv0-lexer.lex.c convert-dtsv0-lexer.1, ...) 失败。

然后是其他一些东西,说找不到文件,大概是因为这第一件事失败了。

我不知道如何阅读这个错误,这对我来说是胡言乱语。有人可以解释这个版本有什么问题,或者我如何获得运行 Zynq 芯片所需的 DTC 或 UBoot?

0 投票
1 回答
253 浏览

networking - 测试 NTP 以在本地网络中的节点之间进行时间同步

我需要你的专业知识:

我有一个 Xilinx zynq 板和一台正在与 NTP 服务器(第 3 层)同步时间的台式计算机,NTP 服务器是一台台式计算机,它正在与 NTP 池同步时间,现在是为了测试和计算两者之间的时间差嵌入式系统(Zynq)和台式机我使用的简单回显方法如下所述:

注意:除本地 NTP 服务器和 NTP 池外,所有通信均通过无线网络进行。

  • 客户端将其时间发送到服务器
  • 服务器读取数据包并将其时间与数据包的时间进行比较并打印出来
  • 服务器把它的时间放到另一个数据包上 把它发送给客户端
  • 客户端获取数据包读取它并打印差异时间

这给了我大约 1-2 毫秒的时差

现在的问题是,用另一种方法测试:简单的发送和接收而不是回显方法,这意味着一个系统只发送带有时间戳的数据包,另一个系统只读取和打印时间差,导致时间差大 10 倍!我想知道你们是否知道这背后的原因是什么?

0 投票
2 回答
1804 浏览

xilinx - Petalinux 和 FreeRTOS 的定性比较

我将开始在 Zynq 板上开发应用程序。我的任务基本上是移植在双核 ARM 上的 Microblaze 上运行的现有应用程序。

我想知道在新系统上使用哪个操作系统,因为我在这个领域完全没有经验。在我看来,有四种主要方法:

1) Petalinux(使用两个内核)

2) Petalinux+FreeRTOS(使用两个内核)

3) FreeRTOS(仅使用一个内核)

4) 裸机(仅使用核心)

我的应用程序要做的是在以太网和多个自定义链路之间移动大量数据,因此它必须服务大量中断并指挥大量 DMA 操作。

Petalinux 在中断服务中引入了多少与 baremetal 或 FreeRTOS 相关的开销?对于这种工作,您是否认为单核应用程序在没有任何操作系统的情况下运行更快,或者,例如,具有操作系统开销(以及信号量或互斥体等同步机制)的 Petalinux 应用程序?

我知道这个问题并不精确而且很模糊,但是我没有该领域的经验,我强烈需要一些初步的提示。

谢谢你。

0 投票
1 回答
157 浏览

fpga - Vivado 版本差异第一阶段引导加载程序

我在 Vivado 2016.1 中有一个小问题和错误。对于我的 zynq (z-turn 7020) Vivado SDK 无法编译工作的第一阶段引导加载程序(编译不是问题,只有 .elf 文件不工作)。但是,使用具有工作 fsbl 的旧 2014.4 或 2015.4 项目在 BOOT 映像中工作。如果我不从 sd 卡启动并直接使用 SDK 中的项目,它就可以工作。

来自不同 SDK 版本的 .elf 文件之间的确切区别是什么?如果在较新的项目中使用旧的 fsbl 来创建 boot.img,我会遇到什么问题吗?

0 投票
1 回答
1121 浏览

linux-device-driver - GPIO 到 I2C 内核驱动程序(与 i2c-gpio 相对)

我的 Zynq 板有 SPI、I2C 但没有内核级 GPIO(MIO 上的 GPIO 被发送到一堆其他东西),所以我无法从标题中获取它。当我这么说的时候相信我。

我需要一些内核级 GPIO,以便驱动触摸屏界面。我需要将一些 GPIO 映射到 stmpe610 触摸屏驱动程序(设备树兼容 =“st,stmpe610”)。这一切都很好。所以我想做的是以某种方式将 I2C 映射到 GPIO(将连接到显示器),并将驱动程序通过 I2C 连接到接口。这样我就可以从内核空间访问我的 i2c 扩展器的 GPIO 引脚。

我查看了 i2c-gpio 驱动程序,但它与我想要的相反(http://lwn.net/Articles/230571/)。它采用 GPIO 并通过 bit-banging 使其成为 I2C。

我有一个 i2c 扩展器迷你板,它将带 I2C 并输出 GPIO。因此,如果我有一个 gpio-i2C 那就太好了。

也许我走得太远了,偏离了人迹罕至的地方。stmpe610有i2c驱动吗?这也将缓解我的问题。

<<

0 投票
1 回答
432 浏览

camera - Arducam OV5640 摄像头模块无响应

我正在从事一个涉及在 Digilent Zybo 板上使用 Zynq FPGA 的相机的项目。我可以通过 SCCB 配置 OV7670 成功地获得响应。即使没有配置,只要我提供适当的 XCLK 信号,OV7670 也会提供 PCLK 并驱动数据引脚。我最近买了一个 Arducam OV5640 模块。到目前为止,我阅读的有关此模块的文档表明我仍然可以使用 3.3V 逻辑。提供 12-25MHz XCLK 信号时,我没有从该模块得到响应。有人可以指出我正确的方向并让我意识到我可能做错了什么吗?真的是 3.3V 逻辑还是应该更低?是否有一些我不知道的上电顺序应该与 OV7670 不同?

任何帮助都感激不尽。我真的被困住了,众所周知,Omnivisions 文档远未完成。