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


sprinf conversion of float is not working for STM32F7

Hi Tarek,

I treid adding “-u _printf_float” to enable float printf. as you suggest but after build i get the following errors?


Building target: EM34.elf
Invoking: MCU GCC Linker
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -specs=nosys.specs -specs=nano.specs -Xlinker -u _printf_float -T”../STM32F103CBTx_FLASH.ld” -Wl,-Map=output.map -Wl,--gc-sections -lm -o “EM34.elf” @”objects.list”
arm-none-eabi-gcc.exe: error: _printf_float: No such file or directory
make: *** EM34.elf Error 1

I am using latest updates for STM32 CubeMX, and STM32 Workbench..... I recall this solution used to work on previuos version but not now?
Any suggestions?

Hi,

I think you put the “-u _printf_float” on the wrong place, it should be in the linker flags and not the -Xlinker area.

Regards
Kevin.

Hi Tang,

I am sure I put the options under the Linker Flags, as I said this option was working under previous versions (unsure which version it was) but I recently clicked “update” on both the STM32 CubeMX and the System32 Workbench programs and now for some unlknown reason The Linker throws the following errors:

Building target: EM34.elf
Invoking: MCU GCC Linker
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -specs=nosys.specs -specs=nano.specs -Xlinker -u _sprintf_float -Xlinker -u _printf_float -T”../STM32F103CBTx_FLASH.ld” -Wl,-Map=output.map -Wl,--gc-sections -lm -o “EM34.elf” @”objects.list”
arm-none-eabi-gcc.exe: error: _sprintf_float: No such file or directory
arm-none-eabi-gcc.exe: error: _printf_float: No such file or directory
make: *** EM34.elf Error 1

(see attached image)