STM32 PlatformIO

Mmm strange, I’m unable to replicate. The code compiles fine for me without the std=gnu99 flag.

I was dev version of PlatformIO currently version 3.5.3a7, to test I reverted to the non dev version of platformio version 3.5.2 and still unable to replicate.

However I’ve added the build flag to platformio .ini (currently in PR to trystans repo). I didn’t seem to make any difference for me.

Build flag variables need to have -D in front of them e.g.

http://docs.platformio.org/en/latest/projectconf/section_env_build.html#id1

Please confirm if this fixes the issue for you. What version platformIO are your running $ pio --version?

For comparison here is my compilation output:

[Tue Mar 27 00:43:28 2018] Processing stm32f303-dev (platform: ststm32; board: nucleo_f303re; framework: stm32cube)
------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
PLATFORM: ST STM32 > ST Nucleo F303RE
SYSTEM: STM32F303RET6 72MHz 64KB RAM (512KB Flash)
DEBUG: CURRENT(stlink) ON-BOARD(stlink) EXTERNAL(blackmagic, jlink)
Warning! Cannot find a linker script for the required board! Firmware will be linked with a default linker script!
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(light)
Collected 0 compatible libraries
Scanning dependencies...
No dependencies
Compiling .pioenvs/stm32f303-dev/src/adc.o
Compiling .pioenvs/stm32f303-dev/src/dma.o
Compiling .pioenvs/stm32f303-dev/src/gpio.o
Compiling .pioenvs/stm32f303-dev/src/main.o
Compiling .pioenvs/stm32f303-dev/src/power.o
Compiling .pioenvs/stm32f303-dev/src/stm32f3xx_hal_msp.o
Compiling .pioenvs/stm32f303-dev/src/stm32f3xx_it.o
Compiling .pioenvs/stm32f303-dev/src/system_stm32f3xx.o
Compiling .pioenvs/stm32f303-dev/src/tim.o
Compiling .pioenvs/stm32f303-dev/src/usart.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_adc.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_adc_ex.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_can.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_cec.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_comp.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_cortex.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_crc.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_crc_ex.o
/home/fig/.platformio/packages/framework-stm32cube/f3/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_crc.c: In function 'CRC_Handle_8':
/home/fig/.platformio/packages/framework-stm32cube/f3/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_crc.c:485:8: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
*(uint16_t volatile*) (&hcrc->Instance->DR) = ((uint32_t)pBuffer[4*i]<<8) | (uint32_t)pBuffer[4*i+1];
^
/home/fig/.platformio/packages/framework-stm32cube/f3/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_crc.c:489:8: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
*(uint16_t volatile*) (&hcrc->Instance->DR) = ((uint32_t)pBuffer[4*i]<<8) | (uint32_t)pBuffer[4*i+1];
^
/home/fig/.platformio/packages/framework-stm32cube/f3/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_crc.c: In function 'CRC_Handle_16':
/home/fig/.platformio/packages/framework-stm32cube/f3/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_crc.c:521:8: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
*(uint16_t volatile*) (&hcrc->Instance->DR) = pBuffer[2*i];
^
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_dac.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_dac_ex.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_dma.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_flash.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_flash_ex.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_gpio.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_hrtim.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_i2c.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_i2c_ex.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_i2s.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_i2s_ex.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_irda.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_iwdg.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_nand.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_nor.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_opamp.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_opamp_ex.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_pccard.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_pcd.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_pcd_ex.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_pwr.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_pwr_ex.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_rcc.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_rcc_ex.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_rtc.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_rtc_ex.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_sdadc.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_smartcard.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_smartcard_ex.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_smbus.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_spi.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_spi_ex.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_sram.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_tim.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_tim_ex.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_tsc.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_uart.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_uart_ex.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_usart.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_wwdg.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_ll_adc.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_ll_comp.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_ll_crc.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_ll_dac.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_ll_dma.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_ll_exti.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_ll_fmc.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_ll_gpio.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_ll_hrtim.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_ll_i2c.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_ll_opamp.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_ll_pwr.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_ll_rcc.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_ll_rtc.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_ll_spi.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_ll_tim.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_ll_usart.o
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_ll_utils.o
Compiling .pioenvs/stm32f303-dev/FrameworkCMSISDevice/gcc/startup_stm32f303xe.o
Compiling .pioenvs/stm32f303-dev/FrameworkCMSISDevice/system_stm32f3xx.o
Archiving .pioenvs/stm32f303-dev/libFrameworkCMSISDevice.a
Indexing .pioenvs/stm32f303-dev/libFrameworkCMSISDevice.a
Archiving .pioenvs/stm32f303-dev/libFrameworkHALDriver.a
Indexing .pioenvs/stm32f303-dev/libFrameworkHALDriver.a
Linking .pioenvs/stm32f303-dev/firmware.elf
Calculating size .pioenvs/stm32f303-dev/firmware.elf
text       data     bss     dec     hex filename
27536      1460    5940   34936    8878 .pioenvs/stm32f303-dev/firmware.elf
Building .pioenvs/stm32f303-dev/firmware.bin
========================================== [SUCCESS] Took 6.07 seconds ==========================================

=================================================== [SUMMARY] ===================================================
Environment stm32f303-dev       [SUCCESS]
Environment stm32f303           [SKIP]
========================================== [SUCCESS] Took 6.07 seconds ==========================================