《海思中內存分配和優化》


1.海思中的內存

  海思中的內存分為OS內存和MMZ內存。OS是給系統使用的,MMZ是MMP使用的。

 

2.MMZ內存分配 /proc/media-mem

這里記錄了當前MMZ內存被分配至哪些模塊,被誰使用了。

 

 3.查看系統內存

free [-b/k/m/g]   后面跟的是以什么單位顯示
https://www.cnblogs.com/ultranms/p/9254160.html

 

 4.修改OS內存和MMZ內存

  在uboot命令行模式下:

setenv bootargs 'mem=512M console=ttyAMA0,115200 rw root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),4M(kernel),27M(rootfs)'
saveenv

  設置os內存為512M。

 

  修改/ko里面的load3521d。

  

 

   將MMZ內存修改為512M。

 

5.查看OS和MMZ內存分配情況

  該目錄下\SDK\Hi3521D V100R001C02SPC040\ReleaseDoc\zh\01.software\board\Hi3521DV100,有一個《Hixxx SDK安裝以及升級使用說明.txt》中的第六章描述了“地址空間分配與使用”

第六章 地址空間分配與使用
1、DDR內存管理說明
    1)所有DDR內存中,一部分由操作系統管理,稱為OS內存;另一部分由MMZ模塊管理,供媒體業務單獨使用,稱為MMZ內存。
    2)OS內存起始地址為0x40000000,內存大小可通過bootargs進行配置,例如第三章中的setenv bootargs 'mem=64M ... ',表示分配給操作系統內存為64M,您可以根據實際情況進行調整。
    3)MMZ內存由MMZ內核模塊管理(mpp/ko_hi35xx目錄下的mmz.ko),加載mmz模塊時,通過模塊參數指定其起始地址及大小,load腳本中根據osmem大小來進行計算,例如:
    ./load3521d -a -ad 6134 -osmem 64
    
    您也可以通過修改mpp/ko目錄下load3521d腳本中的mmz模塊參數,來修改其起始地址和總大小。
    4)請注意MMZ內存地址范圍不能與OS內存重疊。

2、DEMO板DDR內存管理示意
    以容量為512MBytes的DDR內存為例,以下為根據本文檔和SDK默認配置得到的內存管理示意圖:
    
    DDR:                                                           
    
    -----|-------|  0x40000000   # Memory managed by OS.              
    64M  | OS    |                                                 
         |       |                                                 
    -----|-------|  0x44000000   # Memory managed by MMZ block anonymous.          
    442M | MMZ   |                                                 
         |       |                                                 
    -----|-------|  0x5FA00000   # Memory managed by MMZ block jpeg.
    6M   | jpeg  |
         |       |  
    -----|-------|  0x60000000   # End of memory managed by MMZ.

    
    注意:
    (1)用戶在配置啟動參數時需要設置OS的管理內存為64M,“setenv bootargs 'mem=64M ...”。      2)系統啟動后,配置load3521d腳本中指定總內存為512(mem_total=512),加載時指定osmem為64(-osmem 64),則MMZ管理的內存為448M。    
    (3)如果有特殊應用,可以自行修改load3521d腳本,進行mmz區域划分,如“insmod hi_osal.ko mmz=anonymous,0,0x44000000,442M:jpeg,0,0x5FA00000,6M anony=1”。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM