Loading...
 

Zephyr project on STM32

   Zephyr Workbench, a VSCode extension to manage Zephyr on STM32.
It enables users to easily create, develop, and debug Zephyr applications.
Main features:
  • Install host dependencies.
  • Import toolchain and SDK.
  • Create, configure, build and manage apps.
  • Debug STM32.
You can directly download it from the VSCode marketplace
For more details, visit the Zephyr Workbench

System Workbench for STM32


Error: sorry, unimplemented: Thumb-1 hard-float VFP ABI - SOLVED

Hi. I’m new to STM32 in general, so perhaps there is an obvious solution to the problem, but I couldn’t find it.

I am using the STM32F302RET6 chip, and I have generated code from CubeMX. I have then imported the code to System Workbench, and now while compiling it I’m getting the error:

In file included from ../../../Drivers/CMSIS/Include/core_cm4.h:169:0,
from ../../../Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xe.h:164,
from ../../../Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h:136,
from ../../../Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h:48,
from ../../../Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_rcc.h:47,
from ../../../Inc/stm32f3xx_hal_conf.h:178,
from ../../../Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal.h:48,
from D:/Kazek/Projekty/Telefony_RTL20/soft_v3_stm/RTL20/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:54:
../../../Drivers/CMSIS/Include/core_cmInstr.h: In function ‘__REV’:
../../../Drivers/CMSIS/Include/core_cmInstr.h:405:1: sorry, unimplemented: Thumb-1 hard-float VFP ABI

The compiler options are:
COLLECT_GCC_OPTIONS=’-mthumb’ ‘-mfloat-abi=hard’ ‘-mfpu=fpv4-sp-d16’ ‘-D’ ‘USE_HAL_DRIVER’ ‘-D’ ‘STM32F302xE’ ‘-I’ ‘../../../Inc’ ‘-I’ ‘../../../Drivers/STM32F3xx_HAL_Driver/Inc’ ‘-I’ ‘../../../Drivers/CMSIS/Include’ ‘-I’ ‘../../../Drivers/CMSIS/Device/ST/STM32F3xx/Include’ ‘-O1’ ‘-g3’ ‘-Wall’ ‘-fmessage-length=0’ ‘-v’ ‘-ffunction-sections’ ‘-c’ ‘-MMD’ ‘-MP’ ‘-MF’ ‘Drivers/STM32F3xx_HAL_Driver/stm32f3xx_hal.d’ ‘-MT’ ‘Drivers/STM32F3xx_HAL_Driver/stm32f3xx_hal.o’ ‘-o’ ‘Drivers/STM32F3xx_HAL_Driver/stm32f3xx_hal.o’

I have checked the MCU settings, and they are:
Floating point hardware: fpv4-sp-d16
Floating-point ABI: hard
Instruction Set: Thumb II

I have read elsewhere, that Thumb-1 does not support hardware floating point calculations. But There is Thumb II selected in the options. Why does the error say about Thumb-1?

EDIT - SOLVED:
The problem was that the target MCU was not set properly by Cube MX (In Workbench: Project Properties -> C/C++ Build -> Settings -> Target tab). It seems that the MCU is forgotten (not saved) if the target board is not set. I had to define a custom board, and then set the MCU, and it now compiles properly.

I had the same error message. It was solved by updating System Workbench. The stock download does seem to need updating.

I have experienced difficulties getting the target device selection to “stick”, that is, be set and saved properly once set.

One normally sets the target device by navigating through this menu sequence:
Project -> Properties -> C/C++ Build (left list) -> Settings (left list) -> Target (tab)

There are several drop-down lists on this tab that let you select device Series, MCU, and Board.

I have found that this setting is often distorted, reverted or otherwise not set properly if I change it. This is especially true if I’m using Eclipse’s “Build Configurations” capability so I can have several different build configurations for a single project (e.g. different #defines and compiler settings for a “Debug” configuration vs. a “Release” configuration).

These problem(s) existed in the 1.10.x version of the AC6 tools, I just got the 1.11.x update today but have not checked to see if this issue has been fixed.

hi MSchultz,

As the warning said, this manip is not recommanded.
you must create a new project with the needed board/mcu ... and copy paste the sources and so on ...

Christelle


I just had the same problem here with the STM32F769-Discovery. The correct board was selected by the example project.
I select another MUC and after reselect the board. That solved the problem.

I had the same problem and this was the solution that worked for me

Just updated the firmware packet for my MCU and got the error.

“I select another MCU and after reselect the board. That solved the problem. ”
This simple solution worked for me. Thank you!

Seems to be a problem/bug that exists for quite a while...


 

Newest Forum Posts

  1. Монтаж камина с грилем в Москве - установка и барбекю by KpddomErorb, 2025-05-10 18:28
  2. SPI on Nucleo_STMH533RE by royjamil, 2025-05-04 20:13
  3. SPI on Nucleo_STMH533RE by higginsa1, 2025-03-25 07:37
  4. SPI on Nucleo_STMH533RE by royjamil, 2025-03-23 11:31
  5. SPI on Nucleo_STMH533RE by higginsa1, 2025-03-23 09:33
  6. Configuring DMA for ADC in SW? by sam.hodgson, 2025-03-04 12:58
  7. Build a project in "release" mode by info@creosrl.it, 2025-02-20 18:12
  8. Build a project in "release" mode by info@creosrl.it, 2025-02-20 17:05
  9. Build a project in "release" mode by tang, 2025-02-20 10:36
  10. Build a project in "release" mode by info@creosrl.it, 2025-02-19 17:35

Last-Modified Blogs