取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
Highlighted
Contributor
Contributor
235 次查看
注册日期: ‎06-18-2020

zcu102开发板使用两个cortex a53核进行通信以及DDR4划分问题

跳至解决方案

最近在搭建一个以太网图像传输平台,在zcu102开发板中使用了两个cortex a53核,第一个cortex a53核用于图像的采集以及处理,过程是这样的,摄像头采集完数据以后,将原始数据转换为AXI-Stream流数据,通过vdma三帧缓存到DDR4中。在DDR4中,第一帧的缓存地址是0X10000000,第二帧的缓存地址是0X20000000,第三帧的缓存地址是0x30000000。然后我修改了lscript.ld文件将psu_ddr0_MEM_0的baseaddr设为0,size设为0x5FFFFFFF。

第二个核跑的是freertos,运行的是tcp服务端的例子,然后我修改了lscript.ld文件,将psu_ddr0_MEM_0的baseaddr修改了0x60000000,size为0x1000000;

现在我想通过freertos运行的lwip程序将摄像头采集且存在DDR4中的数据发送出去。那么这里出现了以下问题:

1、第二个核(运行freertos,以及lwip的)能否访问第一个核存在DDR4中的数据,并将这些数据发送出去,(我测是了一下,可以访问,也可以发送出去)。想了解为什么运行空间不同,还可以访问。

2、如果通过vdma的中断进行两个核之前的通信,比如vdma写完一帧数据以后,产生中断,通知另一个核发送DDR4中存的数据,此方案是否可行?

3、vdma中的停留模式有没有例程可以参考,因为要保证采集的数据不掉帧。

0 项奖励
1 解答

已接受的解答
Highlighted
Xilinx Employee
Xilinx Employee
131 次查看
注册日期: ‎09-14-2018

@Sparkwang1 

1、第二个核(运行freertos,以及lwip的)能否访问第一个核存在DDR4中的数据,并将这些数据发送出去,(我测是了一下,可以访问,也可以发送出去)。想了解为什么运行空间不同,还可以访问

--- Linkscript 的原理是在编译的link阶段将目标文件link到该地址空间,程序将在该地址空间运行。但不影响程序中通过指针等方式操作任何可以access到的地址。

----------------------------------------------------------------------------------------------
如果帖子有帮助,别忘“接受为解决方案”或“奖励”。谢谢!
Don't forget to "Accept as solution" or "Kudo" if it helps. Thanks!
----------------------------------------------------------------------------------------------

 

在原帖中查看解决方案

2 回复数
Highlighted
Contributor
Contributor
216 次查看
注册日期: ‎06-18-2020
请问设计是否合理???
0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
132 次查看
注册日期: ‎09-14-2018

@Sparkwang1 

1、第二个核(运行freertos,以及lwip的)能否访问第一个核存在DDR4中的数据,并将这些数据发送出去,(我测是了一下,可以访问,也可以发送出去)。想了解为什么运行空间不同,还可以访问

--- Linkscript 的原理是在编译的link阶段将目标文件link到该地址空间,程序将在该地址空间运行。但不影响程序中通过指针等方式操作任何可以access到的地址。

----------------------------------------------------------------------------------------------
如果帖子有帮助,别忘“接受为解决方案”或“奖励”。谢谢!
Don't forget to "Accept as solution" or "Kudo" if it helps. Thanks!
----------------------------------------------------------------------------------------------

 

在原帖中查看解决方案