硬件环境:DM8168EVM+DaughterCard
软件环境:DVRRDK3.0
数据流:Cap->OutVpss->Dis
->InDsp->HelloWorldAlg
Dis是OutVpss的NextLink,HelloWorld是OutVpss的ProcessLink
在HelloWorldLink_ProcessData函数中定义:
UInt8 *p = pFrame->addr[0][0];
UInt32 YUV_test;
for(YUV_test = 0; YUV_test < 1920*1080*2; YUV_test ++ )
{
int mod = YUV_test % 4;
if(mod == 0)
*(p + YUV_test)= 0xff;
else if(mod == 1)
*(p + YUV_test)= 0x80;
else if(mod == 2)
*(p + YUV_test)= 0xff;
else if(mod == 3)
*(p + YUV_test)= 0x80;
}
编译通过,但是运行的时候,大概3~5s就会死机。我的问题是:
1.为什么会死机?不能直接操作数据?还是有其他特殊的操作方式?
2.我的猜想是在HelloWorldLink_ProcessData中是不是没有释放Cap缓冲区或者Dis缓冲区导致死机现象,如果是,改怎么修改?