我想将 BLE_TransparentMode 示例迁移到
STM32WB55CGU 并在我制作的板上运行它。
我正在使用 STM32CubeIDE 1.9.0 和 STM32Cube_FW_WB_V1.13.3。
STM32CubeMonitor-RF 版本 2.8.1
第一步:用stm32wb5x_BLE_Stack_full_fw.bin生成单音
BLE_TransparentMode 示例已成功迁移到 STM32WB55CGU,并可与 STM32CubeMonitor-RF 配合使用。我可以用它做 BLE 广告和扫描。
但是当尝试生成单音时,我得到如图所示的错误消息,根据错误消息,ACI_HAL_TON_START 命令是一个“未知的 HCI 命令”。
BLE_TransparentMode 示例中的 Readme.txt 文件需要在 MCU 上安装 stm32wb5x_BLE_Stack_full_fw.bin,但显然该二进制文件不支持 ACI_HAL_TON_START 命令。
我检查了协处理器无线二进制发行说明:
/STM32Cube_FW_WB_V1.13.3/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/Release_Notes.htm
它提到从 stm32wb5x_BLE_Stack_full_fw.bin 中删除了几个函数:
- 删除了以下功能:
- 直接测试模式
- L2Cap Connection - 面向通道的支持(IP over BLE enabler)
- 通道选择 #2(在应用标志选择下)
- 一些HCI接口特性(将无法通过HCI接口进行处理)
那么可能是因为这些已删除的功能而不支持单音命令?
第二步:用stm32wb5x_BLE_Stack_full_extended_fw.bin生成单音
同一发行说明提到 stm32wb5x_BLE_Stack_full_extended_fw.bin 具有更多功能,并给出以下说明:使用此二进制文件:
- 警告:要使用此二进制文件,必须将 BLE 应用程序中的分散文件调整为:
- RAM_A 共享范围应减少到内存范围 [0x20030000:0x200307FF]
- 邮箱缓冲区(MB_MEM1、MB_MEM2)应位于内存范围 [0x20038000:0x2003A7FF] 中定义的共享 RAM_B 中
- 共享的 RAM_B 应添加到 Total_RAM_region
我按照上面的说明,修改了BLE_TransparentMode项目的链接脚本,确保它运行没有任何硬故障或其他问题。然后运行这个程序,STM32CubeMonitor-RF 就不能再识别这个板了。它说“正在测试节点响应的设备”。
到目前为止,我无法使用 stm32wb5x_BLE_Stack_full_fw.bin 或 stm32wb5x_BLE_Stack_full_extended_fw.bin 在 BLE 上生成单音。任何人都可以让它工作或对如何做到这一点有一些建议吗?