hisi DDR内存空间的分配

总的 DDR = OS+MMZ

OS代表操作系统内存
MMZ为海思编解码等功能使用的内存

海思说明文档参考
1、DDR内存管理说明
1)所有DDR内存中,一部分由操作系统管理,称为OS内存;另一部分由MMZ模块管理,供媒体业务单独使用,称为MMZ内存。
2)OS内存起始地址为0x40000000,内存大小可通过bootargs进行配置,例如第三章中的setenv bootargs 'mem=64M … ',表示分配给操作系统(OS)内存为64M,您可以根据实际情况进行调整。
3)MMZ内存由MMZ内核模块管理(mpp/ko_hi35xx目录下的mmz.ko),加载mmz模块时,通过模块参数指定其起始地址及大小,load脚本中根据osmem大小来进行计算,例如:

  ./load3521d -a -ad 6134 -osmem 64

您也可以通过修改mpp/ko目录下load3520dv400脚本中的mmz模块参数,来修改其起始地址和总大小。
4)请注意MMZ内存地址范围不能与OS内存重叠。

如果两者地址重合,出现ERROR,重新调整OS和mmz大小

ERROR: Conflict MMZ:
PHYS(0x90000000, 0x9FFFFFFF), GFP=0, nBYTES=262144KB,   NAME="anonymous"
MMZ conflict to kernel memory (0x80000000, 0x9FFFFFFF)
Add MMZ failed: PHYS(0x90000000, 0x9FFFFFFF), GFP=0, nBYTES=262144KB,   NAME="anonymous"

OS内存使用情况查询

cat  /proc/meminfo

在这里插入图片描述

MMZ内存使用查询:

cat  /proc/media-mem 

MMZ内存申请后不再增加,DDR内存在保证MMZ能够使用的情况下,OS多分配一些内存。
红框中可以看到总分配的内存,已经使用和剩余的内存情况
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/WANGYONGZIXUE/article/details/106611675