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.

[参考译文] CC3351:MCU SDK preR9:BLE 就绪事件

Guru**** 2964790 points

Other Parts Discussed in Thread: CC3351

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1649245/cc3351-mcu-sdk-prer9-ble-ready-event

器件型号: CC3351

您好:

我们在 MCU (STM32) 上使用 Zephyr RTOS 与 CC3351 PreR9 版本。 我们对 BLE 器件使用 UART、对 WiFi 使用 SPI。

在我们的设置中、蓝牙堆栈是 Zephyr 一。 我们在一个 DTS 文件中进行配置、UART 使用该文件、然后 Zephyr 栈通过 UART 直接处理 BT HCI 消息/事件。

使用 BLE 时、在 CC3351 初始化期间、我们调用 If_Enable API-BLE API、以在 CC3351 上启动 BT 堆栈。 在内部、该功能使用 WLAN 接口(本例中为 SPI)向 CC3351 发送命令、以启用 BLE。 然后、低于 PreR9 的 MCU SDK 版本中的功能等待 2 秒、以确保在 CC3351 端启用 BLE。 在 PreR9 中、该函数使用 HCI 制造商特定事件等待 CC3351 芯片的确认。

我们方面的问题是:

  • 在 Zephyr BT 堆栈初始化之前、我们需要在 CC3351 上启用 BLE。 当 Zephyr BT 堆栈开始初始化时、会发送复位等命令。 如果几秒钟后没有答案、则会发出断言。
  • 我们需要初始化 Zephyr BT 堆栈、才能解析 HCI 事件。

因此、我想知道是否还可以通过 WLAN 接口 (SPI/SDIO) 从 CC3351 确认 BLE 何时准备就绪? 在这种情况下、我们只需要 SPI 总线即可从 CC3351 启动 BLE。

谢谢、

Gaetan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ga é tan:

    我今天还没有充分研究这个问题、但我认为通过 R9 版本的配置方式、您不应该需要使用 Zephyr BT 堆栈来解析 HCI 事件。 我想象一下、在 Zephyr 配置中只需要启用其他功能、我将继续进行深入研究。 我想这与/drivers/bluetooth hic 文件/HCI/HCI_cc3xxx.c 中的 drv 函数有关。

    此外、如果 R9 之前的版本正常工作、是否可以同时使用该版本?

    此致、

    Josh Prushing  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Josh、  

    很抱歉耽误你的时间。 我在 SDK 中看到信标超时。 我认为在 Zephyr 上、它会等待该超时(即 1 秒)。 现在,我们将与它生活,但在最后,我们想避免它。


    我还检查了 https://github.com/TexasInstruments/simplelink-hal_ti/releases/tag/218d961-ti-9.22.00_ea 中的代码 、它使用相同的信标等待机制。

    谢谢、

    Gaetan