首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将remoteproc节点添加到基于Zynq-7000的RedPitaya板的设备树中

如何将remoteproc节点添加到基于Zynq-7000的RedPitaya板的设备树中
EN

Stack Overflow用户
提问于 2019-05-23 02:27:23
回答 2查看 725关注 0票数 0

我正尝试在AMP模式下运行RedPitaya。

我没有找到太多关于remoteproc驱动程序的信息,以及它在设备树源代码中需要什么类型的条目。我找到了this文档,并将其添加到设备树中,但没有那么幸运地使示例工作。此外,我还发现来自不同来源的remoteproc在设备树节点中有不同的变体,这非常令人困惑。

谁能告诉我在哪里可以阅读更多关于Arm-Cortex-A9的AMP特性,并解释一下remoteproc的dts节点中的一些条目。

EN

回答 2

Stack Overflow用户

发布于 2019-07-06 11:20:17

我是行动组的。我设法在ZedBoard上用PetaLinux运行了一些AMP示例。该过程在Libmetal and OpenAMP User Guide中进行了描述。本文档最重要的部分在上面的链接版本的第32页上,标题为“使用OpenAMP设置PetaLinux”。

有两个步骤,在内核中支持remoteproc和在内核配置中指定远程应用程序的空间。第二步是将remoteproc的设备树节点添加到设备树源。

我制作了一个关于如何做的视频教程,我认为这更好地解释了它。这是链接:Tutorial 07 Asymmetric Multi-Processing on ZedBoard (OpenAMP, remoteproc, petalinux)

我仍然在研究如何编译我自己的应用程序以在AMP模式下运行,因为有一些与内存相关的问题我还没有完全掌握。当我弄清楚答案时,我会更新答案。和平结束吧。Waqar

票数 1
EN

Stack Overflow用户

发布于 2019-05-30 13:30:20

什么不同的来源?你是在说内核源代码吗?设备树节点条目将依赖于内核版本及其实际驱动器,如果在驱动器或内核远程进程子系统中存在改变,则改变。

ZynqQ-7000是一款双核Cortex A9。根据对文档的粗略阅读,所讨论的remoteproc驱动程序假设一个内核运行Linux,另一个内核帮助完成其他实时任务。mmio-sram是here描述的。由于不确定具体的ZynqQ硬件设计,设备树绑定文档谈到了什么。

要理解vring,您需要了解open-amp和Linux中使用的virtio和rpmsg。vring可以被认为是一个环形缓冲区,其中一个缓冲区用于从master发送到Slave,另一个缓冲区用于从slave发送到Master。中断与每个vring相关联,当主机或从机在vring中放置某些内容,然后想要通知另一端时,会引发中断。

在基于Linux的系统中,Linux始终是主系统。对于Zynq来说,由于我们使用的是两个A9,这将是一个处理器间中断。对于像恩智浦的iMX7或Vybrid这样的SoC,中断是由一个单独的外围模块引起的,比如iMX7的消息传递单元。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56262900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档