This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM6446链接emcv算法莫名错误



在dm6446中用自己的算法做图像处理的思路是这样的。(基于osd例程,有code、server、video_osd_app三个文件夹)。

首先在ccs中编译emcv的源代码,生成了cv.lib和cxcore.lib,然后将这两个库文件放入server中,同时在server中的link.cmd中

添加-l cv.lib cxcore.lib这句语句。

然后我在codec中的video_copy.c中,我插入了自己的opencv算法。

编译通过,链接也没有提示错误,但程序就是跑不利啊,直接卡死在这

Encodedecode Debug: 3 capture buffers were successfully allocated.
Encodedecode Debug: Capture driver buffer 0 at physical address 1138569216 mapp0
Encodedecode Debug: Capture driver buffer 1 at physical address 1139453952 mapp0
Encodedecode Debug: Capture driver buffer 2 at physical address 1140338688 mapp0
Encodedecode Debug: Video capture initialized and started
Smooth Debug: Creating smooth job of size 512x512
Encodedecode Debug: User interface created
Encodedecode Debug: Entering capture main loop.
Encodedecode Debug: Entering control main loop.
Encodedecode Debug: Entering display main loop.

想了很久,想不出原因。不知道网络上有哪位碰到过小弟这样的问题,望指点指点!

1)排查了不是库的原因,因为我在ccs3.3中,调试了这个算法,而且已经产生了正确的结果。

而且链接的也正是这两个库。只不过是运行的慢一点。

2)怀疑是内存分配问题,将video.tcf文件中语句改为:

prog.module("MEM").BIOSOBJSEG = bios.DDRALGHEA;
prog.module("MEM").MALLOCSEG = bios.DDRALGHEAP;