海思平台的内存分为两部分,一部分给系统使用,另外的一部分给多媒体使用。可以通过cat /proc/meminfo查看系统内存和cat /proc/media-mem 查看多媒体内存使用情况。

/proc # cat /proc/meminfo 
MemTotal:         255192 kB
MemFree:          103232 kB
Buffers:           25328 kB
Cached:            36888 kB
SwapCached:            0 kB
Active:            74936 kB
Inactive:          56008 kB
Active(anon):      68900 kB
Inactive(anon):      272 kB
Active(file):       6036 kB
Inactive(file):    55736 kB
Unevictable:           0 kB
Mlocked:               0 kB
HighTotal:             0 kB
HighFree:              0 kB
LowTotal:         255192 kB
LowFree:          103232 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:              4320 kB
Writeback:             0 kB
AnonPages:         68748 kB
Mapped:             7032 kB
Shmem:               444 kB
Slab:               9440 kB
SReclaimable:       5632 kB
SUnreclaim:         3808 kB
KernelStack:        1000 kB
PageTables:          748 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      127596 kB
Committed_AS:     648944 kB
VmallocTotal:     761856 kB
VmallocUsed:       57556 kB
VmallocChunk:     688216 kB

多媒体内存:

/proc # cat /proc/media-mem 
+---ZONE: PHYS(0x90000000, 0x9FFFFFFF), GFP=0, nBYTES=262144KB, NAME="anonymous"
   |-MMB: phys(0x90000000, 0x90000FFF), kvirt=0x  (null), flags=0x00000000, length=4KB, name="SYS_DCI_coef"
   |-MMB: phys(0x90001000, 0x90003FFF), kvirt=0x  (null), flags=0x00000000, length=12KB,        name="SYS_scale_coef"
   |-MMB: phys(0x90004000, 0x90006FFF), kvirt=0x  (null), flags=0x00000000, length=12KB,        name="SYS_scale_coef"
   |-MMB: phys(0x90007000, 0x90086FFF), kvirt=0x  (null), flags=0x00000000, length=512KB,       name="TDE_MemPool"
   |-MMB: phys(0x90087000, 0x900D7FFF), kvirt=0x  (null), flags=0x00000000, length=324KB,       name="VGS_NodeBuf"
   |-MMB: phys(0x900D8000, 0x90128FFF), kvirt=0x  (null), flags=0x00000000, length=324KB,       name="VGS_VpssNodeBuf"
   |-MMB: phys(0x90129000, 0x9012BFFF), kvirt=0x  (null), flags=0x00000000, length=12KB,        name="RgnModInfo"
   |-MMB: phys(0x9012C000, 0x90134FFF), kvirt=0x  (null), flags=0x00000000, length=36KB,        name="vpss_drv_queue"
   |-MMB: phys(0x90135000, 0x9013DFFF), kvirt=0x  (null), flags=0x00000000, length=36KB,        name="RgnModInfo"
   |-MMB: phys(0x9013E000, 0x90146FFF), kvirt=0x  (null), flags=0x00000000, length=36KB,        name="RgnModInfo"
   |-MMB: phys(0x90147000, 0x90169FFF), kvirt=0x  (null), flags=0x00000000, length=140KB,       name="RgnModInfo"
   |-MMB: phys(0x9016A000, 0x9018CFFF), kvirt=0x  (null), flags=0x00000000, length=140KB,       name="RgnModInfo"
   |-MMB: phys(0x9018D000, 0x901AFFFF), kvirt=0x  (null), flags=0x00000000, length=140KB,       name="RgnModInfo"
   |-MMB: phys(0x901B0000, 0x901D2FFF), kvirt=0x  (null), flags=0x00000000, length=140KB,       name="RgnModInfo"
   |-MMB: phys(0x901D3000, 0x901DBFFF), kvirt=0x  (null), flags=0x00000000, length=36KB,        name="VoCoef"
   |-MMB: phys(0x901DC000, 0x901E3FFF), kvirt=0x  (null), flags=0x00000000, length=32KB,        name="RgnModInfo"
   |-MMB: phys(0x901E4000, 0x901EBFFF), kvirt=0x  (null), flags=0x00000000, length=32KB,        name="RgnModInfo"
   |-MMB: phys(0x901EC000, 0x901F3FFF), kvirt=0x  (null), flags=0x00000000, length=32KB,        name="RgnModInfo"
   |-MMB: phys(0x901F4000, 0x909DCFFF), kvirt=0x  (null), flags=0x00000000, length=8100KB,      name="hifb_layer0"
   |-MMB: phys(0x909DD000, 0x90B71FFF), kvirt=0x  (null), flags=0x00000000, length=1620KB,      name="hifb_layer1"
   |-MMB: phys(0x90B72000, 0x90B91FFF), kvirt=0x  (null), flags=0x00000000, length=128KB,       name="hifb_layer2"
   |-MMB: phys(0x90B92000, 0x90B96FFF), kvirt=0x  (null), flags=0x00000000, length=20KB,        name="RgnModInfo"
   |-MMB: phys(0x90B97000, 0x90BCBFFF), kvirt=0x  (null), flags=0x00000000, length=212KB,       name="IVE_QUEUE"
   |-MMB: phys(0x90BCC000, 0x90BCCFFF), kvirt=0x  (null), flags=0x00000000, length=4KB, name="IVE_TEMP_NODE"
   |-MMB: phys(0x90BCD000, 0x92BD6FFF), kvirt=0x  (null), flags=0x00000000, length=32808KB,     name="VbPool"
   |-MMB: phys(0x92BD7000, 0x94BE0FFF), kvirt=0x  (null), flags=0x00000000, length=32808KB,     name="VbPool"
   |-MMB: phys(0x94BE1000, 0x95A1DFFF), kvirt=0x  (null), flags=0x00000000, length=14580KB,     name="VbPool"
   |-MMB: phys(0x95A1E000, 0x9685AFFF), kvirt=0x  (null), flags=0x00000000, length=14580KB,     name="VbPool"
   |-MMB: phys(0x9685B000, 0x96D34FFF), kvirt=0x  (null), flags=0x00000000, length=4968KB,      name="VbPool"
   |-MMB: phys(0x96D35000, 0x96D35FFF), kvirt=0x  (null), flags=0x00000000, length=4KB, name="Grp RgnLuma buf"
   |-MMB: phys(0x96D36000, 0x96D36FFF), kvirt=0x  (null), flags=0x00000000, length=4KB, name="Chn RgnLuma buf"
   |-MMB: phys(0x96D37000, 0x96D39FFF), kvirt=0x  (null), flags=0x00000000, length=12KB,        name="model buf"
   |-MMB: phys(0x96D3A000, 0x96EA9FFF), kvirt=0x  (null), flags=0x00000000, length=1472KB,      name="Ref&Mad buf"
   |-MMB: phys(0x96EAA000, 0x96EAAFFF), kvirt=0x  (null), flags=0x00000000, length=4KB, name="Dci buf"
   |-MMB: phys(0x96EAB000, 0x9701AFFF), kvirt=0x  (null), flags=0x00000000, length=1472KB,      name="Ref&Mad buf"
   |-MMB: phys(0x9701B000, 0x9701BFFF), kvirt=0x  (null), flags=0x00000000, length=4KB, name="Dci buf"
   |-MMB: phys(0x9701C000, 0x9701CFFF), kvirt=0x  (null), flags=0x00000000, length=4KB, name="Grp RgnLuma buf"
   |-MMB: phys(0x9701D000, 0x9701DFFF), kvirt=0x  (null), flags=0x00000000, length=4KB, name="Chn RgnLuma buf"
   |-MMB: phys(0x9701E000, 0x97020FFF), kvirt=0x  (null), flags=0x00000000, length=12KB,        name="model buf"
   |-MMB: phys(0x97021000, 0x97022FFF), kvirt=0x  (null), flags=0x00000000, length=8KB, name="AI(0) DMABuf"
   |-MMB: phys(0x97023000, 0x9707CFFF), kvirt=0x  (null), flags=0x00000000, length=360KB,       name="AI(0) FrmBuf"
   |-MMB: phys(0x9707D000, 0x97244FFF), kvirt=0x  (null), flags=0x00000000, length=1824KB,      name="[VOU]VSD(2)"
   |-MMB: phys(0x97245000, 0x97408FFF), kvirt=0x  (null), flags=0x00000000, length=1808KB,      name="h264e0_Str"
   |-MMB: phys(0x97409000, 0x9740DFFF), kvirt=0x  (null), flags=0x00000000, length=20KB,        name="h264e0_Ct"
   |-MMB: phys(0x9740E000, 0x976B4FFF), kvirt=0x  (null), flags=0x00000000, length=2716KB,      name="h264e0_RcnVb"
   |-MMB: phys(0x976B5000, 0x976BFFFF), kvirt=0x  (null), flags=0x00000000, length=44KB,        name="RgnPinPon"
   |-MMB: phys(0x976C0000, 0x976D3FFF), kvirt=0x  (null), flags=0x00000000, length=80KB,        name="RgnPinPon"
   |-MMB: phys(0x976D4000, 0x976EAFFF), kvirt=0x  (null), flags=0x00000000, length=92KB,        name="RgnPinPon"
   |-MMB: phys(0x976EB000, 0x976F3FFF), kvirt=0x  (null), flags=0x00000000, length=36KB,        name="RgnPinPon"
   |-MMB: phys(0x976F4000, 0x976FCFFF), kvirt=0x  (null), flags=0x00000000, length=36KB,        name="RgnPinPon"
   |-MMB: phys(0x976FD000, 0x97704FFF), kvirt=0x  (null), flags=0x00000000, length=32KB,        name="RgnPinPon"
   |-MMB: phys(0x97705000, 0x9770AFFF), kvirt=0x  (null), flags=0x00000000, length=24KB,        name="RgnPinPon"
   |-MMB: phys(0x9770B000, 0x97747FFF), kvirt=0x  (null), flags=0x00000000, length=244KB,       name="AENC(0)StrmBuf"
   |-MMB: phys(0x97748000, 0x9774FFFF), kvirt=0x  (null), flags=0x00000000, length=32KB,        name="AENC(0) CirBuf"
   |-MMB: phys(0x97750000, 0x97750FFF), kvirt=0x  (null), flags=0x00000000, length=4KB, name="DevCutPower"
 
---MMZ_USE_INFO:
 total size=262144KB(256MB),used=122180KB(119MB + 324KB),remain=139964KB(136MB + 700KB),zone_number=1,block_number=55
/proc # 

我的DDR是512M的,256M分配给了系统使用,256M分配给了多媒体。

系统内存设置:

    系统内存分配,也就是分配给linux系统使用的,也包括用户的应用程序,这部分的参数设置是在uboot中完成,然后uboot传递给kernel。如下命令,mem设置的就是系统内存。

 setenv bootargs 'mem=256M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),4M(kernel),8M(rootfs),4M(app&data),4M(data),2M(parameter),8M(updatefs)'

多媒体内存设置:

   多媒体内存是在海思平台用来编码解码操作是使用的内存,他的设置是在文件系统/lib/modules/driver_ko 目录下的load文件中完成。

####################Variables Definition##########################
AD_TYPE=6134        # ad type
 
mem_total=512;          # 512M, total mem
mem_start=0x80000000;   # phy mem start
 
os_mem_size=256;        # 256M, os mem
mmz_start=0x90000000;   # mmz start addr
mmz_size=256M;          # 256M, mmz size
 
##################################################################

mmz_size 设置的就是多媒体内存。这里需要多注意一点,系统内存os_mem_size在这里是不能设置成功的,需要在到boot里面设置。系统内存+多媒体内存=物理内存。设置小了浪费内存,设置大了易出现异常。

————————————————

版权声明:本文为CSDN博主「li_wen01」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/li_wen01/article/details/86547859

(转)海思平台HI35XX系列内存设置的更多相关文章

  1. OpenCV开发笔记(七十四):OpenCV3.4.1+ffmpeg3.4.8交叉编译移植到海思平台Hi35xx平台

    前言   移植opencv到海思平台,opencv支持对视频进行解码,需要对应的ffmpeg支持.   Ffmpeg的移植   Ffmpeg的移植请参考之前的文章:<FFmpeg开发笔记(十): ...

  2. 海思平台服务器版软件V15.2产品发布

    深度操作系统海思平台服务器版软件是武汉深之度科技有限公司发布的针对华为海思平台的TaiShan系列服务器发布的企业级服务器操作系统软件产品,主要面向企业级服务器应用场景,为用户在国产化平台上提供更具可 ...

  3. 用VS2013+VELT-0.1.4进行海思平台 Linux内核 的开发

    快乐虾 http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651) 欢迎转载,但请保留作者信息 本文仅适用于vs20 ...

  4. 【ARM-Linux开发】用VS2013+VELT-0.1.4进行海思平台 Linux内核 的开发

    1.1    什么是VELT VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发.利用这个插件 ...

  5. cryptopp使用Qt mingw编译,以及海思平台交叉编译

    编译工程生成,使用qmake生成qt工程文件(海思平台时,要用海思平台的qmake),将 TEMPLATE = app 修改为: TEMPLATE = lib 添加如下: win32:LIBS += ...

  6. 用vs2013+velt-0.1.4进行嵌入式开发 进行海思平台 UBOOT 开发

    1.1    什么是VELT VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发.利用这个插件 ...

  7. libx264开发笔记(一):libx264介绍、海思平台移植编译

    前言   在编译ffmpeg时,使用到h264编码时是需要依赖libx264的,本文章是将将libx264作为静态库移植到海思上.   相关博客 <Qt开发笔记之编码x264码流并封装mp4(一 ...

  8. 海思平台交叉编译curl支持SSL功能

    1.准备工具 1).交叉编译工具 2).下载libcurl和openssl源代码,我使用的是(openssl-1.0.2o.tar,curl-7.59.0.tar) 3).查看cpu详细 ~ # ca ...

  9. 海思3519A 移植 Qt 5.5.1

    源码下载 网址:qt-everywhere-opensource-src-5.5.1.tar.gz 配置生成MakeFile 文件 解压源码包,在源码包路径下生成配置 MakeFile : ./con ...

随机推荐

  1. 安装更强大更美观的zsh,配置oh my zsh及插件

    安装更强大更美观的zsh,配置oh my zsh及插件 #0x0 安装zsh #0x1 安装oh my zsh #0x2 配置zshrc #0x3 配置主题 #0x4 安装插件 #0x5 小结 #0x ...

  2. 04 Django模型层: Django-model进阶

    一 QuerySet对象 1.1可切片 使用Python 的切片语法来限制查询集记录的数目 .它等同于SQL 的LIMIT 和OFFSET 子句. Entry.objects.all()[:5] # ...

  3. 方正璞华Java面试总结(武汉)

    方正璞华Java面试总结(武汉) 现在社会急缺复合型人才,计算机与日语的结合,具备这两种能力的人不愁工作,最后他们大多到的也是日企,甚至到日本去工作.至今为止接触的日企有光庭.方正璞华.先锋·商泰.英 ...

  4. 使用Git GUI工具 上传本地仓库到 gitee码云仓库

    前言: 网上关于git的命令操作与使用很多教程和博客,在使用git工具时我发现有一个 git Gui 可视化工具,我觉得十分的亲切,由于我之前一直是使用svn作为版本控制管理工具,都是可视化操作,使用 ...

  5. 数据库04 /多表查询、pymysql模块

    数据库04 /多表查询.pymysql模块 目录 数据库04 /多表查询.pymysql模块 1. 笛卡尔积 2. 连表查询 2.1 inner join 内连接 2.2 left join 左连接 ...

  6. 数据可视化之DAX篇(十三)熟练使用FORMAT函数,轻松自定义数据格式

    https://zhuanlan.zhihu.com/p/64420449 在进行数据分析时,需要对某个数据进行格式调整的情形经常会遇到,在DAX中有一个专门进行格式调整的函数:FORMAT. 其实对 ...

  7. Go的100天之旅-03变量

    变量 变量介绍 变量这个词来源于数学,类似方程中的x.y,代表的是存储在计算机中的值.这里主要介绍Go和其它编程语言不一样的地方,在前面我们提到过,Go是一门静态语言.静态语言区别动态语言一个重要的特 ...

  8. 用Canvas定时显示摄像头捕获的画像(HTML5)

    需要实现一个功能,大意嘛,就是标题写的那个意思.虽然用户只要求在微信中实现即可,也就是可以用JSSDK.但是前端小哥哥脑袋一根筋,就想用原生的H5和JS实现. 网上铺天盖地的资料,可惜没有一个是可以用 ...

  9. Web Scraping using Python Scrapy_BS4 - Introduction

    What is Web Scraping This is also referred to as web harvesting and web data extraction. This is the ...

  10. 并发编程AQS--------ReentrantLock

    同步框架AbstractQueuedSynchronizer Java并发编程核心在于java.concurrent.util包 而juc当中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列. ...