Navigation

    • Register
    • Login
    • Search
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. Tom 0
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Tom 0

    @Tom 0

    0
    Reputation
    1
    Posts
    1
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    Tom 0 Follow

    Best posts made by Tom 0

    This user hasn't posted anything yet.

    Latest posts made by Tom 0

    • multiple definition of `premain()' - PlatformIO

      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. 
      
      posted in Troubleshooting
      Tom 0
      Tom 0