512M DM8127 IPNC_RDK存储分布与配置

2014年10月26日 由 Creater 留言 »

今天看了下关于内存管理的文档,特地记录一下。
内存图在如下的文件中可以看到,如下所示:

Memory Map - 512MB DDR
+--------------+ 
| 80MB         | Linux
|              |
|              |
+--------------+
| 64MB         | CMEM
|              |
|              | 
+--------------+
| 60MB         | (SR1) Bitstream buffer (Cached)
|              |
+--------------+
| 3MB          | Video M3 code
+--------------+
| 14MB         | Video M3 data
+--------------+
| 2MB          | VPSS / DSS M3 code
+--------------+
| 22MB         | VPSS / DSS M3 data
+--------------+
| 1MB          | DSP code
+--------------+
| 10MB         | DSP data
+--------------+
| 128MB        | Tiler buffer 
|              |
+--------------+
| 105MB        | SR(2) Frame buffer 
|              |
|              |
|              | VPSS-VID M3 Frame buffer
|              |
|              |
|              |
|              |
|              |
+--------------+
| 16MB         | (SR0) Syslink MsgQ / IPC List MP (Non-cached)
+--------------+
| 2MB          | VPSS M3 - VPDMA descriptor
+--------------+
| 2MB          | VPSS M3 - FBDev
+--------------+
| 2MB          | Host - VPSS M3 Notify (for FBDev)
+--------------+
| 1MB          | Remote Printf
+--------------+

这只是默认的内存图,我们可以修改各自的大小,但是必须有几点需要遵守。

  • 1. M3 Vedio与M3 VPSS的代码区必须位于内存图的高256M上,从图上可以看出,确实是在高256M内。
  • 2.至少2M的空间分配给Linux内核,用于支持Syslink-Notify,完成VPSS M3与Linux内核在RDK中通信,如果修改了这项配置,需要在uboot中更新参数”notifyk,vpssm3_sva”
  • 3.至少保留2M空间用于RDK的FBDev缓冲区,如果修改了该缓冲区的基地址,需要修改以下文件:
  • ipnc_rdk\ipnc_mcfw\bin\load.sh
    insmod ./kermod/vpss.ko omx=1 sbufaddr=0xbfb00000
  • 4.需要1M空间用于远程调试时各个核之间的共享数据,A8处理器不停的读取该共享存储区并在A8上产生调试信息,如果修改了该项地址则需要按照以下顺序修改文件:
  • ipnc_rdk\ipnc_mcfw\bin\scripts\wait_cmd.sh
    ipnc_rdk\ipnc_mcfw\bin\scripts\send_cmd.sh
    ipnc_rdk\ipnc_mcfw\bin\scripts\send_str.sh

    修改

    ../bin/remote_debug_client.out 0xbff00000 --waitch $1 $2
广告位

发表评论

你必须 登陆 方可发表评论.