现在需要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
}
Shine:
请问在硬件板子上有这个问题吗?如果没有同样的问题的话,考虑软仿真的限制,毕竟软仿真不能真实模拟实际的memory。
Zhengpeng Su @ XDU:
回复 Shine:
你好,我暂时还没有在板子上跑过程序。软件仿真的限制都有哪些呢?有没合适的资料可以看一下 呢?谢谢
Shine:
回复 Zhengpeng Su @ XDU:
下面是device simulator用户手册。http://processors.wiki.ti.com/index.php/TCI6616/C6670/TCI6608/C6678/TCI6618_Device_simulator_User_Guide
TI中文支持网

