“线程:测试”中讨论的其它部件
大家好,
我使用 CCS11和 SDK 5.30。
我在主模式下使用 SPI 总线连接到外部 SPI 闪存时遇到问题。
闪存使用文件系统。
我的测试程序会在闪存上产生高数据速率。 测试例程使用 TI SDK 函数 SPI_TRANSFER 发送和接收数据。
测试执行大约 5000次旋转,可实现1000个文件系统写入,无任何问题。
但是;)
如果我在文件系统写入闪存的“同一”时间启动多个单次网络扫描,则使用功能 SL_WlanGetNetworkList,测试将在5之后停止... 10个环路。
我在 SPI_TRANSFER 函数调用周围插入了 GPIO 清除/设置函数。
如果没有网络扫描功能,我会在整个测试过程中看到 GPIO 切换。
如果我启动了附加网络扫描并且测试程序在一段时间后停止,我检查了 SPI_TRANSFER 被调用,但从未返回。
我知道 NWP 和模块内部 SPI-Flash 也使用 SPI。
从我的角度来看,这看起来像是 NWP 传输和模块外部 SPI 传输之间的同步问题。
至少如果只有一个硬件控制器。
因为使用了文件系统,所以可以“轮询”SPI 闪存状态几毫秒。 这也许是造成这种情况的原因?
三个组件的 SPI 传输是否由一个 SPI 硬件控制器控制?
我使用了基于 SPI 主 SDK 示例的 SPI 初始化,并始终使用 SPI 句柄 GET by SPI_OPEN。
SPI_TRANSFER 的冻结呼叫可能是什么原因?
非常感谢,祝您一切顺利,
罗马