So starting with a fresh copy of dBC’s v5 tar (coned from GitHub - stm32oem/stm32tests) I just added your full platformio.ini content from your github link (STM32Dev/platformio.ini at master · glynhudson/STM32Dev · GitHub) as a new file in the root of the project folder and it failed to compile with the same “gnu99” errors.
pi@raspberrypi:~/v5/stm32tests/emonTxshield $ pio run -t upload
[Tue Mar 27 10:43:31 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
Src/adc.c: In function 'ConvCpltEither':
Src/adc.c:643:5: error: 'for' loop initial declarations are only allowed in C99 mode
for (int i=0; i<SEQS_PER_HALF; i++) {
^
Src/adc.c:643:5: note: use option -std=c99 or -std=gnu99 to compile your code
*** [.pioenvs/stm32f303-dev/src/adc.o] Error 1
========================== [ERROR] Took 8.29 seconds ==========================
================================== [SUMMARY] ==================================
Environment stm32f303-dev [ERROR]
Environment stm32f303 [SKIP]
========================== [ERROR] Took 8.30 seconds ==========================
looking at the content of that ini file, it getting kinda busy in there an I’m not sure what is really necessary and whats not.
I can see you are putting the build flags in a variable in the [common] section and then using ${common.build_flags} in both the dev and non-dev environments. I decided to try what worked for me previously and just stuffed “build_flags = -std=gnu99” in there, since there was now 2 env sections I put it at the end of the [common] section like so
[platformio]
src_dir = Src
include_dir = Inc
env_default = stm32f303-dev
[common]
# Specify flags/variables commmon to all enviroments
# PlatfomIO common variables docs: http://docs.platformio.org/en/latest/project$
# PlatfomIO build_flags docs: http://docs.platformio.org/en/latest/projectconf/$
monitor_baud = 115200
debug_flags = -D DEBUG=1
build_flags =
-Wl,-u_printf_float
-D std=gnu99
build_flags = -std=gnu99
# Dev build enviroment (default)
# $ pio run -t upload
[env:stm32f303-dev]
platform = ststm32
framework = stm32cube
board = nucleo_f303re
monitor_baud = ${common.monitor_baud}
src_build_flags =
${common.build_flags}
${common.debug_flags}
# Non dev build enviroment, specify enviroment using:
# $ pio run -t upload -e stm32f303
[env:stm32f303]
platform = ststm32
framework = stm32cube
board = nucleo_f303re
monitor_baud = ${common.monitor_baud}
src_build_flags = ${common.build_flags}
That compiles and loads just fine
pi@raspberrypi:~/v5/stm32tests/emonTxshield $ nano platformio.ini
pi@raspberrypi:~/v5/stm32tests/emonTxshield $ pio run -t upload
[Tue Mar 27 10:55:20 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
Compiling .pioenvs/stm32f303-dev/FrameworkHALDriver/Src/stm32f3xx_hal_dac.o
/home/pi/.platformio/packages/framework-stm32cube/f3/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_crc.c: In function 'CRC_Handle_8':
/home/pi/.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/pi/.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/pi/.platformio/packages/framework-stm32cube/f3/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_crc.c: In function 'CRC_Handle_16':
/home/pi/.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_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
Checking program size
text data bss dec hex filename
21400 1088 5908 28396 6eec .pioenvs/stm32f303-dev/firmware.elf
Building .pioenvs/stm32f303-dev/firmware.bin
Configuring upload protocol...
AVAILABLE: blackmagic, jlink, mbed, mbed, stlink
CURRENT: upload_protocol = mbed
Looking for upload disk...
Auto-detected: /media/pi/NODE_F303RE
Uploading .pioenvs/stm32f303-dev/firmware.bin
Firmware has been successfully uploaded.
(Some boards may require manual hard reset)
========================= [SUCCESS] Took 37.21 seconds =========================
================================== [SUMMARY] ==================================
Environment stm32f303-dev [SUCCESS]
Environment stm32f303 [SKIP]
========================= [SUCCESS] Took 37.21 seconds =========================
and the resulting serial print still has no values either
pi@raspberrypi:~/v5/stm32tests/emonTxshield $ pio device monitor
--- Miniterm on /dev/ttyACM0 115200,8,N,1 ---
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
29C, Vdda: 3304mV
0: Vrms: , Irms: , Papp: , Preal: , PF:
1: Vrms: , Irms: , Papp: , Preal: , PF:
2: Vrms: , Irms: , Papp: , Preal: , PF:
3: Vrms: , Irms: , Papp: , Preal: , PF:
2: Vrms: , Irms: , Papp: , Preal: , PF:
3: Vrms: , Irms: , Papp: , Preal: , PF:
0: Vrms: , Irms: , Papp: , Preal: , PF:
1: Vrms: , Irms: , Papp: , Preal: , PF:
CPU temp: 29C, Vdda: 3306mV
0: Vrms: , Irms: , Papp: , PCPU temp: 29C, Vdda: 3306mV
--- exit ---