如果作为外设长时间处于连接状态(大于3或4小时)、则免费 RTOS BLE 项目将停止响应任何内容。 我在我们自己的项目中看到了这一点、并通过 使用 multi_role 示例对两个开发套件进行编程、使用 SDK 重现了这一点。 我启动了一个开发套件(periph)广播、并选择了它以连接到另一个开发套件(主机)。
让它长时间(隔夜)运行、当我回来时、器件不再连接、periph 套件根本没有响应按钮、显示屏显示1个连接、 主机套件显示屏显示0个连接、并通过更新终端屏幕响应按钮按压操作。
我在 periph 开发套件上运行调试器、似乎 Free RTOS 仍在运行(无硬故障或断言自旋锁)、检查任务并在每次节拍时进入空闲状态。 我无法更深入地了解 FreeRTOS 在这方面所做的工作。
我将使用 SDK v6.10.0.29中的 multi_role 示例、该示例使用 FreeRTOS 和 GCC。