2024-02-27 08:18 PM - edited 2024-02-28 04:22 PM
I'm trying to run a few of Zephyr's BLE examples on the B_U585I_IOT02A development board.
I have tried the beacon, peripheral, and peripheral_csc examples.
On the B_U585I_IOT02A dev board, the BLE examples build/run, but I never see the BLE device on a scanner and I get this error on the tty monitor:
ASSERTION FAIL [err == 0] @ WEST_TOPDIR/zephyr/subsys/bluetooth/host/hci_core.c:331
command opcode 0x0c03 timeout with err -11
[00:00:10.145,000] <err> os: r0/a1: 0x00000003 r1/a2: 0x00000000 r2/a3: 0x00000002
[00:00:10.145,000] <err> os: r3/a4: 0x200008f0 r12/ip: 0x000027a1 r14/lr: 0x0800465b
[00:00:10.145,000] <err> os: xpsr: 0x41000000
[00:00:10.145,000] <err> os: Faulting instruction address (r15/pc): 0x08004666
[00:00:10.145,000] <err> os: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
[00:00:10.145,000] <err> os: Current thread: 0x20001420 (unknown)
[00:00:10.201,000] <err> os: Halting system
I have the switches on the dev board set to the default settings.
I am using whatever firmware was programmed into the STM32WB5MMG out of the box (the Zephyr doc for the B_U585I_IOT02A does not mention needing any specific firmware in the BLE controller.)
Thanks!
2024-02-28 04:20 PM
Update:
I tried programming the STM32WB5MMG with firmware from STM32CubeWB package. This is not documented on the Zephyr B_U585I_IOT02A page ... it's somewhat documented on the Zephyr STM32WB5MM-DK page, but that doesn't tell you how to program the STM32WB5MMG on the B_U585I_IOT02A.
Contact ST for questions on the programming procedure, my hints are below, YMMV.
Zephyr STM32WB5MM-DK page seems to indicate you need HCI firmware.
I tried stm32wb5x_BLE_HCILayer_fw.bin, stm32wb5x_BLE_HCILayer_fw_extended.bin, and stm32wb5x_BLE_HCI_AdvScan_fw.bin.
In all three cases, result was the same timeout crash as in the original post.