STM32F405/src/startup_stm32f405xx.o] Error 1

When trying to debug with the latest firmware I get STM32F405/src/startup_stm32f405xx.o] Error 1:

Processing OpenIMU300ZI (platform: aceinna_imu; board: OpenIMU300)

Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/aceinna_imu/OpenIMU300.html
PLATFORM: Aceinna IMU 1.2.5 > Aceinna OpenIMU 300
HARDWARE: STM32F405RG 120MHz, 128KB RAM, 1MB Flash
DEBUG: Current (stlink) External (blackmagic, jlink, stlink)
PACKAGES:

  • toolchain-gccarmnoneeabi 1.70201.0 (7.2.1)
    LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ soft
    Found 3 compatible libraries
    Scanning dependencies...
    Dependency Graph
    |-- <OpenIMU300-base-library> 1.0.9
    |-- <Core> 1.0.4
    | |-- <OpenIMU300-base-library> 1.0.9
    |-- <CLI>
    | |-- <Core> 1.0.4
    | | |-- <OpenIMU300-base-library> 1.0.9
    | |-- <OpenIMU300-base-library> 1.0.9
    Building in debug mode
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/FreeRTOS/src/cmsis_os.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/FreeRTOS/src/croutine.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/FreeRTOS/src/event_groups.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/FreeRTOS/src/heap_1.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/FreeRTOS/src/list.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/FreeRTOS/src/port1.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/FreeRTOS/src/queue.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/FreeRTOS/src/tasks.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/FreeRTOS/src/timers.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/FreeRTOS_M4/src/port.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Board/src/bsp.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Board/src/configureGPIO.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Board/src/spi_dummy.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Board/src/stm32f4xx_it.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Board/src/uart.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Board/src/watchdog.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/CAN/src/can.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/CAN/src/sae_j1939.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/CAN/src/sae_j1939_slave.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/CAN/src/taskCANcommunicationJ1939.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Core/src/BIT.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Core/src/DataAcquisitionSupport.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Core/src/comm_buffers.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Core/src/config_fields.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Core/src/crc.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Core/src/crc16.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Core/src/debug.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Core/src/handle_packet.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Core/src/platform.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Core/src/send_packet.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Core/src/sensors_data.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Core/src/serial_port.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Core/src/ucb_packet.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Filter/src/filter.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/Platform/Filter/src/lowpass_filter.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/misc.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/startup_stm32f405xx.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_adc.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_can.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_crc.o
    arm-none-eabi-as: unrecognised option '-Og'
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_cryp.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_cryp_aes.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_cryp_des.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_cryp_tdes.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_dac.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_dbgmcu.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_dcmi.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_dma.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_exti.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_flash.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_fsmc.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_gpio.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_hash.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_hash_md5.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_hash_sha1.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_i2c.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_iwdg.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_pwr.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_rcc.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_rng.o
    Compiling .pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/stm32f4xx_rtc.o
    *** [.pio/build/OpenIMU300ZI/lib451/OpenIMU300-base-library_ID6538/STM32F405/src/startup_stm32f405xx.o] Error 1

I am using Ubuntu 16.04, all Visuaol Code and Platform IO are up to date and I am trying the debug the sample INS application.

I can upload the application to the IMU and it runs fine but I can't debug.

; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; http://docs.platformio.org/page/projectconf.html
[platformio]
description =
A Kalman filter based algorithm that uses rate-sensors to propagate attitude
(roll, pitch, and heading angles) forward in time and accelerometers and
magnetometers as references, to correct for bias in the rate-sensor signal.
Additionally, the algorithm uses accelerometer data to propagate velocity and
position and velocity (in the North/East/Down-Frame) and GPS data to correct
for errors and estimate bias in the accelerometer signals.

Platformio.ini:

[env:OpenIMU300ZI]
platform = aceinna_imu
lib_archive = false
board = OpenIMU300
;lib_deps= ../../OpenIMU300-lib
lib_deps = OpenIMU300-base-library@1.0.9
build_flags =
; -D CLI
-D GPS
-D SPI_BUS_COMM
-D __FPU_PRESENT
-D DISPLAY_DIAGNOSTIC_MSG
-D ARM_MATH_CM4
-I include
-I include/API
-I src/user
-I src
; -L ldscripts
-Og
; -Wno-comment
; -Wl,-Map,imu380.map
; -Wl,-Tstm32f40x.ld
-mthumb -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16

monitor_speed = 115200
debug_tool = stlink
;upload_protocol = jlink
;debug_tool = jlink

;debug_tool = custom
;debug_port = :4242
;debug_server = $PLATFORMIO_HOME_DIR/packages/tool-stlink/bin/st-util

Please use next temporary fix:

Please use the upper .S for Assembly files.

The library will be updated for next release

@Andrey Bondarev

Many thanks that was driving me crazy!

Log in to reply