Xilinx社区
首页 > Steve专栏 > Adam Taylor玩转MicroZed系列49:利用Zynq SoC的片上存储空间实现AMP通信
Steve专栏
Adam Taylor玩转MicroZed系列49:利用Zynq SoC的片上存储空间实现AMP通信
来源:  时间:2015-01-27  浏览量:1259


Adam Taylor玩转MicroZed系列49


作者:Adam Taylor


上周我们实现了AMP(非对称多进程处理)模式,并且在ZynqSoC上实现了系统的启动和运行,在ZynqSoC的两个ARM Cortex-A9 MPCore处理器上尝试了最基本的软件应用。现在我想探索一下我们怎样利用ZynqSoC的OCM(片上存储空间)实现双核间的通信。在前面的MicroZed系列的48篇博客中,我们还没有认真的探讨过OCM,只是一带而过。现在我们要使用片上OCM,所以我们需要深入理解片上OCM,其实就像其他的ZynqSoC片上资源一样,OCM的功能比它简单的名字更加的强大。

ZynqSoC拥有片上256K字节的SRAM存储空间,共有四个资源可以访问它,下图展示了Zynq PS(处理器系统)部分的结构图:


以下片上资源可以访问OCM:
1.通过SCU(监听控制单元)片上的两个ARM Cortex-A9 MPcore处理器都可以访问OCM
2.通过SCU(监听控制单元)PL(可编程逻辑)部分利用AXI ACP接口可以访问OCM
3.通过OCM interconnect结构PL部分利用AXI High Performance接口可以访问OCM
4.通过OCM interconnect结构,Central Interconnect可以访问OCM

这么多不同的片上资源都可以访问OCM,因此在我们使用它之前必须要深入理解OCM的操作与控制方法,这非常的重要。

因为这么多种复用接口的资源都可以访问OCM,所以定义访问协议的仲裁和优先级机制是非常有必要的。SCU的读写操作具有最高的优先级(读操作的优先级比写操作要高)。由OCM interconnect发起的读写操作具有第二高的优先级。注:你可以翻转SCU写操作的优先级与OCM interconnect访问的优先级,方法是修改OCM控制寄存器,将SCU写操作的优先级设置的低一些。

OCM可以组织成128位的字存储空间,根据PS部分定义的地址空间OCM存储空间可以划分为四块64k字节的不同位置的存储区域。初始配置是将前三个64k字节的存储块映射到PS部分起始的地址空间,最后一个64K字节存储块映射到PS部分的末端的地址空间,你可以查看下图中链接文件的地址空间的定义(上图为Core 0的地址空间映射,下图为Core 1 的地址空间映射):



注:ps7_ram_xxx与ps7_ram_1映射到内存的区域0和区域1,不是Core 0 与Core 1的地址空间。

OCM存储空间的地址映射图是能够重写规划的,所以是完全连续的,可以映射到地址空间的末端。你可以利用系统级控制寄存器和OCM配置寄存器,通过设置合适的RAM 高位的每个比特位的值完成对OCM存储地址映射空间的配置。

OCM是一个单端口的存储空间,但是你可以利用ZynqSoC的DMA并行访问OCM其他的交换资源模拟出一个双端口的存储空间。要实现这个机制,访问必须是128位数据对齐,不管在任何情况下都要满足。这个方式能够实现较高的吞吐量,因为DMA可以实现高效的传输大量数据。

如果我们将OCM运用到一个要求相当严格的应用中,我们也可以使用OCM 奇偶校验控制寄存器添加错误保护机制。你可以分别设置奇校验或者奇偶校验,通过这个寄存器我们也可以配置ZynqSoC怎样处理奇偶校验的错误(通过输出OCM共享的中断35错误或者例如当检测到读操作错误时,传送一个AXI 读错误(SLVERR)信号)。


现在我们已经相当详细的介绍了OCM,在下一篇博客中将介绍我们怎样利用这个灵活的资源实现Zynq处理器内核之间的通信。
原文链接:
http://forums.xilinx.com/t5/Xcell-Daily-Blog/Adam-Taylor-s-MicroZed-Chro...

© Copyright 2014 Xilinx Inc
如需转载,请注明出处

热点文章
精选视频
推荐资源

中国授权培训机构

北京 电话:(010)82757632
      (010) 62192881
深圳 电话:(0755)86186715
武汉 电话:(027)61389792
成都 电话:(028)80821007
南京 电话:(025)66022032
西安 电话:(029)82230498
邮箱:sales@e-elements.com

中国授权经销商

香港 电话:(852)22127848
北京 电话:(010)84148118
成都 电话:(028)86528262
上海 电话:(021)33678387
深圳 电话:(0755)26584925
武汉 电话:(027)87322806
邮箱:china@avent.com
深圳 电话:(0755)26743210
上海 电话:(021)51696680
北京 电话:(010)51726678
成都 电话:(028)85139576
武汉 电话:(027)87690155
邮箱:
xilinx_enquiry@comtech.com.cn

社区主办


《电子产品世界》杂志社

内容提供


    赛灵思公司

Copyright ©2000-2015 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
京ICP备12027778号-2 北京市公安局备案:1101082052