1)使用udp函数以40ms一个周期单独进行发送/接收,单个包长500字节,半个小时内测试无问题;
2)使用udp函数以40ms一个周期单独进行接收和接收,单个包长500字节,测试时会产生致命的错误,错误指向驱动,致命异步事件值为:SL_DEVICE_EVENT_FATAL_DRIVER_ABORT)。
Kevin Qiu1:
第二个测试多长时间会出现问题 case SL_DEVICE_EVENT_FATAL_DRIVER_ABORT: { UART_PRINT("\n\r[ERROR] – FATAL ERROR: Driver Abort detected. \n\r"); } break;
建议你用例程udpecho先单独测试UDP部分,看有没有问题
,
user6523867:
例程不太符合我们的使用场景,我们这样写主要就是符合我们的使用场景。
,
Kevin Qiu1:
是让你先单独测试排查具体哪部分有问题,关于Driver Abort detected,看下
e2e.ti.com/…/ccs-cc3220sf-launchxl-occasionally-fatal-error-driver-abort-detected
,
user6523867:
由于UDP读写不在一个线程里面,UDP过程可能在底层产生了冲突,怎么优化才合理呢?
,
user6523867:
,
Kevin Qiu1:
确实可能是线程调度引起的冲突,UDP读写不在一个线程中没有示例,我建议你在英文论坛发帖,
看下那边有什么建议https://e2e.ti.com/support/wireless-connectivity/wifi/f/wi-fi-forum/
,
user6523867:
英文水平太菜了,能不能帮忙问一下,谢谢
,
Kevin Qiu1:
读写不在一个线程当中是会引起FATAL ERROR,可以在_SlDrvHandleFatalError中设置一个断点,以查找故障点,更好地了解原因