Part Number:TMS320C6678
处理器型号为TMS320C6678
DSP程序中通过UDP网络发送数据至对端网络设备,问题为:
如果对端网络设备晚于DSP启动,则UDP发送的数据无法发送成功;
如果对端网络设备早于DSP启动,则数据发送正常;
目前的解决办法为:
DSP不断发送ICMP请求应答报文,等待对端设备上线之后在进行其他的操作,
所以想请问下 TI DSP 如何发送ICMP报文呢
2022.02.16
问题补充:
翻看NDK目录下的文档时,发现文档中对此现象有如下解释
如果Task调用使用UDP循环send(),并且目标IP地址不在ARP表中,则不会发送UDP数据包,因为永远不允许调度程序线程运行来处理ARP应答。
按照文档中的解释为 network scheduler thread 调度线程优先级过低造成的,需要提高调度线程的优先级即可。
问题为:
the network scheduler thread 调度线程 在哪里由谁创建的,是否可以修改
2022.02.16更新
已找到调度线程优先级的配置位置,在C:\ti\ndk_2_21_02_43\packages\ti\ndk\netctrl\netctrl.c 文件中的NC_SystemOpen()函数中定义的,但暂时无条件尝试是否会起作用,有机会调试在更新
2022.02.17 更新
修改网络调度程序优先级之后,并不起作用,对端网络设备后接入的话,还是无法接收DSP UDP 发送的数据
Nancy Wang:
我咨询一下相关工程师再给你回复。
,
hangtai wang:
好的,谢谢
,
Nancy Wang:
hangtai wang 说:the network scheduler thread 调度线程 在哪里由谁创建的,是否可以修改
不可以修改,是由 Nc_NetStart 完成的,优先级可以修改,请参考 3.2 NETCTRL Scheduler:
https://www.ti.com/lit/ug/spru523k/spru523k.pdf
第一个问题暂时没有得到回复。