TI中文支持网
TI专业的中文技术问题搜集分享网站

算法大了,连接时段分配报错,dvsdk

大家好,我在CCS下开发了一个6446平台的算法,算法比较大,然后我将其放到DVSDK中,可以编译并正常运行,但是再次对算法代码进行了补充,大概又添加了1/3行代码,算法变得更加庞大,编译后报错如下:

板子硬件上的内存是够的,因为我在CCS环境下编译同样的算法,可以下载到板子上运行。所以应该是DVSDK中的配置有问题。请问如何解决??

谢谢各位。

另外,我的DVSDK的server端中的all_evmDM6446.tci文件内容为

var mem_ext = [
{
    comment:    "DDRALGHEAP: off-chip memory for dynamic algmem allocation",
    name:       "DDRALGHEAP",
    base:       0x88000000,   // 128MB
    len:        0X07A00000,   // 122MB//0X07A00000
    space:      "code/data"
},
{
    comment:    "DDR2: off-chip memory for application code and data",
    name:       "DDR2",
    base:       0X8FA00000,   // 250MB//0X8FA00000
    len:        0X00400000,   //   4MB//0X00400000//26MB
    space:      "code/data"
},
{
    comment:    "DSPLINK: off-chip memory reserved for DSPLINK code and data",
    name:       "DSPLINKMEM",
    base:       0x8FE00000,   // 254MB
    len:        0x00100000,   //   1MB
    space:      "code/data"
},
{
    comment:    "RESET_VECTOR: off-chip memory for the reset vector table",
    name:       "RESET_VECTOR",
    base:       0x8FF00000,   // 255MB
    len:        0x00000080,   // 128 B
    space:      "code/data"
}
];

 

 

Amob:

把DDR2分大点,然后再cfg里再统一一下即可

Chris Meng:

你好,

在CCS下运行使用的cmd文件是哪个?是和你出错时候的一样么?如果不一样,请注意,在CCS下你一般是没有运行ARM的,你是没有分配给Linux空间的。

错误提示写明的哪些段的内存不够了,你先要分析你的算法+Linux空间是否小于你的内存。如果是,调整dsplink里面的memory分配。

Amob:

回复 Chris Meng:

你好,我算法功能验证成功以后就脱离CCS了,现在是完全在dvsdk下编译,他的算法过大,整个DSP/BIOS是运行在DDR里,类似跳舞的场地不够大了,应该把DDR段分配大点,可以从cmem里分出来,应该就可以解决。

赞(0)
未经允许不得转载:TI中文支持网 » 算法大了,连接时段分配报错,dvsdk
分享到: 更多 (0)