Seemingly incomplete information in Swan Quickstart

Some initial comments (written when the article was finished)

In the course of this long interaction between @RobLauer and me) I made several critical errors trying to make Swan LED blink under the programatic control using the approach VS Code + PlatformIO Extension Instructions.

The whole record is kept unchanged, expecting to show how someone with very long experience as an application developer and web developer, can easily get lost in the world of embedded computing and what type of errors were made.




Start of my exercise

I am using the brief tutorial Using the VS Code PlatformIO Extension and reached the section Blink the Onboard LED. Using the PlatformIO: Build command in VSCode, I successfully compiled the example code. I am not sure though whether this command also uploaded the code to my board - as I am not seeing the blinking.

Added later:
I was not paying attention to several small icons on the "Bottom Menu (Weird name): where the arrow points to the upload command.

Now, it is obvious that the step 3

Choose "PlatformIO: Build" to build the program or "PlatformIO: Upload" to build and upload the program to your Swan.

is incorrect as the command “PlatformIO: Build” does not upload the code

FInally once I uploaded the code I am getting the following errors in the terminal:

 *  Executing task: platformio run --target upload 

Processing bw_swan_r5 (platform: ststm32; board: bw_swan_r5; framework: arduino)
--------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/bw_swan_r5.html
PLATFORM: ST STM32 (15.4.1) > BluesWireless Swan R5
HARDWARE: STM32L4R5ZIY6 120MHz, 640KB RAM, 2MB Flash
DEBUG: Current (blackmagic) External (blackmagic, cmsis-dap, jlink, stlink)
PACKAGES: 
 - framework-arduinoststm32 @ 4.20200.221104 (2.2.0) 
 - framework-cmsis @ 2.50700.210515 (5.7.0) 
 - tool-dfuutil @ 1.11.0 
 - tool-openocd @ 2.1100.211028 (11.0) 
 - tool-stm32duino @ 1.0.1 
 - toolchain-gccarmnoneeabi @ 1.90201.191206 (9.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 11 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Checking size .pio/build/bw_swan_r5/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [          ]   0.1% (used 976 bytes from 655360 bytes)
Flash: [          ]   0.8% (used 17484 bytes from 2097152 bytes)
Configuring upload protocol...
AVAILABLE: blackmagic, cmsis-dap, dfu, jlink, mbed, serial, stlink
CURRENT: upload_protocol = stlink
Uploading .pio/build/bw_swan_r5/firmware.elf
xPack OpenOCD x86_64 Open On-Chip Debugger 0.11.0+dev (2021-10-17-00:18)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
debug_level: 1

hla_swd
Error: open failed
in procedure 'program'
** OpenOCD init failed **
shutdown command invoked

*** [upload] Error 1
===================================================== [FAILED] Took 2.90 seconds =====================================================

 *  The terminal process "platformio 'run', '--target', 'upload'" terminated with exit code: 1. 

This could be a consequence of the “maybe incomplete Platformio.ini” file ) see Platformio.ini is different than shown in the documentation.

How are you connected to the Swan from your computer? Are you using the STLink v3Mini cable or are you connected directly to it with a micro USB cable?

If it’s the latter, this line of your platformio.ini file should be: upload_protocol = dfu. Be sure to read through the PlatformIO instructions for Swan carefully as there are some key steps you don’t want to miss.

If that doesn’t help, please send a picture of your hardware setup so we can help debug what the connection issue might be.

Rob

How are you connected to the Swan from your computer? Are you using the STLink v3Mini cable or are you connected directly to it with a micro USB cable?

I am using microUSB cable.

If it’s the latter, this line of your platformio.ini file should be: upload_protocol = dfu . Be sure to read through the PlatformIO instructions for Swan carefully as there are some key steps you don’t want to miss.

I did read the Creating a PlatformIO Project for Swan several times - and completely missed the step 4 (PlatformIO documentation). This miss is the consequence of using the VSCode in the Web world, where editing a generate “.ini” file is seldom required or even encouraged. In other words, I expected that the Project Wizard created the complete content of the platformio.ini file.

I suggest to add a warning to Swan Quickstart explaining the need to handle the section 4 (Once dependency installation is complete, your platformio.ini file will open. This file allows you to configure deployment options and manage project libraries)

Important comment: I cannot recall ever to be offered such quick and accurate “hand-holding” as you are providing @RobLauer. Many thanks :heart_eyes:.

2 Likes

Added later (after checking the section 4 of Creating a PlatformIO Project for Swan):

People like me (that came to Blues Wireless) without having/using any hardware and are starting with Blues Starter Kit might benefit from a bit more detailed information - the content of What is PlatformIO? — PlatformIO latest documentation; I will certainly be doing that.

In my opinion, Blues is equally empowering two key categories of developers (IoT and Web) and great products will be made by developers equally skilled in both worlds. Choice of VSCode as the primary development tool is simply terrific.

1 Like

I fixed the platformio.ini - here is what I am using now:

[env:bw_swan_r5]
platform = ststm32
board = bw_swan_r5
upload_protocol = dfu
framework = arduino
build_flags = -D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC
monitor_speed = 115200
lib_deps = 
  Wire
  blues/Blues Wireless Notecard@^1.3.16

and here the build & upload output

 *  Executing task: platformio run --target upload 

Processing bw_swan_r5 (platform: ststm32; board: bw_swan_r5; framework: arduino)
--------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/bw_swan_r5.html
PLATFORM: ST STM32 (15.4.1) > BluesWireless Swan R5
HARDWARE: STM32L4R5ZIY6 120MHz, 640KB RAM, 2MB Flash
DEBUG: Current (blackmagic) External (blackmagic, cmsis-dap, jlink, stlink)
PACKAGES: 
 - framework-arduinoststm32 @ 4.20200.221104 (2.2.0) 
 - framework-cmsis @ 2.50700.210515 (5.7.0) 
 - tool-dfuutil @ 1.11.0 
 - tool-openocd @ 2.1100.211028 (11.0) 
 - tool-stm32duino @ 1.0.1 
 - toolchain-gccarmnoneeabi @ 1.90201.191206 (9.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 11 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Checking size .pio/build/bw_swan_r5/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [          ]   0.1% (used 976 bytes from 655360 bytes)
Flash: [          ]   0.8% (used 17484 bytes from 2097152 bytes)
Configuring upload protocol...
AVAILABLE: blackmagic, cmsis-dap, dfu, jlink, mbed, serial, stlink
CURRENT: upload_protocol = stlink
Uploading .pio/build/bw_swan_r5/firmware.elf
xPack OpenOCD x86_64 Open On-Chip Debugger 0.11.0+dev (2021-10-17-00:18)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
debug_level: 1

hla_swd
Error: open failed
in procedure 'program'
** OpenOCD init failed **
shutdown command invoked

*** [upload] Error 1
===================================================== [FAILED] Took 2.90 seconds =====================================================

 *  The terminal process "platformio 'run', '--target', 'upload'" terminated with exit code: 1. 
 *  Terminal will be reused by tasks, press any key to close it. 

 *  Executing task: platformio run --target upload 

Processing bw_swan_r5 (platform: ststm32; board: bw_swan_r5; framework: arduino)
--------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/bw_swan_r5.html
PLATFORM: ST STM32 (15.4.1) > BluesWireless Swan R5
HARDWARE: STM32L4R5ZIY6 120MHz, 640KB RAM, 2MB Flash
DEBUG: Current (blackmagic) External (blackmagic, cmsis-dap, jlink, stlink)
PACKAGES: 
 - framework-arduinoststm32 @ 4.20200.221104 (2.2.0) 
 - framework-cmsis @ 2.50700.210515 (5.7.0) 
 - tool-dfuutil @ 1.11.0 
 - tool-openocd @ 2.1100.211028 (11.0) 
 - tool-stm32duino @ 1.0.1 
 - toolchain-gccarmnoneeabi @ 1.90201.191206 (9.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 12 compatible libraries
Scanning dependencies...
Dependency Graph
|-- Wire @ 1.0
|-- Blues Wireless Notecard @ 1.3.18
|   |-- Wire @ 1.0
Building in release mode
Compiling .pio/build/bw_swan_r5/FrameworkArduinoVariant/PeripheralPins.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduinoVariant/PeripheralPins_SWAN_R5.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduinoVariant/generic_clock.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduinoVariant/variant_SWAN_R5.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduinoVariant/variant_generic.cpp.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_adc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_adc_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_can.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_cec.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_comp.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_comp_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_cordic.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_cortex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_crc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_crc_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_cryp.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_cryp_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dac.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dac_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dcache.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dcmi.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dcmi_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dfsdm.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dfsdm_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dma.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dma2d.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dma_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dsi.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dts.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_eth.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_eth_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_exti.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_fdcan.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_firewall.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_flash.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_flash_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_flash_ramfunc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_fmac.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_fmpi2c.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_fmpi2c_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_fmpsmbus.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_fmpsmbus_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_gfxmmu.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_gpio.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_gpio_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_gtzc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_hash.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_hash_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_hcd.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_hrtim.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_hsem.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_i2c.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_i2c_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_i2s.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_i2s_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_icache.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_ipcc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_irda.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_iwdg.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_jpeg.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_lcd.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_lptim.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_ltdc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_ltdc_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_mdf.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_mdios.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_mdma.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_mmc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_mmc_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_nand.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_nor.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_opamp.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_opamp_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_ospi.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_otfdec.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_pccard.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_pcd.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_pcd_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_pka.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_pssi.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_pwr.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_pwr_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_qspi.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_ramcfg.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_ramecc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_rcc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_rcc_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_rng.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_rng_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_rtc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_rtc_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_sai.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_sai_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_sd.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_sd_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_sdadc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_sdram.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_smartcard.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_smartcard_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_smbus.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_smbus_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_spdifrx.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_spi.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_spi_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_sram.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_subghz.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_swpmi.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_tim.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_tim_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_tsc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_uart.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_uart_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_usart.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_usart_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_wwdg.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_adc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_bdma.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_comp.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_cordic.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_crc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_crs.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_dac.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_delayblock.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_dlyb.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_dma.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_dma2d.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_exti.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_fmac.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_fmc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_fmpi2c.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_fsmc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_gpio.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_hrtim.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_i2c.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_icache.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_lpgpio.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_lptim.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_lpuart.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_mdma.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_opamp.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_pka.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_pwr.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_rcc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_rng.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_rtc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_sdmmc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_spi.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_swpmi.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_tim.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_ucpd.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_usart.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_usb.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_utils.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/PortNames.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/analog.cpp.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/bootloader.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/clock.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/core_callback.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/dwt.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/hw_config.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/interrupt.cpp.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/otp.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/pinmap.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/stm32_def.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/system_stm32yyxx.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/timer.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/uart.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/syscalls.c.o
Compiling .pio/build/bw_swan_r5/src/main.cpp.o
Compiling .pio/build/bw_swan_r5/libf30/Wire/Wire.cpp.o
Compiling .pio/build/bw_swan_r5/libf30/Wire/utility/twi.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/NoteI2c_Arduino.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/NoteLog_Arduino.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/NoteSerial_Arduino.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/NoteTime_Arduino.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/NoteTxn_Arduino.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/Notecard.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_atof.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_b64.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_cjson.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_cjson_helpers.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_const.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_ftoa.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_helpers.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_hooks.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_i2c.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_md5.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_printf.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_request.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_serial.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_str.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_ua.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteClearLocation_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteDebug_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteGetEnv_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteGetLocationMode_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteGetLocation_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteGetNetStatus_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteGetServiceConfig_test.cpp.o
Archiving .pio/build/bw_swan_r5/libf30/libWire.a
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteGetStatus_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteGetVersion_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteIsConnected_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteLocationValid_test.cpp.o
Indexing .pio/build/bw_swan_r5/libf30/libWire.a
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NotePayload_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NotePrint_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NotePrintln_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteRegion_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteRequestResponseJSON_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteRequestResponse_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteRequestWithRetry_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteRequest_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteSerialHooks_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteSetFn_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteSetLocationMode_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteSetLocation_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteSleep_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteTime_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteTransactionHooks_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteTransaction_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/i2cNoteReset_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/i2cNoteTransaction_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/serialNoteReset_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/serialNoteTransaction_test.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/HardwareSerial.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/HardwareTimer.cpp.o
Archiving .pio/build/bw_swan_r5/lib631/libBlues Wireless Notecard.a
Compiling .pio/build/bw_swan_r5/FrameworkArduino/IPAddress.cpp.o
Indexing .pio/build/bw_swan_r5/lib631/libBlues Wireless Notecard.a
Compiling .pio/build/bw_swan_r5/FrameworkArduino/Print.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/RingBuffer.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/Stream.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/Tone.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/USBSerial.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/VirtIOSerial.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/WInterrupts.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/WMath.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/WSerial.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/WString.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/abi.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/avr/dtostrf.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/board.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/hooks.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/itoa.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/main.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/new.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/pins_arduino.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/device.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/generic/condition.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/generic/cortexm/sys.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/generic/generic_device.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/generic/generic_init.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/generic/generic_io.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/generic/generic_shmem.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/generic/time.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/init.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/io.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/log.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/shmem.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/mbox_ipcc.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/open-amp/remoteproc/remoteproc_virtio.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/open-amp/rpmsg/rpmsg.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/open-amp/rpmsg/rpmsg_virtio.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/openamp.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/rsc_table.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/virt_uart.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/virtio/virtio.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/virtio/virtqueue.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/virtio_buffer.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/virtio_log.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/startup_stm32yyxx.S.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/cdc/cdc_queue.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/cdc/usbd_cdc.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/cdc/usbd_cdc_if.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/hid/usbd_hid_composite.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/hid/usbd_hid_composite_if.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/usb_device_core.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/usb_device_ctlreq.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/usb_device_ioreq.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/usbd_conf.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/usbd_desc.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/usbd_ep_conf.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/usbd_if.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/wiring_analog.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/wiring_digital.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/wiring_pulse.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/wiring_shift.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/wiring_time.c.o
Archiving .pio/build/bw_swan_r5/libFrameworkArduino.a
Indexing .pio/build/bw_swan_r5/libFrameworkArduino.a
Linking .pio/build/bw_swan_r5/firmware.elf
Checking size .pio/build/bw_swan_r5/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [          ]   0.6% (used 3988 bytes from 655360 bytes)
Flash: [          ]   1.4% (used 28712 bytes from 2097152 bytes)
Building .pio/build/bw_swan_r5/firmware.bin
Adding dfu suffix to firmware.bin
dyld[71591]: Library not loaded: /usr/local/opt/libusb/lib/libusb-1.0.0.dylib
  Referenced from: <2C64C116-83B7-3F20-B5BF-951356492177> /Users/nik/.platformio/packages/tool-dfuutil/bin/dfu-suffix
  Reason: tried: '/usr/local/opt/libusb/lib/libusb-1.0.0.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/libusb/lib/libusb-1.0.0.dylib' (no such file), '/usr/local/opt/libusb/lib/libusb-1.0.0.dylib' (no such file), '/usr/local/lib/libusb-1.0.0.dylib' (no such file), '/usr/lib/libusb-1.0.0.dylib' (no such file, not in dyld cache)
*** [.pio/build/bw_swan_r5/firmware.bin] Error -6
==================================================== [FAILED] Took 12.47 seconds ====================================================

 *  The terminal process "platformio 'run', '--target', 'upload'" terminated with exit code: 1. 
 *  Terminal will be reused by tasks, press any key to close it. 



Note: rather than being lazy, I do not feel qualified to roam through tons of problem reports like mine. Can you advise me here?

Hi @adriatic,

What OS are you using? Looking at the log, there is a problem with libusb missing. If you’re on Windows, check out the warning in the Swan quickstart.

Rob

I am using the current MacOS (ventura 13.1) and seems that the missing library is missing on MacOS. In order to install it I had to use the lastest version which invalidated so many other libraries that I do not believe my computer will ever work again :smiling_face_with_tear:

45 minutes later, after getting MacOS updates done, rebuilding my Swan app resulted with:

 *  Executing task: platformio run --target upload 

Processing bw_swan_r5 (platform: ststm32; board: bw_swan_r5; framework: arduino)
--------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/bw_swan_r5.html
PLATFORM: ST STM32 (15.4.1) > BluesWireless Swan R5
HARDWARE: STM32L4R5ZIY6 120MHz, 640KB RAM, 2MB Flash
DEBUG: Current (blackmagic) External (blackmagic, cmsis-dap, jlink, stlink)
PACKAGES: 
 - framework-arduinoststm32 @ 4.20200.221104 (2.2.0) 
 - framework-cmsis @ 2.50700.210515 (5.7.0) 
 - tool-dfuutil @ 1.11.0 
 - tool-openocd @ 2.1100.211028 (11.0) 
 - tool-stm32duino @ 1.0.1 
 - toolchain-gccarmnoneeabi @ 1.90201.191206 (9.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 11 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Checking size .pio/build/bw_swan_r5/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [          ]   0.1% (used 976 bytes from 655360 bytes)
Flash: [          ]   0.8% (used 17484 bytes from 2097152 bytes)
Configuring upload protocol...
AVAILABLE: blackmagic, cmsis-dap, dfu, jlink, mbed, serial, stlink
CURRENT: upload_protocol = stlink
Uploading .pio/build/bw_swan_r5/firmware.elf
xPack OpenOCD x86_64 Open On-Chip Debugger 0.11.0+dev (2021-10-17-00:18)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
debug_level: 1

hla_swd
Error: open failed
in procedure 'program'
** OpenOCD init failed **
shutdown command invoked

*** [upload] Error 1
===================================================== [FAILED] Took 2.90 seconds =====================================================

 *  The terminal process "platformio 'run', '--target', 'upload'" terminated with exit code: 1. 
 *  Terminal will be reused by tasks, press any key to close it. 

 *  Executing task: platformio run --target upload 

Processing bw_swan_r5 (platform: ststm32; board: bw_swan_r5; framework: arduino)
--------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/bw_swan_r5.html
PLATFORM: ST STM32 (15.4.1) > BluesWireless Swan R5
HARDWARE: STM32L4R5ZIY6 120MHz, 640KB RAM, 2MB Flash
DEBUG: Current (blackmagic) External (blackmagic, cmsis-dap, jlink, stlink)
PACKAGES: 
 - framework-arduinoststm32 @ 4.20200.221104 (2.2.0) 
 - framework-cmsis @ 2.50700.210515 (5.7.0) 
 - tool-dfuutil @ 1.11.0 
 - tool-openocd @ 2.1100.211028 (11.0) 
 - tool-stm32duino @ 1.0.1 
 - toolchain-gccarmnoneeabi @ 1.90201.191206 (9.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 12 compatible libraries
Scanning dependencies...
Dependency Graph
|-- Wire @ 1.0
|-- Blues Wireless Notecard @ 1.3.18
|   |-- Wire @ 1.0
Building in release mode
Compiling .pio/build/bw_swan_r5/FrameworkArduinoVariant/PeripheralPins.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduinoVariant/PeripheralPins_SWAN_R5.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduinoVariant/generic_clock.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduinoVariant/variant_SWAN_R5.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduinoVariant/variant_generic.cpp.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_adc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_adc_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_can.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_cec.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_comp.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_comp_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_cordic.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_cortex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_crc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_crc_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_cryp.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_cryp_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dac.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dac_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dcache.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dcmi.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dcmi_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dfsdm.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dfsdm_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dma.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dma2d.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dma_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dsi.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_dts.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_eth.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_eth_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_exti.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_fdcan.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_firewall.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_flash.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_flash_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_flash_ramfunc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_fmac.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_fmpi2c.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_fmpi2c_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_fmpsmbus.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_fmpsmbus_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_gfxmmu.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_gpio.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_gpio_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_gtzc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_hash.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_hash_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_hcd.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_hrtim.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_hsem.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_i2c.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_i2c_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_i2s.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_i2s_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_icache.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_ipcc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_irda.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_iwdg.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_jpeg.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_lcd.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_lptim.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_ltdc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_ltdc_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_mdf.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_mdios.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_mdma.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_mmc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_mmc_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_nand.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_nor.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_opamp.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_opamp_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_ospi.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_otfdec.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_pccard.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_pcd.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_pcd_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_pka.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_pssi.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_pwr.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_pwr_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_qspi.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_ramcfg.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_ramecc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_rcc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_rcc_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_rng.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_rng_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_rtc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_rtc_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_sai.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_sai_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_sd.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_sd_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_sdadc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_sdram.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_smartcard.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_smartcard_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_smbus.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_smbus_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_spdifrx.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_spi.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_spi_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_sram.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_subghz.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_swpmi.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_tim.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_tim_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_tsc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_uart.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_uart_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_usart.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_usart_ex.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/HAL/stm32yyxx_hal_wwdg.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_adc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_bdma.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_comp.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_cordic.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_crc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_crs.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_dac.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_delayblock.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_dlyb.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_dma.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_dma2d.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_exti.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_fmac.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_fmc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_fmpi2c.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_fsmc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_gpio.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_hrtim.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_i2c.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_icache.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_lpgpio.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_lptim.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_lpuart.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_mdma.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_opamp.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_pka.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_pwr.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_rcc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_rng.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_rtc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_sdmmc.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_spi.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_swpmi.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_tim.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_ucpd.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_usart.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_usb.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/LL/stm32yyxx_ll_utils.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/PortNames.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/analog.cpp.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/bootloader.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/clock.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/core_callback.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/dwt.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/hw_config.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/interrupt.cpp.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/otp.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/pinmap.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/stm32_def.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/system_stm32yyxx.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/timer.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/stm32/uart.c.o
Compiling .pio/build/bw_swan_r5/SrcWrapper/src/syscalls.c.o
Compiling .pio/build/bw_swan_r5/src/main.cpp.o
Compiling .pio/build/bw_swan_r5/libf30/Wire/Wire.cpp.o
Compiling .pio/build/bw_swan_r5/libf30/Wire/utility/twi.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/NoteI2c_Arduino.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/NoteLog_Arduino.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/NoteSerial_Arduino.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/NoteTime_Arduino.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/NoteTxn_Arduino.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/Notecard.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_atof.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_b64.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_cjson.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_cjson_helpers.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_const.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_ftoa.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_helpers.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_hooks.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_i2c.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_md5.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_printf.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_request.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_serial.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_str.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/n_ua.c.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteClearLocation_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteDebug_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteGetEnv_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteGetLocationMode_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteGetLocation_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteGetNetStatus_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteGetServiceConfig_test.cpp.o
Archiving .pio/build/bw_swan_r5/libf30/libWire.a
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteGetStatus_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteGetVersion_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteIsConnected_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteLocationValid_test.cpp.o
Indexing .pio/build/bw_swan_r5/libf30/libWire.a
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NotePayload_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NotePrint_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NotePrintln_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteRegion_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteRequestResponseJSON_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteRequestResponse_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteRequestWithRetry_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteRequest_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteSerialHooks_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteSetFn_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteSetLocationMode_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteSetLocation_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteSleep_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteTime_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteTransactionHooks_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/NoteTransaction_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/i2cNoteReset_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/i2cNoteTransaction_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/serialNoteReset_test.cpp.o
Compiling .pio/build/bw_swan_r5/lib631/Blues Wireless Notecard/note-c/test/src/serialNoteTransaction_test.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/HardwareSerial.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/HardwareTimer.cpp.o
Archiving .pio/build/bw_swan_r5/lib631/libBlues Wireless Notecard.a
Compiling .pio/build/bw_swan_r5/FrameworkArduino/IPAddress.cpp.o
Indexing .pio/build/bw_swan_r5/lib631/libBlues Wireless Notecard.a
Compiling .pio/build/bw_swan_r5/FrameworkArduino/Print.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/RingBuffer.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/Stream.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/Tone.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/USBSerial.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/VirtIOSerial.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/WInterrupts.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/WMath.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/WSerial.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/WString.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/abi.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/avr/dtostrf.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/board.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/hooks.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/itoa.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/main.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/new.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/pins_arduino.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/device.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/generic/condition.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/generic/cortexm/sys.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/generic/generic_device.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/generic/generic_init.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/generic/generic_io.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/generic/generic_shmem.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/generic/time.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/init.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/io.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/log.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/libmetal/shmem.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/mbox_ipcc.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/open-amp/remoteproc/remoteproc_virtio.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/open-amp/rpmsg/rpmsg.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/open-amp/rpmsg/rpmsg_virtio.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/openamp.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/rsc_table.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/virt_uart.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/virtio/virtio.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/virtio/virtqueue.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/virtio_buffer.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/OpenAMP/virtio_log.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/startup_stm32yyxx.S.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/cdc/cdc_queue.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/cdc/usbd_cdc.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/cdc/usbd_cdc_if.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/hid/usbd_hid_composite.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/hid/usbd_hid_composite_if.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/usb_device_core.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/usb_device_ctlreq.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/usb_device_ioreq.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/usbd_conf.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/usbd_desc.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/usbd_ep_conf.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/stm32/usb/usbd_if.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/wiring_analog.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/wiring_digital.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/wiring_pulse.cpp.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/wiring_shift.c.o
Compiling .pio/build/bw_swan_r5/FrameworkArduino/wiring_time.c.o
Archiving .pio/build/bw_swan_r5/libFrameworkArduino.a
Indexing .pio/build/bw_swan_r5/libFrameworkArduino.a
Linking .pio/build/bw_swan_r5/firmware.elf
Checking size .pio/build/bw_swan_r5/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [          ]   0.6% (used 3988 bytes from 655360 bytes)
Flash: [          ]   1.4% (used 28712 bytes from 2097152 bytes)
Building .pio/build/bw_swan_r5/firmware.bin
Adding dfu suffix to firmware.bin
dyld[71591]: Library not loaded: /usr/local/opt/libusb/lib/libusb-1.0.0.dylib
  Referenced from: <2C64C116-83B7-3F20-B5BF-951356492177> /Users/nik/.platformio/packages/tool-dfuutil/bin/dfu-suffix
  Reason: tried: '/usr/local/opt/libusb/lib/libusb-1.0.0.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/libusb/lib/libusb-1.0.0.dylib' (no such file), '/usr/local/opt/libusb/lib/libusb-1.0.0.dylib' (no such file), '/usr/local/lib/libusb-1.0.0.dylib' (no such file), '/usr/lib/libusb-1.0.0.dylib' (no such file, not in dyld cache)
*** [.pio/build/bw_swan_r5/firmware.bin] Error -6
==================================================== [FAILED] Took 12.47 seconds ====================================================

 *  The terminal process "platformio 'run', '--target', 'upload'" terminated with exit code: 1. 
 *  Terminal will be reused by tasks, press any key to close it. 

 *  Executing task: platformio run --target upload 

Processing bw_swan_r5 (platform: ststm32; board: bw_swan_r5; framework: arduino)
--------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/bw_swan_r5.html
PLATFORM: ST STM32 (15.4.1) > BluesWireless Swan R5
HARDWARE: STM32L4R5ZIY6 120MHz, 640KB RAM, 2MB Flash
DEBUG: Current (blackmagic) External (blackmagic, cmsis-dap, jlink, stlink)
PACKAGES: 
 - framework-arduinoststm32 @ 4.20200.221104 (2.2.0) 
 - framework-cmsis @ 2.50700.210515 (5.7.0) 
 - tool-dfuutil @ 1.11.0 
 - tool-openocd @ 2.1100.211028 (11.0) 
 - tool-stm32duino @ 1.0.1 
 - toolchain-gccarmnoneeabi @ 1.90201.191206 (9.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 12 compatible libraries
Scanning dependencies...
Dependency Graph
|-- Wire @ 1.0
|-- Blues Wireless Notecard @ 1.3.18
|   |-- Wire @ 1.0
Building in release mode
Checking size .pio/build/bw_swan_r5/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [          ]   0.6% (used 3988 bytes from 655360 bytes)
Flash: [          ]   1.4% (used 28712 bytes from 2097152 bytes)
Building .pio/build/bw_swan_r5/firmware.bin
Adding dfu suffix to firmware.bin
dfu-suffix (dfu-util) 0.11

Copyright 2011-2012 Stefan Schmidt, 2013-2020 Tormod Volden
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Suffix successfully added to file
Configuring upload protocol...
AVAILABLE: blackmagic, cmsis-dap, dfu, jlink, mbed, serial, stlink
CURRENT: upload_protocol = dfu
Uploading .pio/build/bw_swan_r5/firmware.bin
dfu-util 0.11

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: No DFU capable USB device available
*** [upload] Error 74
===================================================== [FAILED] Took 3.86 seconds =====================================================

 *  The terminal process "platformio 'run', '--target', 'upload'" terminated with exit code: 1. 
 *  Terminal will be reused by tasks, press any key to close it. 

There is an article 4 years old (dfu-util: No DFU capable USB device available · Issue #68 · rogerclarkmelbourne/STM32duino-bootloader · GitHub) which may indicate a path to solution but it is way above my paygrade at the moment.

Any advice? Am I the first person trying to do this on the Swan/MacOS platform?

The error dfu-util: No DFU capable USB device available remains to be the problem.

One possible solution would be to take advice from arduino support

dfu-util: No DFU capable USB device available
Upload error: Failed uploading: uploading error: exit status 74
dfu-util: No DFU capable USB device available
Upload error: Failed uploading: uploading error: exit status 74
This error can happen if the IDE could not find the selected board on the port, or if a port is not selected.

Make sure the board is connected to your computer.

Make sure that the right board is selected in Tools > Board.

Select the board in Tools > Port.

For step-by-step instructions, see Select board and port in Arduino IDE.
If you can’t find the port, see If your board does not appear in the port menu.
Make sure the correct port is selected in Tools > Port.

Close other instances of Arduino IDE, serial monitors, and other software that may be blocking the port.

Restart your computer.

See Find and stop process blocking a port.

If that does not yield something usable, I plan to seek help at

http://sourceforge.net/p/dfu-util/tickets/

unless someone at Blues can find the solution (I would not like to be a bozo Blues user going to dfu-util without knowing that it is necessary to do)

Just to be clear - before you upload firmware to the Swan, are you pressing and holding the BOOT button, then pressing and releasing RESET, then release BOOT? This causes the Swan to jump into its bootloader (per the quickstart guide).

If this truly is a libusb issue I haven’t seen this happen on macOS before. However, I’ve seen all sorts of situations where macOS upgrades cause issues. Here is one potential solution on Stack Overflow.

Well, you hit the nail on the head - I did not get that far in the Swan Quickstart, because I thought that the highlighted section below

image

is just one of the 4 alternatives and as such the complete information I needed. So, your statement

pressing and holding the BOOT button, then pressing and releasing RESET, then release BOOT

took me by complete surprise as I have no idea where these buttons are (is there any information about that?). My surprise should be the indication that there ought to be a warning about that in Swan Quickstart - Blues Developers

Hi @adriatic,

That section is actually in the quickstart - see “Programming Swan (PlatformIO)” which is the section immediately following “Creating a PlatformIO Project for Swan”.

There is an image in that section to point out where those buttons are on the Swan.

Rob

I believe that this is the image you referred to, is this one:

image

1 seems to be the boot button
2 seems to be the reset button

Not sure what is the signifficance of the red rectangle (guessing that it marks the Swan board USB connector. The reason for pointing out places where I got confused is to suggest the improvements in next release of your documentation - not to teach you how to write it :wink:.

There is one remaining issue to mention: should the USB cable to my computer be connected to the NoteCarrier USB-c connector shown below (red marker 1)

or to the USB-c connector on the Swan (red marker 2 on the image above)?

Hi @adriatic,

Yes, the buttons on the Swan labelled BOOT and RST are the boot and reset buttons (respectively). The reason the red rectangle is over the USB port is because the instruction of step 2 is to connect that port to your computer.

So, to answer your question, if you’re programming the Swan you want to connect to the Swan. If you’re interfacing with the Notecard/Notecarrier directly (via the in-browser terminal for instance), you’ll want to connect to the Notecarrier.

Hi @RobLauer

I hope that my comments are useful to blues - if not (like I am taking too much of your time when explaining things known to everyone but me), please to let know, so I can stop playing the role of a village idiot :pensive:)

With your last explanation (to connect the cable to Swan USB port) it is obvious that all my previous atempts in this article were sentenced to fail. I will try again - and once successfull I will write an “Executive summary” outlining all my misunderstandings, for the future users learning how to program Swan board.

No worries - in my experience if one person asks a question, that just means there are 10x as many people out there afraid to ask the same question :slight_smile:. Keep the feedback coming!

Rob

2 Likes

Continuing the same thread:

Swan Quickstart presents 4 alternative options, to start developing on the Swan with Arduino, C/C++, and CircuitPython using your preferred IDE

This means that all of these options explain the same process: “Program the Swan’s STM32L4 chip”, which shatters performance limits in the ultra-low-power world. It delivers 100 DMIPS based on its Arm® Cortex®-M4 core with FPU and ST ART Accelerator™. In other words, Swan has Floating Point Unit as well as DMA (see more details here).

STM32L4 architecture is rather complex as it is a RISC 32 bit computer on a chip:


This STM32L4 based computer on a chip has SRAM memory (a type of RAM that holds data in a static form, that is, as long as the memory has power) used for the CPU cache, Flash memory that stores the programs (fed from the programmers workstation - Mac, Windows, Linux), UART USB device which enables data (actually programs) transfer.

This is a good time to reflect on Programming Swan (PlatformIO) section, using the USB cable connecting the Swan board and the developer’s workstation (Mac, Windows, Linux. The paragraph Without the STLink-V3Mini states

Press and hold the BOOT button (red marker 1 - image below) on the Swan, press and release RESET ( red marker 2), then release BOOT to cause the Swan to jump into its bootloader.
image

Marker 3 refers to the USBc connector on the Swan board.

The Swan is a complete computer, that runs asynchronously with the developer’s workstation. In order to get the Swan’s CPU attention when using the workstation to upload the code to be executed on the Swan, it is necessary to “reboot” STM32L4, action achieved by manual pushs on Boot and Reset Swan buttons.


This is a rather large set of comments, which I believe would help a skilled web programmer to interact with Swan, understanding the section Without the STLink-V3Mini.

Finally success - managed to run Swan Quickstart, using the Option #1: VS Code + PlatformIO Extension Instructions (recommended)

This is the execution log on the VScode teminal.

 *  Executing task: platformio run --target upload 

Processing bw_swan_r5 (platform: ststm32; board: bw_swan_r5; framework: arduino)
--------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/bw_swan_r5.html
PLATFORM: ST STM32 (15.4.1) > BluesWireless Swan R5
HARDWARE: STM32L4R5ZIY6 120MHz, 640KB RAM, 2MB Flash
DEBUG: Current (blackmagic) External (blackmagic, cmsis-dap, jlink, stlink)
PACKAGES: 
 - framework-arduinoststm32 @ 4.20200.221104 (2.2.0) 
 - framework-cmsis @ 2.50700.210515 (5.7.0) 
 - tool-dfuutil @ 1.11.0 
 - tool-openocd @ 2.1100.211028 (11.0) 
 - tool-stm32duino @ 1.0.1 
 - toolchain-gccarmnoneeabi @ 1.90201.191206 (9.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 12 compatible libraries
Scanning dependencies...
Dependency Graph
|-- Wire @ 1.0
|-- Blues Wireless Notecard @ 1.3.18
|   |-- Wire @ 1.0
Building in release mode
Checking size .pio/build/bw_swan_r5/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [          ]   0.6% (used 3988 bytes from 655360 bytes)
Flash: [          ]   1.4% (used 28712 bytes from 2097152 bytes)
Configuring upload protocol...
AVAILABLE: blackmagic, cmsis-dap, dfu, jlink, mbed, serial, stlink
CURRENT: upload_protocol = dfu
Uploading .pio/build/bw_swan_r5/firmware.bin
dfu-util 0.11

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Opening DFU capable USB device...
Device ID 0483:df11
Device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Interface #0 ...
Determining device status...
DFU state(10) = dfuERROR, status(10) = Device's firmware is corrupt. It cannot return to run-time (non-DFU) operations
Clearing status
Determining device status...
DFU state(2) = dfuIDLE, status(0) = No error condition is present
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash  "
Downloading element to address = 0x08000000, size = 29184

Erase           [                         ]   0%            0 bytes
Erase           [=                        ]   7%         2048 bytes
Erase           [===                      ]  14%         4096 bytes
Erase           [=====                    ]  21%         6144 bytes
Erase           [=======                  ]  28%         8192 bytes
Erase           [========                 ]  35%        10240 bytes
Erase           [==========               ]  42%        12288 bytes
Erase           [============             ]  49%        14336 bytes
Erase           [==============           ]  56%        16384 bytes
Erase           [===============          ]  63%        18432 bytes
Erase           [=================        ]  70%        20480 bytes
Erase           [===================      ]  77%        22528 bytes
Erase           [=====================    ]  84%        24576 bytes
Erase           [======================   ]  91%        26624 bytes
Erase           [======================== ]  98%        28672 bytes
Erase           [=========================] 100%        29184 bytes
Erase    done.

Download        [                         ]   0%            0 bytes
Download        [=                        ]   7%         2048 bytes
Download        [===                      ]  14%         4096 bytes
Download        [=====                    ]  21%         6144 bytes
Download        [=======                  ]  28%         8192 bytes
Download        [========                 ]  35%        10240 bytes
Download        [==========               ]  42%        12288 bytes
Download        [============             ]  49%        14336 bytes
Download        [==============           ]  56%        16384 bytes
Download        [===============          ]  63%        18432 bytes
Download        [=================        ]  70%        20480 bytes
Download        [===================      ]  77%        22528 bytes
Download        [=====================    ]  84%        24576 bytes
Download        [======================   ]  91%        26624 bytes
Download        [======================== ]  98%        28672 bytes
Download        [=========================] 100%        29184 bytes
Download done.
File downloaded successfully
Submitting leave request...
Transitioning to dfuMANIFEST state
==================================================== [SUCCESS] Took 6.74 seconds ====================================================
 *  Terminal will be reused by tasks, press any key to close it.