Other Parts Discussed in Thread: CC3200, CC3120
TI工程师好:
我用cc3100与stm32通过SPI连接,配置成STA模式,mcu为客户端,mcu通过AP连接到服务端,TCP一直发送数据,一定时间后进入_SlNonOsMainLoopTask()函数里死循环,TCP也不返回send失败,请问怎么排查问题?
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.
您好,
请问怎么排查问题?
有以下 3 点建议:
_SlNonOsMainLoopTask() 函数使用情景是:
建议您添加一个简单的 printf 来测试 _SlNonOsMainLoopTask 是否在运行。
我在mcu上跑了一个KEIL自带的RTX实时系统,会有影响吗?tcp通信我就是用的cc3100里没有带系统的例程修改的
上位机(st mcu)不跑 rtos,才能使用 CC3100 nortos 的例程。
建议您用 linux 电脑安装 wireshark 抓一下包,看看网络情况是怎样的
您用的是哪个例程,我在这边测试一下。
另外,
按照 user manual 的 debug 章节里的描述,需要抓一下 NWP log。
您可以把 pin 62 引出来,看一下 NWP log。
如果您使用 RTOS,为什么选择非操作系统实现呢?
要调试这样的问题(这肯定与平台适配有关),您应该检查代码卡住的确切位置(_SlNonOsMainLoopTask 本身没有无限循环,因此它必须位于该函数调用的回调中) - 这样您就可以获得有关根本原因的更多信息。
您可以尝试暂停调试器并调试堆栈或在 simplelink 驱动程序中添加调试打印。
确保您使用最新的 SDK 和服务包以避免已修复的问题。您可以考虑使用 CC3200 SDK 1.5 中的主机驱动程序(这是 CC3x00 系列的最新版本)。
最后,如果这是一个新项目 - 请考虑迁移到更新的 Wi-Fi 设备(例如 CC3120/35 或 CC33xx)。 CC3100 是非常老的设备,有很多限制。
做了一些调整,目前看来还行,需要长时间运算看看后续会不会再复现出来