使用的是HUA的NDK基本模板,静态IP地址,初次执行NC_NetStart无任何问题,主机能够ping通DSP。根据NDK手册的说明,NC_NetStop可以使NC_NetStart重启,在另外一个线程(优先级为1,最低)调用了NC_NetStop(1),引起了NetworkClose函数的执行(该函数和NetworkOpen函数都未添加TCP、UDP服务,只是使用printf打印了提示信息),NetworkClose执行完后,NC_NetStart显示“double mmfree”的警告信息,由于NC_NetStop的参数为1,NC_NetStart再次执行,但是此后再无“IP add”的信息提示,也ping不同DSP。整个过程没有太多自己的代码,都是NDK的例子,NC_NetStart重启无IP服务,这是可能是什么问题引起的?
Allen35065:
可能是关闭链路的时候有些资源没有被释放导致,具体要在板卡上查各部分(Navigator,MAC,PHY)的状态才能判断。
Jianghua Wang:
回复 Allen35065:
你好,我在使用ndk进行网口接收的时候,接收对端频繁小间隔发数时,ti_ndk_config_Global_pit 里面分配的资源会出现无法释放的现象,一段时间后当其无空闲空间时就会在有新连接产生时出现Out of memory,请问下出现这种现象的原因,有没有对已经使用的socket资源进行手动释放或对整个ndk进行重置的方法,谢谢