主题中讨论的其他器件:CC3120、 UNIFLASH、 CC31XXEMUBOOST
芯片编号0x31000000
固件2.1.0.1
NWP 3.99.1.
PHY 2.2.0.5
当 CC3120模块与接入点一起使用并与服务器建立连接时、使用 寻址小型缓冲区及其大小的参数调用 sl_Recv、最终返回更大数量的字节 、并且缓冲区被覆盖(损坏)后的存储器。
例如、长度为244的500个字符的缓冲区会重复返回1326、并且缓冲区和后续存储器已被覆盖(损坏看起来像真实数据)
将代码更改为具有更大的缓冲区可以解决此问题(1500个字符、选择的是 MTU 大小、并且大于观察到的接收数据长度)、从而允许代码继续并多次成功。 很显然、我希望代码能够稳健耐用、以防止收到更长的数据。
我在两个主板上进行了测试、每个主板都有一个具有上述版本的 CC3120模块、在这两个主板上都是一样的。
通过调试器中的代码进行跟踪、我没有赶上读取字节及其长度写入内存的时刻。 这与 Cortex M K64F 通过 SPI 与 CC3120MOD 进行通信有关
此 sl_Recv 行为是否为已知错误?