Hi35xx地址空间分配与使用

来源:互联网 发布:网络教育含金量高吗 编辑:程序博客网 时间:2024/06/05 09:14

1、DDR内存管理说明
1)所有DDR内存中,一部分由操作系统管理,称为OS内存;另一部分由MMZ模块管理,供媒体业务单独使用,称为MMZ内存。
2)OS内存起始地址为0x80000000,内存大小可通过bootargs进行配置,例如第三章中的setenv bootargs ‘mem=64M … ‘,表示分配给操作系统内存为64M,您可以根据实际情况进行调整。
3)MMZ内存由MMZ内核模块管理(mpp/ko_hi35xx目录下的mmz.ko),加载mmz模块时,通过模块参数指定其起始地址及大小,例如:
insmod mmz.ko mmz=anonymous,0,0x84000000,186M:jpeg,0,0x8fa00000,5M anony=1 || report_error
表示mmz两块区域,区域一的名称为anonymous,起始地址为0x84000000,大小为186M;区域二的名称为jpeg,起始地址为0x8fa00000,大小为5M。
您可以通过修改mpp/ko_hi35XX目录下load3520D脚本中的mmz模块参数,来修改其起始地址和总大小。
4)请注意MMZ内存地址范围不能与OS内存重叠。

2、DEMO板DDR内存管理示意
1) 以容量为256MBytes的DDR内存为例,以下为根据本文档和SDK默认配置得到的内存管理示意图:

DDR:                                                           -----|-------|  0x80000000   # Memory managed by OS.              64M  | OS    |                                                      |       |                                                 -----|-------|  0x84000000   # Memory managed by MMZ block anonymous.          187M | MMZ   |                                                      |       |                                                 -----|-------|  0x8fa00000   # Memory managed by MMZ block jpeg.                       5M   |       |                                                      |       |                                                 -----|-------|  0x8ff00000   # Not used.                         1M   |       |                                                      |       |                                                 -----|-------|  0x90000000   # End of DDR.                     注意:(1)用户在配置启动参数时需要设置OS的管理内存为64M,“setenv bootargs 'mem=64M ...”。      (2)系统启动后,配置load3520D的脚本中mmz的管理内存为191M,“insmod mmz.ko mmz=anonymous,0,0x84000000,186M:jpeg,0,0x8fa00000,5M anony=1 || report_error”。    
0 0
原创粉丝点击