- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正尝试在 ZedBoard 的 Zynq 平台上为嵌入式操作系统 (DNA-OS) 添加多处理器支持。操作系统实际上与 CPU_0 单独 一起完美运行。操作系统架构需要执行一个cpu_send_ipi 函数来激活多处理支持:基本上,这个函数会中断一个处理器并给他一个新的线程来处理。
我在 ug585 中查找 IPI 寄存器(Zynq 技术引用手册)但找不到。
我尝试在 Cortex-A9 规范中进一步挖掘 IPI 寄存器,发现软件生成的中断可以用作 IPI。
PS:为了让我的操作系统处理 SGI,我使用了第 1486 页中 ug585 的寄存器规范:
那么有没有其他特殊配置允许CPU 相互中断?或任何其他实现 IPI 的方式?
问候,
最佳答案
您的引用文档是 GIC(全局中断 Controller )的一种形式。 Cortex-A9 MP 内核包括一个集成的 GIC Controller 。每个 CPU 都包含一个中断接口(interface)。此外,还有一个系统范围的分发器。为了接收 IPI(也称为 SGI 或软件生成中断),您需要启用 CPU 接口(interface)以在第二个 CPU 上接收 SGI 中断。这需要几个步骤,
注意 1:虽然大多数分发器寄存器是系统全局的,但有些也是按 CPU 存储的。例如,参见第 3.3.8 节。 Cortex-A9 MPcore TRM 中的 PPI 状态寄存器。我没有从粗略的调查中看到任何东西,但我不排除这种可能性。
通过在 CPU1 上设置 GIC 分配器 GICD_ISPEND 寄存器来处理 CPU2 上的向量,测试未使用的 SPI(共享外设中断)是否正常工作。这应该验证您是否涵盖了第 2 步和第 3 步。您可能还需要设置类型以确保它们是中断而不是FIQ;特别是如果你有安全支持。您需要使用 GICD_ITARGETSR 寄存器来包含 CPU2。
在通用 GIC 手册的附录 B 中特别有用。出于某种原因,ARM 喜欢不断更改他们发布的每个文档中的寄存器名称。
关于arm - 在 Zynq 中发送处理器间中断 (arm-v7/cortex-a9),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24434350/
我有一台 GigE 相机。我正在使用 Zynq 开发板。现在使用 linux 编程,我对 Zynq 处理器的 PS 部分进行编程并捕获视频,现在我有 imagebuffer 变量,其中包含捕获的图像数
我的 Zynq 目标正在运行 3.2.35-rt52 #1 SMP PREEMPT RT Wed Jun 12 09:57:26 CDT 2013 armv7l GNU/Linux 我需要添加以太网绑
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
直到今天我还在单核上编程,现在我需要在多核上运行我的代码。我研究了大约 1 周,对此有一些疑问。 顺便说一句,我正在使用 Zynq 702、Arm DS-5 和 Dstream。我正在尝试在使用 Co
我开始使用 Zybo,但我非常迷失。我想在开发板和 PC 之间建立以太网连接,在 Zybo 裸机应用程序中运行。 我尝试使用 Xilinx 驱动程序 emacps 的示例进行工作(这对我来说似乎不太简
我想为 zed board 构建 linux。当我查看 u-boot/include/configs 目录中的 zynq-common.h 文件时,我看到 kernel_load_address 是
我想将火箭芯片移植到非 Zynq FPGA(altera Stratix V)上,该板不包含用于运行 riscv-fesvr 的 ARM 内核。我该如何启动端口?另外,有没有人试图在这样的板上运行火箭
我一直在使用 Petalinux 在 Zynq 芯片上开发系统。对我来说仍然是个谜的一件事是从 petalinux 向芯片的逻辑端发出重置的方法。在Vivado中,当添加一个内存映射外设时,会自动插入
我已经在我的 Zynq 开发板上安装了 Petalinux 2014.4,但是当我启动开发板时 NAND 闪存没有安装。我想知道是否可以通过提取包来更改 rootfs.cpio,然后对 fstab 进
我有一个问题想问那些熟悉 Xilinx Zynq 和相关设计工具的人...... 是否可以为 Zynq 7010 (Zybo dev board) 编译和运行 C 代码,不使用 Xilinx 工具链
在无法针对Zynq裸机(Cross compile GNU Scientific Library for ARM Zynq ( baremetal ))交叉编译GNU Scientific库之后,我尝
考虑 PL (FPGA) 端的 AXI4 互连。 当我双击查看可用选项时,从属接口(interface)中有一个选项卡。包含以下选项。 启用寄存器片的目的是什么? outer指的是二级缓存吗? Aut
我们已经按照 wiki-xilinx-linux web page 上的说明创建了,一个系统 Zybo + 嵌入式 linux 内核(我想说明我们没有使用 PetaLinux 但我们已经使用 Xili
我正在寻找一种方法,将一些数据从我用 C 编写的软件应用程序发送到 Zynq 的 AXI-Stream 接口(interface)。有点像 open(/dev/axistream); send_dat
我已经成功地使用 Vivado 和 SDK 为 Digilent Zybo 板上的 Zynq XC7Z010 开发 VHDL 和 C。我也一直在使用 GNAT GPS IDE 学习针对 STM32F4
我正尝试在 ZedBoard 的 Zynq 平台上为嵌入式操作系统 (DNA-OS) 添加多处理器支持。操作系统实际上与 CPU_0 单独 一起完美运行。操作系统架构需要执行一个cpu_send_ip
考虑一个简单的系统,其中 PS(处理器系统)启用了 AXI3 主设备,连接到 AXI4 互连,该 AXI4 互连连接到可以访问 BRAM 内存的 BRAM Controller 。 AXI 窄突发的含
假设我构建了一个 vivado Zynq FPGA 项目,并且我想从 zynq 上运行的 C 程序写入和读取 Zynq 的“M_AXI_GP0”端口,如下所示。此外,假设我想要在 Zynq 的“M_A
我要为 ARM 开发板编写一个 SPI 驱动程序。它不用于 Linux。 昨天看了Xilinx提供的QSPI驱动,试了一下成功。但是,我真的很想编写自己的 SPI 驱动程序。 这是我的问题: QSPI
我在 Zynq 7000 板上使用 Linux 的 Xilinx 发行版。它有两个 ARM 处理器、一些二级缓存、一个 DRAM 接口(interface)和大量的 FPGA 结构。我们的设备收集由
我是一名优秀的程序员,十分优秀!