问题标签 [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 投票
1 回答
2330 浏览

linux-kernel - 只能实例化 1 个 generic-uio 设备

我正在尝试使用 uio_pdrv_genirq 驱动程序向用户空间公开中断。但是我只能在设备树中实例化 1 个设备,所有后续设备都无法通过探测。系统是zynq-7000,内核版本是3.9.0-xilinx。

设备树:

dmesg 输出:

内核配置:

我确定我早些时候在 Zedboard 上得到了这个工作,我不知道这里可能出现什么问题。

0 投票
2 回答
59067 浏览

sqlite - 致命错误:sqlite3.h:没有这样的文件或目录

我正在尝试通过交叉编译 Zynq 板(ARM 架构)来构建 C 应用程序。当我在没有提及 ARM 拱门的情况下键入 make 时,它​​在我的笔记本电脑上运行良好。但是,一旦我修改 Makefile,我就会收到一条错误消息:

Makefile 看起来像这样:

我究竟做错了什么?感谢我能得到的任何帮助。

0 投票
1 回答
631 浏览

linux - 什么是用于协处理外围设备的 Linux 设备驱动程序的良好接口

我已经编写了一些 Linux 设备驱动程序,但我仍然处于新手 hack 的水平。我可以让他们工作,但这就是我所能声称的。到目前为止,我已经能够将它们变成使用 write() 写入数据和使用 read() 读取数据的模型。我偶尔会使用 ioctl 进行更精细的控制。

现在我想在 FPGA 逻辑中构建一个协处理块,并在同一个 FPGA 中为 ARM 处理器编写一个设备驱动程序,以将工作从 ARM 卸载到 FPGA。我很难弄清楚如何最好地设计这个界面。

如果对协处理器的访问是独占的,则可以将数据写入驱动程序,处理将在 FPGA 架构中进行,并通过调用读取来检索数据。然而,对协处理硬件的独占访问将是一种浪费。理想情况下,任何用户空间进程都可以使用可用的硬件。我相信如果政策要求用户空间进程打开设备、写入数据、读取结果然后关闭文件,它会起作用。似乎每次需要访问协处理器时打开和关闭文件的开销抵消了首先卸载工作的好处。

我知道在设备驱动程序代码中需要处理很多问题,以安全地处理对硬件的多次访问。但从高层次来看,我希望看到一个概念可以使这个接口工作并遵守 Linux 设备驱动程序的良好实践。

暂时抛开所有复杂性,理想的系统似乎是一个任何进程都可以打开设备并具有将数据写入设备的访问点,也许是在阻塞调用中,并且在协处理器完成后读取数据,这很神奇。驱动程序将处理硬件访问,调用进程可以在需要时保持设备文件打开。绝对任何见解或指导将不胜感激!

如果有人关心或者它在某种程度上有用或有趣,这些都是额外的信息:

这个特殊的 FPGA 是 Xilinx 的 Zynq 器件。它在与 FPGA 结构(基于其 Kintex 系列)相同的硅片上具有双核 Cortex ARM A9。该系统正在运行用于 ARM 的 Arch Linux,并且已经运行一年了。我使用通用名称“协处理器硬件”,因为这个想法是随着时间的推移,这块硬件将获得能力,而它的设备驱动程序的用户空间接口保持相当稳定。例如,您将能够编写 1024 个样本并让该模块执行低通滤波操作、FFT 等,并比处理器本身更快地获得结果。

谢谢!这是我在这里的第一个问题,因此我为违反协议和固有的无知道歉。

--蒂姆

0 投票
1 回答
1309 浏览

linux - 包装器驱动程序不处理 Linux 中断

我正在为 Zynq AXI DMA 编写设备特定的 DMA 驱动程序。该驱动程序实际上是一个包装器驱动程序,并在 DMA 引擎驱动程序框架下使用 Xilinx DMA 驱动程序,如下所示:

我使用中断 61 完成传输,使用中断 62 完成接收。Xilinx DMA 驱动程序的中断处理程序已正确安装(我检查了 /proc/interrupts)。但是,我的驱动程序似乎没有通过向我展示这个来正确处理中断:

在此处输入图像描述

我检查了/proc/interrupts。IRQ62 未处理。这是注册中断的代码:

这是 cat /proc/interrupt 的输出:

在此处输入图像描述

我有两个问题:

1) 如果我只为 Xilinx DMA 驱动程序安装中断处理程序而不是包装器驱动程序,而我将包装器驱动程序用作 char 设备,Xilinx DMA 驱动程序不会处理中断?

2)如果是这样,我该如何让Xilinx DMA驱动程序来处理这种情况下的中断?'irqpoll' 是唯一的解决方案吗?与直接中断处理而不是轮询相比,是否存在任何性能问题?

0 投票
1 回答
3363 浏览

linux-device-driver - Zedboard 上的 OLED

我对zedboard很陌生。我有一个运行 Ubuntu 映像的 zedboard。我正在尝试编写一个驱动程序来在板上运行 OLED。在板上启动时,板上的 OLED 显示一些显示(Xilinx 徽标),因此我假设它已经有驱动程序。我有以下问题:

a) zedboard 中的 OLED 是如何内部连接的,是通过 SPI、GPIO 还是 PL。如果是通过 SPI/GPIOs 那么哪些引脚?

b)我可以遵循任何教程或文档来使用 SPI/GPIO 为 zedboard 中的 OLED 创建用户空间驱动程序?

c) 我有一个 redhat 桌面,是否有任何 SDk 可以用来从我的 redhat 桌面为 zedboard 开发用户空间驱动程序。

我在 zedboard 上看到了很多材料,但都没有谈到 OLED 的内部连接方式。在一份文件中,它显示它已连接到 PL。如果是这种情况,那么如何使用 zedboard 上的 PL 编写用户空间驱动程序?我将使用 C 进行编码。

感谢您的帮助,并提前感谢!

0 投票
1 回答
474 浏览

fpga - 通过以太网在 Zynq 上执行 ac 文件?

我在zedboard上设计了一个固件,我想使用某种语言(比如C)为我的固件编写程序并通过以太网传输这个文件,然后编译->执行它。

如果有人可以帮助解决这个问题,我将不胜感激!

预先感谢您的帮助!

问候

0 投票
1 回答
770 浏览

simulink - 在 S-Builder 中的嵌入式编码器 Simulink(用于 Xilinx“Zedboard”目标 Xilinx SDK)上添加外部 C 库

我目前正在使用 Simulink Embedded Coder 方法在 Xilinx Zedboard 上实施一个项目。

现在我必须构建一个连接到数据库的块(通过 MySQL,使用 C 库)。问题是我不知道如何#include <mysql.h>在 S-Function Builder 中指定交叉编译这个 simulink 块的路径。

0 投票
2 回答
754 浏览

simulink - 如何将外部传感器连接到 Zynq-7000 模块?

我目前正在使用 Simulink Embedded Coder 方法在 Xilinx Zedboard 上实施一个项目。

我需要将模拟传感器(驻极体麦克风)与 Zynq 连接,我知道 XADC 需要在 PL 中实例化,然后通过 AXI 链接到 PS,DATA 将在我的算法中需要的 SDRAM 中,但我不知道该怎么做。

谢谢

0 投票
4 回答
13135 浏览

fpga - Xilinx SDK 中 Xil_Out32 的使用

在 Vivado 中,我成功地制作了一个简单的框图来控制我的 Zybo 板的 LED。我可以观察到 myLEDs is: 0x4120 0000High Address is 0x4120 FFFF. 现在,当我转到 SDK 时:

我对 FPGA 进行了编程并运行了上面的代码。但仍然没有任何成功。有人可以指出我的错误吗?

提前致谢

0 投票
1 回答
1217 浏览

embedded - 在哪里可以找到 zynq 7000 Xilinx 的引脚编号文件

我是 FPGA 新手,当我尝试在 zynq-7000 clg484 上实现我的解码器时,出现错误,说:

Bitgen:342 - 此设计包含具有非用户分配的位置 (LOC) 或非用户分配的 I/O 标准 (IOSTANDARD) 的引脚。这可能会导致 I/O 争用或与电路板电源或连接不兼容,从而影响性能、信号完整性,或者在极端情况下会损坏设备或其连接的组件。为防止此错误,强烈建议指定所有引脚位置和 I/O 标准,以避免潜在的争用或冲突,并允许正确创建比特流。要将此错误降级为警告并允许使用未指定的 I/O 位置或标准创建比特流,您可以应用以下 bitgen 开关:-g UnconstrainedPins:Allow

而且我尝试添加-g UnconstrainedPins:Allow,还是不行,说'clk' pin不是最优的,但是说真的,我不知道哪个pin号是通用时钟pin号!

我在哪里可以找到解释板针号的文件?我找不到它,所以我不知道板上的哪个按钮映射到哪个数字,所以在 PlanAhead(I/o 引脚规划)中,我总是不知道要定位哪个数字。