This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2620:如何调试 CC2650中的 TCPIP 堆栈崩溃

Guru**** 1810440 points
Other Parts Discussed in Thread: CC2650
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/591772/cc2620-how-to-debug-tcpip-stack-crash-in-cc2650

器件型号:CC2620
Thread 中讨论的其他器件:CC2650

我在 TI 的 CC2650上使用 Contiki 操作系统、但在连接方面遇到了一些问题。

我正在尝试解决此问题、我的设置如下-

Linux board, running TunSLIP6
CC2650 running rpl-border-router and interfaced with linux board by SLIP protocol
CC2650 running udp-server program

我正在 Linux 板中创建一个隧道、并 ping UDP 服务器节点。 我观察到 ping 会停止一段时间、然后再次开始获取响应、如下所示-

来自 AAAA 的64字节::212:4b00:79e:8f87:SEQ=16 TTL=63 Time=61.401ms

来自 AAAA 的64字节::212:4b00:79e:8f87:SEQ=46 TTL=63 time=158.386ms

请观察序列标识。 有时、我在 Linux 控制台上没有收到 ping 响应、但实际上似乎正在发生这种情况。 我尝试调试边界路由器代码、发现核心/net/IP/TCPIP.c 文件第578行中调用了一个函数静态 int 输出(void)。 此函数负责通过 SLIP 将接收到的数据包发送到串行。 我观察到这个函数的静态 int 输出(void)在某个时间内未从 TCPIP.c 中调用、并且在某个时间之后开始调用。 在 slid-bridge.c 文件中还有一个函数 static void slid_input_callback (void)、该函数负责通过边界路由器中的 slip 接收数据包。 这个函数被完美地调用、没有任何问题。 这就是为什么 Ping 似乎在无线电端工作、但无法发送接收到的数据包以进行滑动的原因。

有人能不能告诉我这种行为的可能原因或一些我可以检查以进一步调试的标志。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我建议您将此问题发布在 Contiki GitHub 上。