你好:
运行环境:在ccs5.4 下对6678进行软件仿真
用到的组件:IPC SYSBIOS
具体场景:目前只用到了两个核,核0读取视频帧,传给核1做处理,这是在MCSDK里的基于IPC的image_processing(边缘检测)例程上改的
存在的问题:如果图片帧很小,64*43,可以运行,但是如果图片大小是320*212,1核运行到frame=cvCreateImageHeader(cvSize(width,height),IPL_DEPTH_8U,3); 这句函数的时候就中断了,但是传入的图像width,heigh都是正确的,点击运行后,代码会运行几行,但是依旧会中断,控制台会输出:
TMS320C66x_1: Warning: Illegal opcode (97a28695) at pc = 0x8002a0a4 Illegal opcode at pc = 0x8002a0a4TMS320C66x_1: Warning: Illegal opcode (999a8599) at pc = 0x8002a0b0 Illegal opcode at pc = 0x8002a0b0 Illegal opcode (95a08298) at pc = 0x8002a0bc Illegal opcode at pc = 0x8002a0bcTMS320C66x_1: Warning: Attempted to execute illegal opcode (999e8a99) at pc = 0x8002a0e0 Attempted to execute illegal opcode (8d9ca384) at pc = 0x8002a0e4TMS320C66x_1: Warning: Attempted to execute illegal opcode (9ca8919a) at pc = 0x8002a11c
看这个样子是内存分配不足吗,但是我的1核的Heapmem分配了0x30000000,已经很大了,这已经是我所能分配的最大空间了(对于小图像序列,frame这个指针就指向了Heapmem),不知道该如何解决了?已经困扰好久了
Allen35065:
错误出现在DDR3里,可能是内存被改写,也有可能是DDR3读写异常,首先对DDR3进行读写测试,看是否能通过,首页Keystone STK有Memory Test可供调用。
YANYAN LEI:
回复 Allen35065:
不是很明白,你说的我下载了,里面是很多的独立的程序,不知道怎么用到这里,令外,我现在没有在开发板上跑程序,只是在CCS上软件仿真
TI中文支持网