3919|1

16

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

DM81xx DVR_RDK Memory Map [复制链接]

在DVR RDK中支持多种不同的usecases,为了更有效地利用内存,在SYS/BIOS侧将物理内存配制成多个段,不同的段的大小是可以配置的,具体属性各不相同。

    下面简单介绍下各个区域的用途:

Linux Memory:分配给linux管理的内存区域

Shared Regions:受限制的共享内存区,根据配置不同,其属性也各不相同,具体配置请参考syslink文档

l Syslink MessageQ/IPC ListMP:Non-cached on M3

l Bitstream Buffer:Cached on A8. Cached on M3, although access by DMAs

l Frame Buffer:VPSS - Video M3 Frame Buf

l IPC ListMP for Dual-M3:Cached on M3

Slave Code and Data Section Memory:各个处理器的代码段和数据段,包括DSP和Dual-M3系统

Remote Debug Memory:即2.2.1中所说的Remote debug部分的共享内存

VPDMA Descriptiors Memory:用于存放VPSS M3部分分配的DMA配置

Host VPSS Notify Shared Memory:用于使用FBDev时传递A8侧命令至VPSS M3侧

Tiler Memory:为HDVPSS和HDVICP提供Tiled内存,包含8bit区和16bit区。

FBDev Shared Memory:为VPSS M3侧驱动提供内存

硬件上的限制:


  • Ducati M3系统无法访问超过0xA0000000的代码区;
  • Ducati M3系统无法访问超过0xE0000000的数据区;
  • Ducati M3系统中的AMMU只能管理512MB或者32MB的大内存段(largePages),被划分成了四个段,其中一段用于映射寄存器,因此AMMU只能访问这三个内存段;

软件上的限制:


  • 由于linux系统的内核空间为1GB、用户空间为3GB,因此内核最大只能映射1GB的存储空间,其中包含了启动参数及共享内存区;
  • 共享内存是静态分配的,因此修改后需要重新编译链接;
  • 由于映射Frame Buffer会消耗大量的内核空间,因此并未被映射到A8侧,用户在需要的时候动态映射(如使用IPC Frames In/Out link);


在修改内存分布的时候需要注意的事项:


  • 必须考虑上述的软硬件上的限制;即VPSS M3VIDEO M3的代码段必须放置在低512MB的物理内存里,并且需要在AMMU配置中将虚拟地址一一映射到物理地址;
  • 最少需要留2MB的空间给Syslink-Notify给内核空间,用于A8VPSS M3的通信,位置改变的时候,需要注意bootargs中的参数notifyk.vpssm3_sva也需要相应修改;
  • RemoteDebug段是用于方便调试用的打印消息暂存区,除A8外,所有消息打印都存在该区域,并使用Vps_printf调用,送到linux侧串口终端打印出来。可用于日志记录。在原有的一套代码中,需要自己根据内存配置指定日志记录所处的内存位置。用户可以将该套代码修改后集成到源程序中,做出实时打印来方便调试。具体位置可以根据配置,修改TI原有的genaddrinfo.xs脚本来产生一个头文件来指定(具体可仿照genaddriinfo.xs中生成env_xx_xx.sh的方法生成一个宏定义的头文件autocfg_mem.h,供其他代码调用)。
  • Linux Memory大小改变同样也需要修改bootargs中的mem参数,如果被分成多段的话,则可以使用mem=@来指定,需要注意的是TI在后续版本中要求Linux Memory需要按照4MB对齐。
  • Tiler Memory的起始地址需要128MB对齐,如果不使用Tiler Memory,该段内存会被用于Frame Buffer或者Bitstream Buffer的补充;

最新回复

了解一下,多谢楼主   详情 回复 发表于 2015-6-29 11:30
点赞 关注
 

回复
举报

3836

帖子

19

TA的资源

纯净的硅(中级)

沙发
 
了解一下,多谢楼主
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表