dm6446 内存分配及修改

来源:互联网 发布:河南科技学院网络教学 编辑:程序博客网 时间:2024/06/16 22:41

1、合众达dm6446 开发板128M 内存分配如下:

        

2、经过系统测试,Linux至少需要35M内存才能正常运行程序。

3、为了增大DDRALGHEAP内存大小,修改的内存图表如下:

         

4、修改步骤如下:

(1) 重新生成dsplinkk.ko

   a. cd /opt/dvevm_1_20/dsplink_1_30_08_02/packages/dsplink

   b. gedit config/all/CFG_Davinci.TXT

   c. 找到"RESUMEADDR"处,缺省下会看到其值为0x8FF00020.将之改变成值(RESET_VECTOR段起始地址值 +0x20);

   d. 找到“RESETVECTOR”处,将其值修改memory mapRESET_VECTOR段的起始地址值;

    e.找到"MEMTABLE0"的入口处.在这你会发信某些entries与你的memory map类似,而有些却不同. 找到其中的DSPLINKMEM,RESETCTRL(RESET_VECTOR),DDR. 将它们的地址和尺寸修改成与你的memory map相同(其中ADDRDSPVIRTUALADDRPHYSICAL相同),无需担心这里找不到DDRALGHEAP,因为DSPLink不需要知道它的值,原因是DSPLink的内容只是在DSP被启动但尚未被ARM访问阶段存在.从这里可见,只有DDR等以下的三个段发生改变时才需要重新编译dsplink.ko

     f. 设置环境变量:source etc/host/scripts/Linux/dsplinkenv

    g. 编译模块:gcc –C gpp/src 

                          gcc –C dsp/src

    h. 生成可执行文件路径: gpp/export/BIN/Linux/Davinci/RELEASE

(2)修改DSP Sever端的.tcf配置文件中的memory map数组,如下:

var mem_ext = [

{

    comment:    "DDRALGHEAP: off-chip memory for dynamic algmem allocation",

    name:       "DDRALGHEAP",

    base:       0x83A00000,  

    len:            0x3C00000,          //60MB

    space:      "code/data"

},

{

    comment:    "DDR: off-chip memory for application code and data",

    name:       "DDR",

    base:       0x87600000,       

    len:        0x800000, //8MB

    space:      "code/data"

},

{

    comment:    "DSPLINK: off-chip memory reserved for DSPLINK code and data",

    name:       "DSPLINKMEM",

    base:       0x87E00000,  

    len:        0x00100000,   //   1MB

    space:      "code/data"

},

{

    comment:    "RESET_VECTOR: off-chip memory for the reset vector table",

    name:       "RESET_VECTOR",

    base:       0x87F00000,

    len:        0x00000080,

    space:      "code/data"

},

];

(3)修改loadmodules.sh中CMEM起始地址、和介绍地址

insmod  cmemk.ko phys_start=0x83200000 phys_end=0x83A00000  pools=1x3145728,6x829440,1x61440,1x10240

(4)修改Linux内存参数

$ Setenv bootargs mem=50M console=ttyS0,115200n8 root=/dev/nfs noinitrd rw ip=192.168.1.113:192.168.1.1:255.255.255.0 nfsroot=192.168.1.112:/opt/nfs video=dm6446fb:output=pal

$ saveenv

 

 

0 0
原创粉丝点击