Skip to main content
Visitor II
February 28, 2024
Question

Zephyr B_U585I_IOT02A BLE examples timeout and crash

  • February 28, 2024
  • 1 reply
  • 1321 views

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.   

  • These BLE examples all work properly on a Nordic nRF52840 dev board.
  • Zephyr's blinky example runs fine on the B_U585I_IOT02A 

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.)  

  • If I need specific firmware in the STM32WB5MMG could you send me a link to the firmware, and a link to the instructions for how to program it?   (preferably without having to use an external STLink)
  • Or maybe there is some other problem?

 

Thanks! 

 

 

 

    This topic has been closed for replies.

    1 reply

    Visitor II
    February 29, 2024

    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.

    • Use an STLink connected to CN5 (you need to solder in the header in first)   I used an old Disco board for this.   Pinout of the lower 4 pins on the 6 pin connector on the Disco board matches CN5's 4 pins
    • Switch SW3 to USB
    • Power board off the USB CN12 connector (bottom of board)
    • Use STM32CubeProgrammer to program the STM32WB5MMG

     

    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.