Failing to execute the le_streamer example


#1

Hi!, I’ve just integrated the BTstack with WICED Studio 4.0, and when i build the le_streamer example with the command make btstack.le_streamer-RB_DUO, everything seems to work ok, at least from the messages i see on the terminal:

MAKEFILE MAKECMDGOALS=btstack.le_streamer-RB_DUO OTA2_SUPPORT is disabled
Building Bootloader
Finished Building Bootloader

Making btstack.le_streamer-RB_DUO.elf

Making btstack.le_streamer-RB_DUO.bin
btstack.le_streamer-RB_DUO
----------------------------------|---------|---------|
                                  |         |  Static |
              Module              |  Flash  |   RAM   |
----------------------------------+---------+---------|
crc                               |    1060 |       0 |
Host MCU-family library           |   10924 |     377 |
Interrupt Vectors                 |     388 |       0 |
libc                              |     236 |       4 |
Other                             |   94706 |    6135 |
platform                          |    1328 |     300 |
RAM Initialisation                |    2300 |       0 |
Ring_Buffer                       |     116 |       0 |
Startup Stack & Link Script fill  |      86 |     843 |
ThreadX                           |    6320 |     396 |
WICED                             |     859 |     749 |
WWD                               |     605 |      56 |
----------------------------------+---------+---------|
TOTAL (bytes)                     |  116628 |    8860 |
----------------------------------|---------|---------|

Merge all bin files into a single bin for MSD upload
build\waf.bootloader-NoOS-RB_DUO\binary\waf.bootloader-NoOS-RB_DUO_PAD.bin
build\btstack.le_streamer-RB_DUO\DCT.bin_PAD.bin
build\btstack.le_streamer-RB_DUO\binary\btstack.le_streamer-RB_DUO.bin
        1 archivo(s) copiado(s).
Location: build/btstack.le_streamer-RB_DUO/binary/btstack.le_streamer-RB_DUO.bin_MSD.bin
Build complete
Making .gdbinit

After that, i load the generated btstack.le_streamer-RB_DUO.bin file into the RedBear Duo using the bootloader DFU mode through the onboard USB by executing the command dfu-util -d 2b04:d058 -a 0 -s 0x0800C000 -D btstack.le_streamer-RB_DUO.bin, and i obain the following messages:

dfu-util 0.8

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to [email protected]

    Invalid DFU suffix signature
    A valid DFU suffix will be required in a future dfu-util release!!!
    Opening DFU capable USB device...
    ID 2b04:d058
    Run-time device DFU version 011a
    Claiming USB DFU Interface...
    Setting Alternate Setting #0 ...
    Determining device status: state = dfuIDLE, status = 0
    dfuIDLE, continuing
    DFU mode device DFU version 011a
    Device returned transfer size 4096
    DfuSe interface name: "Internal Flash   "
    Downloading to address = 0x0800c000, size = 118940
    Download        [=========================] 100%       118940 bytes
    Download done.
    File downloaded successfully

… but, after loading the firmware, the Red Bear Duo remains on DFU mode and, after resetting it, the status LED is off and i can not connect to it … what am i doing wrong? how can i make the le_streamer works on the RedBear Duo?. I’m new with BTstack and WICED, so please sorry in advance.
Thanks


#2

Hi @fbt,

You must have loaded the binary to the wrong address. See the Duo memory map for WICED application here.

Good luck!


#3

Hi @guohui … i hope it is not a question of luck … in any case, according to the memory map from the posted link, as i understand, the address 0x0800C000 is part of the WICED Application Firmware space. In addition, i’ve successfully executed the example redbear.rgb-RB_DUO on the Red Bear Duo by using the same address. so i think that the problem is not related to the offset address.


#4

My bad. I was seeing the 0x0800C000 as 0x080C0000. Please upload more simple examples with RGB behavior to make sure the Duo boots normally. Also, you can add RGB behaviors in the le_streamer example to debug.


#5

I use the “copy the *.bin_MSD.bin” to the virtual disk drive. Does the dfu-util work well on OS X?


#6

Hi @mringwal @guohui … i don’t have an RBlink (i just ordered one), so i just can use the bootloader DFU mode through the onboard USB (in my case using dfu-util for Windows) to load the bin file into the RedBear Duo. I’ve used it to load into the RedBear Duo some examples provided by RedBear for WICED (in particular the rgb example), and it worked fine.