fpga

无法在 Ubuntu 22.04.3 LTS、基于 Zynq UltraScale+ MPSoC 的 SOM ARM Cortex-A53 4 核处理器上安装 cvxpy.py
fpga

无法在 Ubuntu 22.04.3 LTS、基于 Zynq UltraScale+ MPSoC 的 SOM ARM Cortex-A53 4 核处理器上安装 cvxpy.py

大约 9 个月前,我费了很大的劲才安装了这个,现在它无法通过新的更新/升级安装在同一平台上。以下是软件版本信息: ubuntu@BDv4-10031:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy ubuntu@BDv4-10031:~$ 安装一长串导入和依赖项并成功导航过去的成功后: sudo apt-ge...

Admin

为什么 Linux 在尝试访问连接到轻量级 hps-to-fpga 桥(或任何桥)的外设时会冻结?
fpga

为什么 Linux 在尝试访问连接到轻量级 hps-to-fpga 桥(或任何桥)的外设时会冻结?

我在 Altera DE1-SoC 开发板上工作了 8 个月。我正在开发的系统包括 Cyclone V FPGA 芯片,特别是 5CSEMA5F31C6N。它在芯片上运行嵌入式 Linux 操作系统。 一切都很好,开发正在进行中。两周前,公司的硬件工程师组装了一块新的定制板。设计和组件与开发板基本相似。所有与 HPS 相关的引脚都以相同的方式接线,主要区别在于默认控制台端口是 UART1。该问题现已解决,我现在可以通过 UART1 接收 U-boot 和内核消息。 但系统并没有完全启动。我已经指出了这一点有多种原因。首先,我有一个 init.d 脚本,用于导...

Admin

是否可以部分虚拟化物理地址空间?
fpga

是否可以部分虚拟化物理地址空间?

我目前正在研究包含 FPGA 的系统。我们有各种IP核那些支持AXI总线。与 PL 的 IP 核通信(可编程逻辑),我们需要将它们映射到PS的地址空间上(处理系统)。例如,对于广泛使用的Zynq PS地址空间如下(UG585 - 第 4.1 节:地址映射) 0x0000_0000 至 0x7FFF_FFFF:映射到物理内存。外部 DDR 或片上存储器 0x8000_0000 至 0xBFFF_FFFF:映射到上面解释的 PL 0xE000_0000 至 0xFFFF_FFFF:芯片上的各种其他器件 正如你所看到的,只有前1GB的地址空间被保留给物理内存,...

Admin

帧缓冲区驱动程序 (altfb) 不适用于 24 位显示器
fpga

帧缓冲区驱动程序 (altfb) 不适用于 24 位显示器

我正在开发一个带有 24 位 LCD 显示屏的嵌入式 Linux 系统。我使用terasic linux-socfpga来编译内核,我想使用altfb驱动程序在LCD中显示桌面。为此,我复制了 Linux 驱动程序(https://github.com/coliby/terasic_MTL/blob/master/drivers/video/altfb.c)到我的内核代码,然后我成功编译了代码。但显示器无法正常工作。 经过几天的尝试,我成功显示了桌面,但像素值显示不正确。最后,我成功地显示了如下图所示的内容。为此,我将代码更改为 writel(fbdev-&...

Admin

PCI-Express 设备拒绝从 D3 唤醒
fpga

PCI-Express 设备拒绝从 D3 唤醒

我正在使用 fpga 扩展卡(pci-e 连接;terasic de10 pro)。 我的问题是,每当我几分钟不使用该卡时,它就会完全停止,只有完全关闭才能重新唤醒它。我的驱动程序告诉我类似“设备拒绝从 D3 唤醒”之类的信息。我假设 FPGA 上的 PCI-E IP 在处理电源状态时遇到问题(?) 有谁知道如何防止卡休眠? 或者知道为什么会发生这种情况? ...

Admin

如何从 U-Boot 映像中的单独文件加载设备树
fpga

如何从 U-Boot 映像中的单独文件加载设备树

我想从单独的 dtb 文件加载设备树。所以最后我想在我的启动分区上得到以下文件: BOOT.BIN(第一阶段引导加载程序) image.ub(U-Boot 第二阶段引导加载程序,包括内核和文件系统) system.dtb(由于开发板上的 FPGA,设备树经常会发生变化) 这甚至可以实现吗?任何方便的替代方案也是可以接受的。无论如何,我使用的是带有 Petalinux 2019.1 的 Ultra96 v2 开发板。 ...

Admin

在 zynq 上访问非对齐内存时出现总线错误
fpga

在 zynq 上访问非对齐内存时出现总线错误

编辑:我应该把它放在一个更好的 stackexchange 网站上吗? 我正在尝试使用连接到 zynq 超大规模芯片的 FPGA 端的 DDR4,特别是在 Xilinx 的开发板 zcu102 上。我正在使用 Vivado 的 MIG 生成控制器并连接到主处理器的 HPM0 AXI 端口。内存长度为0x2000_0000,映射到物理地址0x4_0000_0000。 我遇到的问题是访问未对齐的内存时。我认为这是由于设备树中缺少细节而导致 MMU 中的一些配置错误。 我知道的一件事是,这个手臂(A53)应该能够在必要时将未对齐的访问转变为对内存的多次访问。...

Admin

允许 /dev/mem 的部分内存映射
fpga

允许 /dev/mem 的部分内存映射

我有一个 SoC-FPGA(DE0-nano-soc),其中在单个芯片上包含一个 ARM-Cortex-A9 cpu 和一个 Cyclone V FPGA。 CPU 可以访问 1GB DDR3 内存,但 FPGA 也可以访问该内存,以便它们可以共享数据。 现在我已经使用引导参数将 Linux 配置为仅看到 900M 的总 RAM mem=900M。这样我就有了一些 Linux 不接触的 RAM,我可以用它来与 FPGA 通信。我想使用 写入 RAM 的那部分/dev/mem。当我内存映射适当的地址时,我收到权限被拒绝错误,我猜测这是因为我的内核已CONFI...

Admin

使用 SMMU 共享 Linux 创建的 aarch64 页表
fpga

使用 SMMU 共享 Linux 创建的 aarch64 页表

我目前正在 Xilinx Zynq Ultrascale+ 板上的 Linux arm64 中创建共享虚拟地址空间。将来,应该可以利用内置的 ARM SMMU 500 (IOMMU) 和缓存一致性接口 (CCI) 在 Cortex A53 和 FPGA 之间共享指针/地址,而无需任何用户操作。 为此,我使用了 Linux 内核 v4.14.0 的 driver/iommu/arm-smmu.c iommu 驱动程序,并对其进行了修改以删除大部分虚拟化抽象,以及单独的自定义内核模块和 ioctl。因此,每个进程...

Admin

更改引导加载程序的主引导记录 (MBR) 起始分区地址
fpga

更改引导加载程序的主引导记录 (MBR) 起始分区地址

据我了解,Linux 系统的分区 - 当从嵌入式设备上的 SD 卡启动时,应该类似于: 我想将分区 2 向上移动并将其与未使用的空间合并。在这种情况下,分区的顺序将是 1, 3, 2。根据我所读到的内容,只要正确修改 MBR 分区起始地址或正确修改引导加载程序,分区的顺序就应该无关紧要。经过广泛的谷歌搜索后,我不确定如何做到这一点以及我是否走在正确的道路上。任何意见将是有益的。 谢谢你, ...

Admin

Linux 在访问 Xilinx ARM SoC 上的 io 内存时冻结
fpga

Linux 在访问 Xilinx ARM SoC 上的 io 内存时冻结

我正在尝试读取 FPGA 内存Xilinx Zynq 板(zc702) 作为将 RTEMS 驱动程序移植到 Linux 的一部分。我正在使用开发内存2和mmap_测试我使用 Yocto 交叉编译器为开发板交叉编译的程序。该板有 1 GB 普通内存。这意味着 0x0 到 0x40000000 之间的任何读取都会返回有效内存。然而,问题是,当从 0x7AA00000 读取时,内核立即崩溃,甚至没有将内核恐慌消息打印到终端(带有 minicom 和 ssh 的串行端口)。我什至编写了小样本内核模块来从该地址读取并使用 kprint,但它会导致相同的崩溃。由于该驱动...

Admin

如何使用 linux-socfpga 启用 USB?
fpga

如何使用 linux-socfpga 启用 USB?

我将 Altera 的 github 存储库(最近更新的主分支)中的 linux-socfpga 与我的 DE2-115 FPGA 一起使用。 jtag 配置的输出是: $ jtagconfig1) USB-Blaster [2-2] 020F70DD EP3C120/EP4CE115 我想知道它是否可以找到我连接的 USB 存储器?当我运行 lsusb 时,什么也没有出现。也许是FPGA设计错误? # Linux version 4.11.0-rc7-00113-g94836ec (developer@1604) (gcc version ...

Admin

Linux 用户空间 PCI 驱动程序选项? (uio_pci_generic)
fpga

Linux 用户空间 PCI 驱动程序选项? (uio_pci_generic)

我的 PCI 总线上有一个 Xilinx FPGA PCIe 端点。 Linux 很好地识别了设备,lspci 中的一切看起来都很完美。 我的问题是关于用户空间的 PCI 访问选项以及什么是好/坏。 选项 1:通过 /sys/.../resource0 直接访问 (到目前为止我只成功完成了一项工作) 我可以打开并 mmap 说 /sys/bus/pci/devices/XXXX:XX:XX.X/resource0 然后 mmap 并读/写。只需要先修复权限即可。我的问题是,这是好还是坏方法?感觉这可能不是访问 PCI 地址空间的首选方法? 选项 2...

Admin

为什么我给电源后u-boot启动这么晚
fpga

为什么我给电源后u-boot启动这么晚

在基于 ARM Cortex A9 的 Zynq zc702 板上从 SD 卡运行 PetaLinux。 Zynq 是一款采用 ARM 和 FPGA 的 SoC。 在日志消息(对应于 U-Boot)开始打印之前,屏幕(串行控制台)为空白,但已通电。 因此,从我通电到屏幕上显示 u-boot 日志消息之间存在相当长的时间延迟(实际上大约 10 秒)。 这段时间发生了什么? 如何尽量减少这个时间呢? 如何打印这段时间内的日志消息? 我的U-Boot在BOOT.BIN文件中,它有三个组成部分: 第一阶段引导加载程序 (FSBL) download....

Admin

如何通过 SDCard 使用 Linux 在 Zedboard 中连接互联网
fpga

如何通过 SDCard 使用 Linux 在 Zedboard 中连接互联网

我正在 Zedboard Zynq 7020 上工作。我已经通过 Zedboard 通过 SD 卡启动了 Linux。 Linux 显示可以通过 VGA 线显示到显示器上。但我无法将 Linux 连接到互联网。 Linux 也没有检测到任何无线网络。我将 LAN 电缆的一端插入 Zedboard,另一端插入 PC。 我尝试写入ifconfigLinux 终端并收到以下消息: root@localhost:˜# ifconfig eth1 Link encap:Ethernet HWaddr 00:11:22:33:44:55 inet6 addr: fe...

Admin