cancel
Showing results for 
Search instead for 
Did you mean: 

What is causing this build failure with STM32CubeIDE on Linux with FW_L4 V1.17.0?

Rob.Riggs
Senior

My build fails with the error shown below. I get this with the default toolchain and with GCC 10.2.

I am using STM32CubeIDE 1.6.1 downloaded today, installed via RPM on Fedora 33, with L4 V1.17.0 firmware.

Any sort of fix or work-around would be helpful.

../Drivers/CMSIS/Include/cmsis_gcc.h: In function 'void __cmsis_start()':
../Drivers/CMSIS/Include/cmsis_gcc.h:146:31: error: 'const __cmsis_start()::__copy_table_t __copy_table_start__', declared using local type 'const __cmsis_start()::__copy_table_t', is used but never defined [-fpermissive]
  146 |   extern const __copy_table_t __copy_table_start__;
      |                               ^~~~~~~~~~~~~~~~~~~~
../Drivers/CMSIS/Include/cmsis_gcc.h:147:31: error: 'const __cmsis_start()::__copy_table_t __copy_table_end__', declared using local type 'const __cmsis_start()::__copy_table_t', is used but never defined [-fpermissive]
  147 |   extern const __copy_table_t __copy_table_end__;
      |                               ^~~~~~~~~~~~~~~~~~
../Drivers/CMSIS/Include/cmsis_gcc.h:148:31: error: 'const __cmsis_start()::__zero_table_t __zero_table_start__', declared using local type 'const __cmsis_start()::__zero_table_t', is used but never defined [-fpermissive]
  148 |   extern const __zero_table_t __zero_table_start__;
      |                               ^~~~~~~~~~~~~~~~~~~~
../Drivers/CMSIS/Include/cmsis_gcc.h:149:31: error: 'const __cmsis_start()::__zero_table_t __zero_table_end__', declared using local type 'const __cmsis_start()::__zero_table_t', is used but never defined [-fpermissive]
  149 |   extern const __zero_table_t __zero_table_end__;

In case it matters, I am targeting an STM32L4P5RE. I am porting code that builds using L4_V1.13.0 for STM32L433CC. I have not updated the firmware libraries is a couple years. I needed to upgrade in order to target the newer chip.

I created a brand new project targeting the STM32CubeIDE. I am getting this error from code that is using the ARM DSP library, using arm_math.h, which ends up pulling in this file. I have verified that the arm_math.h header is the one from the V1.17.0 firmware release.

2 REPLIES 2
GBert.2
Senior

Same problem here. Not sure how to properly solve it.

Take a look at this: https://github.com/ARM-software/CMSIS_5/issues/617

(FYI: I'm on Windows10)

This looks like new, pure C startup recommended in recent CMSIS.

But Cube generates assembly (.s) startup files, and they are provided with STM32 Cube libraries.

Maybe just use this way if the new CMSIS stuff makes problems.