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


SW4STM32 and std::thread

Russian Federation

Hello,

is it possible to use the c++11 class std::thread for programming STM32 controllers? Can SW4STM32 generate a multithreading code without OS?

Thanks

std::thread is more of a STL thing. That comes from libc++ and boost etc.

But you have two threading options here: CMSIS(osThreadCreate) and FreeRTOS(xTaskCreate)

“Can SW4STM32 generate a multithreading code without OS?” - this will be your CMSIS option


Russian Federation

Yes, I’d like to use right standart c++11 class. But when I try to compile the class std::thread it gives an error.

FreeRTOS looks like a kind of some patch: no classes, no methods, only c-functions. I have to write a some wrap for classes. And I’m not sure that this wrap will be enough good.

CMSIS RTOS is a same thing: you may use only c-style code.

Have I understood right: c++11 from SW4STM32 cannot generate code for std
thread, std
mutex etc? Or I can set some option and it will work properly... Is it possible?

You can not use C++ here.

C only.

You have equivalents for mutex and threads from the CMSIS and Freertos library.


Russian Federation

Really I can :-)

I have written a wrap to FreeRTOS for classes. It includes tasks, semaphores, mutexes, events. Only timers are not included in it yet.

It’s a pity that SW4STM32 doesn’t support c++11 fully :-(