Hi All,
I am trying to compile MySensors for STM32F103 using PlatformIO and get following errors. Did anybody encounter such issues?
Of course all works fine with Arduino IDE.
Thanks,
Tom.
.pio/build/bluepill_f103c8/src/main.cpp.o: In function `premain()':
main.cpp:(.text.startup._Z7premainv+0x0): multiple definition of `premain()'
.pio/build/bluepill_f103c8/FrameworkArduino/main.cpp.o:main.cpp:(.text.startup._Z7premainv+0x0): first defined here
.pio/build/bluepill_f103c8/src/main.cpp.o: In function `main':
main.cpp:(.text.startup.main+0x0): multiple definition of `main'
.pio/build/bluepill_f103c8/FrameworkArduino/main.cpp.o:main.cpp:(.text.startup.main+0x0): first defined here
collect2: error: ld returned 1 exit status
*** [.pio/build/bluepill_f103c8/firmware.elf] Error 1
My platformio.ini
[env:bluepill_f103c8]
; extra_scripts = pre:fix_main.py
platform = ststm32
board = bluepill_f103c8
board_build.core = maple
framework = arduino
upload_protocol = stlink
debug_port = stlink
debug_tool = stlink
monitor_port = /dev/cu.usbmodem14103
monitor_speed = 115200
monitor_filters = time, default
lib_deps =
MySensors@2.3.2
The code is very simple:
#include <Arduino.h>
#define MY_GATEWAY_SERIAL
#include <MySensors.h>
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
Full compilation log:
* Executing task in folder testbluepill: platformio run --environment bluepill_f103c8
Processing bluepill_f103c8 (platform: ststm32; board: bluepill_f103c8; framework: arduino)
------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/bluepill_f103c8.html
PLATFORM: ST STM32 (15.6.0) > BluePill F103C8
HARDWARE: STM32F103C8T6 72MHz, 20KB RAM, 64KB Flash
DEBUG: Current (stlink) External (blackmagic, cmsis-dap, jlink, stlink)
PACKAGES:
- framework-arduinoststm32-maple @ 3.10000.201129 (1.0.0)
- toolchain-gccarmnoneeabi @ 1.70201.0 (7.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 31 compatible libraries
Scanning dependencies...
Dependency Graph
|-- MySensors @ 2.3.2
| |-- Wire @ 1.0
| |-- SPI @ 1.0
| |-- EEPROM
Building in release mode
Linking .pio/build/bluepill_f103c8/firmware.elf
.pio/build/bluepill_f103c8/src/main.cpp.o: In function `premain()':
main.cpp:(.text.startup._Z7premainv+0x0): multiple definition of `premain()'
.pio/build/bluepill_f103c8/FrameworkArduino/main.cpp.o:main.cpp:(.text.startup._Z7premainv+0x0): first defined here
.pio/build/bluepill_f103c8/src/main.cpp.o: In function `main':
main.cpp:(.text.startup.main+0x0): multiple definition of `main'
.pio/build/bluepill_f103c8/FrameworkArduino/main.cpp.o:main.cpp:(.text.startup.main+0x0): first defined here
collect2: error: ld returned 1 exit status
*** [.pio/build/bluepill_f103c8/firmware.elf] Error 1
======================================================= [FAILED] Took 0.52 seconds =======================================================
* The terminal process "platformio 'run', '--environment', 'bluepill_f103c8'" terminated with exit code: 1.
* Terminal will be reused by tasks, press any key to close it.
* Executing task in folder testbluepill: platformio run --environment bluepill_f103c8
Processing bluepill_f103c8 (platform: ststm32; board: bluepill_f103c8; framework: arduino)
------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/bluepill_f103c8.html
PLATFORM: ST STM32 (15.6.0) > BluePill F103C8
HARDWARE: STM32F103C8T6 72MHz, 20KB RAM, 64KB Flash
DEBUG: Current (stlink) External (blackmagic, cmsis-dap, jlink, stlink)
PACKAGES:
- framework-arduinoststm32-maple @ 3.10000.201129 (1.0.0)
- toolchain-gccarmnoneeabi @ 1.70201.0 (7.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Library Manager: Installing MySensors @ 2.3.2
Unpacking [------------------------------------] 0%
Unpacking [------------------------------------] 1%
Unpacking [------------------------------------] 2%
Unpacking [#-----------------------------------] 3%
Unpacking [#-----------------------------------] 4%
Unpacking [#-----------------------------------] 5%
Unpacking [##----------------------------------] 5%
Unpacking [##----------------------------------] 6%
Unpacking [##----------------------------------] 7%
Unpacking [##----------------------------------] 8%
Unpacking [###---------------------------------] 8%
Unpacking [###---------------------------------] 9%
Unpacking [###---------------------------------] 10%
Unpacking [####--------------------------------] 11%
Unpacking [####--------------------------------] 12%
Unpacking [####--------------------------------] 13%
Unpacking [#####-------------------------------] 14%
Unpacking [#####-------------------------------] 15%
Unpacking [#####-------------------------------] 16%
Unpacking [######------------------------------] 16%
Unpacking [######------------------------------] 17%
Unpacking [######------------------------------] 18%
Unpacking [######------------------------------] 19%
Unpacking [#######-----------------------------] 19%
Unpacking [#######-----------------------------] 20%
Unpacking [#######-----------------------------] 21%
Unpacking [########----------------------------] 22%
Unpacking [########----------------------------] 23%
Unpacking [########----------------------------] 24%
Unpacking [#########---------------------------] 25%
Unpacking [#########---------------------------] 26%
Unpacking [#########---------------------------] 27%
Unpacking [##########--------------------------] 27%
Unpacking [##########--------------------------] 28%
Unpacking [##########--------------------------] 29%
Unpacking [##########--------------------------] 30%
Unpacking [###########-------------------------] 30%
Unpacking [###########-------------------------] 31%
Unpacking [###########-------------------------] 32%
Unpacking [############------------------------] 33%
Unpacking [############------------------------] 34%
Unpacking [############------------------------] 35%
Unpacking [############------------------------] 36%
Unpacking [#############-----------------------] 36%
Unpacking [#############-----------------------] 37%
Unpacking [#############-----------------------] 38%
Unpacking [##############----------------------] 39%
Unpacking [##############----------------------] 40%
Unpacking [##############----------------------] 41%
Unpacking [###############---------------------] 41%
Unpacking [###############---------------------] 42%
Unpacking [###############---------------------] 43%
Unpacking [###############---------------------] 44%
Unpacking [################--------------------] 44%
Unpacking [################--------------------] 45%
Unpacking [################--------------------] 46%
Unpacking [################--------------------] 47%
Unpacking [#################-------------------] 47%
Unpacking [#################-------------------] 48%
Unpacking [#################-------------------] 49%
Unpacking [##################------------------] 50%
Unpacking [##################------------------] 51%
Unpacking [##################------------------] 52%
Unpacking [###################-----------------] 52%
Unpacking [###################-----------------] 53%
Unpacking [###################-----------------] 54%
Unpacking [###################-----------------] 55%
Unpacking [####################----------------] 55%
Unpacking [####################----------------] 56%
Unpacking [####################----------------] 57%
Unpacking [####################----------------] 58%
Unpacking [#####################---------------] 58%
Unpacking [#####################---------------] 59%
Unpacking [#####################---------------] 60%
Unpacking [######################--------------] 61%
Unpacking [######################--------------] 62%
Unpacking [######################--------------] 63%
Unpacking [#######################-------------] 63%
Unpacking [#######################-------------] 64%
Unpacking [#######################-------------] 65%
Unpacking [#######################-------------] 66%
Unpacking [########################------------] 66%
Unpacking [########################------------] 67%
Unpacking [########################------------] 68%
Unpacking [########################------------] 69%
Unpacking [#########################-----------] 69%
Unpacking [#########################-----------] 70%
Unpacking [#########################-----------] 71%
Unpacking [#########################-----------] 72%
Unpacking [##########################----------] 72%
Unpacking [##########################----------] 73%
Unpacking [##########################----------] 74%
Unpacking [###########################---------] 75%
Unpacking [###########################---------] 76%
Unpacking [###########################---------] 77%
Unpacking [############################--------] 78%
Unpacking [############################--------] 79%
Unpacking [############################--------] 80%
Unpacking [#############################-------] 80%
Unpacking [#############################-------] 81%
Unpacking [#############################-------] 82%
Unpacking [#############################-------] 83%
Unpacking [##############################------] 83%
Unpacking [##############################------] 84%
Unpacking [##############################------] 85%
Unpacking [###############################-----] 86%
Unpacking [###############################-----] 87%
Unpacking [###############################-----] 88%
Unpacking [################################----] 89%
Unpacking [################################----] 90%
Unpacking [################################----] 91%
Unpacking [#################################---] 91%
Unpacking [#################################---] 92%
Unpacking [#################################---] 93%
Unpacking [#################################---] 94%
Unpacking [##################################--] 94%
Unpacking [##################################--] 95%
Unpacking [##################################--] 96%
Unpacking [###################################-] 97%
Unpacking [###################################-] 98%
Unpacking [###################################-] 99%
Unpacking [####################################] 100%
Library Manager: MySensors@2.3.2 has been installed!
Found 31 compatible libraries
Scanning dependencies...
Dependency Graph
|-- MySensors @ 2.3.2
| |-- Wire @ 1.0
| |-- SPI @ 1.0
| |-- EEPROM
Building in release mode
Compiling .pio/build/bluepill_f103c8/FrameworkArduinoVariant/board.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduinoVariant/wirish/boards.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduinoVariant/wirish/boards_setup.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduinoVariant/wirish/start.S.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduinoVariant/wirish/start_c.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduinoVariant/wirish/syscalls.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/HardwareSerial.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/HardwareTimer.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/IPAddress.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/Print.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/Stream.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/WString.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/avr/dtostrf.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/cxxabi-compat.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/ext_interrupts.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/hooks.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/itoa.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/adc.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/adc_f1.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/bkp_f1.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/dac.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/dma.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/dma_f1.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/exc.S.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/exti.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/exti_f1.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/flash.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/fsmc_f1.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/gpio.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/gpio_f1.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/i2c.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/i2c_f1.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/iwdg.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/nvic.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/pwr.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/rcc.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/rcc_f1.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/spi.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/spi_f1.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/stm32f1/performance/isrs.S.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/stm32f1/performance/vector_table.S.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/systick.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/timer.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/timer_f1.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/usart.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/usart_f1.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/usart_private.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/usb/stm32f1/usb.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/usb/stm32f1/usb_cdcacm.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/usb/stm32f1/usb_reg_map.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/usb/usb_lib/usb_core.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/usb/usb_lib/usb_init.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/usb/usb_lib/usb_mem.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/usb/usb_lib/usb_regs.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/libmaple/util.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/main.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/new.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/pwm.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/sdio.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/stm32f1/util_hooks.c.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/stm32f1/wiring_pulse_f1.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/stm32f1/wirish_debug.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/stm32f1/wirish_digital_f1.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/tone.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/usb_serial.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/wirish_analog.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/wirish_digital.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/wirish_math.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/wirish_shift.cpp.o
Compiling .pio/build/bluepill_f103c8/FrameworkArduino/wirish_time.cpp.o
Compiling .pio/build/bluepill_f103c8/src/main.cpp.o
Compiling .pio/build/bluepill_f103c8/lib9ba/Wire/SoftWire.cpp.o
Compiling .pio/build/bluepill_f103c8/lib9ba/Wire/Wire.cpp.o
Compiling .pio/build/bluepill_f103c8/lib9ba/Wire/utility/WireBase.cpp.o
Compiling .pio/build/bluepill_f103c8/liba01/SPI/SPI.cpp.o
Compiling .pio/build/bluepill_f103c8/lib781/EEPROM/EEPROM.cpp.o
Compiling .pio/build/bluepill_f103c8/lib781/EEPROM/flash_stm32.c.o
Compiling .pio/build/bluepill_f103c8/libad4/MySensors/MyASM.S.o
Archiving .pio/build/bluepill_f103c8/libad4/libMySensors.a
Indexing .pio/build/bluepill_f103c8/libad4/libMySensors.a
Archiving .pio/build/bluepill_f103c8/lib9ba/libWire.a
Indexing .pio/build/bluepill_f103c8/lib9ba/libWire.a
Archiving .pio/build/bluepill_f103c8/lib781/libEEPROM.a
Indexing .pio/build/bluepill_f103c8/lib781/libEEPROM.a
Archiving .pio/build/bluepill_f103c8/liba01/libSPI.a
Indexing .pio/build/bluepill_f103c8/liba01/libSPI.a
Linking .pio/build/bluepill_f103c8/firmware.elf
.pio/build/bluepill_f103c8/src/main.cpp.o: In function `premain()':
main.cpp:(.text.startup._Z7premainv+0x0): multiple definition of `premain()'
.pio/build/bluepill_f103c8/FrameworkArduino/main.cpp.o:main.cpp:(.text.startup._Z7premainv+0x0): first defined here
.pio/build/bluepill_f103c8/src/main.cpp.o: In function `main':
main.cpp:(.text.startup.main+0x0): multiple definition of `main'
.pio/build/bluepill_f103c8/FrameworkArduino/main.cpp.o:main.cpp:(.text.startup.main+0x0): first defined here
collect2: error: ld returned 1 exit status
*** [.pio/build/bluepill_f103c8/firmware.elf] Error 1
======================================================= [FAILED] Took 4.22 seconds =======================================================
* The terminal process "platformio 'run', '--environment', 'bluepill_f103c8'" terminated with exit code: 1.
* Terminal will be reused by tasks, press any key to close it.