mcsdk中有个image processing的例程,我将其中的边缘检测替换为了替他图像处理的算法。此算法处理时需要很多buffer,但从核无法完成空间分配,所以将所有核上的malloc操作均放在core0中进行,然后将分配好的buffer,通过message_put传给各从核,然后所有核做算法,完成算法后从核将结果反回给core0,最后core0要free所有buffer。
单核跑时,可以正常释放,但多核跑时,所有(包括给core0自己)的buffer均无法释放,控制台输出assertion failure,invalid free。
不知是什么原因,或者可能是什么原因?
我在malloc后,算法处理中,free之前,输出所有buffer的地址信息,从始至终地址信息都是一致的。