海思内存管理

海思内存分为两部分,一部分由操作系统管理,称为os内存,一部分由MMZ模块管理,由海思媒体处理业务使用,称为MMZ内存。

设置mmz内存

在海思sdk目录mpp/ko中的load35xx文件中定义了os和mmz内存分配参数,具体由下面几个参数定义:

mem_total: 总内存大小

mem_start:物理内存起始位置

os_mem_size:分配操作系统os的内存大小

mmz_start:mmz内存起始地址

mmz_size:mmz内存大小

已3516dv300硬件为例:

 #!/bin/sh
 # Useage: ./load3516av300 [ -r|-i|-a ] [ sensor0~1 ]
 #         -r : rmmod all modules
 #         -i : insmod all modules
 #         -a : rmmod all moules and then insmod them
 # e.g: RAW:        ./load3516av300 -i -sensor0 imx335 -sensor1 imx335
 # e.g: BT1120/DC : ./load3516av300 -i -sensor0 imx327 -sensor1 imx327 -osmem 128 -yuv0 1
 # e.g: BT656     : ./load3516av300 -i -sensor0 imx327 -sensor1 imx327 -osmem 128 -yuv0 2
 
 ####################Variables Definition##########################
 
 SNS_TYPE0=imx335;           # sensor type
 SNS_TYPE1=NULL;                 # sensor type
 YUV_TYPE0=0;                # 0 -- raw, 1 -- bt1120/DC, 2 --bt656
 CHIP_TYPE=hi3516av300;      # chip type
 #DDR start:0x80000000,   kernel start:0x80000000,  OS(128M); MMZ start:0x88000000
 mem_total=512                # 512M, total mem
 mem_start=0x80000000          # phy mem start
 os_mem_size=128               # 128M, os mem
 mmz_start=0x88000000;         # mmz start addr
 mmz_size=384M;               # 384M, mmz size
 ##################################################################

mem_total=512:总物理内存512M

mem_start=0x80000000:物理内存起始地址0x80000000

os_mem_size=128:操作系统os内存大小128M

mmz_start=0x88000000:mmz内存起始地址,计算方式:mem_start + os内存大小, 0x80000000 + 128 * 1024 * 1024 = 0x80000000 + 0x8000000 = 0x88000000

mmz_size=384M:mmz内存大小384M

运行load3516av300后,

insmod hi_osal.ko anony=1 mmz_allocator=hisi mmz=anonymous,0, m m z s t a r t , mmz_start, mmzstart,mmz_size || report_error

hi_osal.ko会根据上面的定义设置mmz_start和mmz_size

设置os内存

os内存大小在uboot启动参数中通过 setenv bootargs 'mem=128M…进行设置,例如:

设置os内存为128M

setenv bootargs ‘mem=128M console=ttyAMA0,115200 root=/dev/mmcblk0p3 rootfstype=ext4 rw rootwait blkdevparts=mmcblk0:1M(boot),10M(kernel),256M(rootfs),10M(config),7000M(data)’

saveenv

查看内存情况
  1. 使用cat /proc/meminfo命令查看内存信息
  2. 使用free -m命令查看内存信息
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值