现在需要c6678上使用opencv实时的处理图像。我在PC上进行软件仿真,但是每次程序跑到固定的地方都会出现内存不足的情况。
我在cmd文件中,已经配置了足够大的空间了。请问是什么原因呢?
--------------------------------------------------------------------------
opencv是使用的TI官方提供的,没有进行修改
--------------------------------------------------------------------------
我的cmd文件如下:
/*
* Linker command file
*
*/
-c
-heap 0x50000000 //1GB+256MB 堆 ~~ 动态分配内存 malloc,calloc,realloc,new分配
-stack 0x10000000 //256MB 栈~~ 静态分配内存
/* 默认地址映射 Memory Map 1 - the default */
MEMORY //描述系统实际的硬件资源
{
//存储空间标记 起始地址 长度
L1PSRAM (RWX) : org = 0x0E00000, len = 0x80000//32KB
L1DSRAM (RWX) : org = 0x0F00000, len = 0x80000//32KB
L2SRAM (RWX) : org = 0x0800000, len = 0x080000//512KB
MSMCSRAM (RWX) : org = 0xc000000, len = 0x400000//
DDR3 (RWX) : org = 0x80000000,len = 0x80000000//2GB
}
SECTIONS //描述段定位
{
.csl_vect > MSMCSRAM
.text > MSMCSRAM //可执行代码和常数(program)
GROUP (NEAR_DP)
{
.neardata
.rodata
.bss //保留程序中的全局和静态变量空间
} load > DDR3
.stack > DDR3 //存放C语言的栈
.cinit > MSMCSRAM //存放程序中的变量初值和常量
.cio > MSMCSRAM
.const > MSMCSRAM //存放程序中的字符常量、浮点常量和用const声明的常量
.data > MSMCSRAM
.switch > MSMCSRAM //存放switch语句的跳转地址表
.sysmem > DDR3 //存放C语言的堆
.far > MSMCSRAM //保留程序中用far声明的全局和静态变量 空间
.testMem > MSMCSRAM
.fardata > MSMCSRAM
platform_lib > MSMCSRAM
.init_array > MSMCSRAM
vecs > MSMCSRAM
}