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


Keil or System Workbench?

Hi
I have been using the free Keil5 with the STM32L0 controller. I now plan to use more powerful processors which means either purchasing the license of about $3k for Keil, or look for an alternative. I was thinking of using the free System Workbench as its free. Apart from the obvious of saving the $3k’sh on the license, does the Keil5 have advantages of the workbench? A couple of things I was wondering:

1. Does the Keil5 pack the code more than system workbench?
2. What about optimisation, which builds better?
3. Does workbench cover all STM32 processors?
4. I would assume that CubeMX works without issues in workbench?
5. How is the debugging in workbench?

If there are things I have missed, please let me know

Many Thanks In Advance

Scott

I did some evaluation myself, and they both solutions have big warts.

Things that I don’t like about Keil:

  • Obviously, it costs a lot of money
  • Its GUI is really rather old and cluttered
  • Its c++ compiler is only up to c++03, which is really rather ancient
  • Its debugger is supposed to be super-awesome, but in my time so far, I haven’t really missed its extra features that I know of


Things that I don’t like about SW4STM32:

  • Eclipse’s GUI is complicated and cluttered, though in a different way than Keil
  • The ST-LINK debugger integration is pretty fragile, and lots of things can go wrong with it. Not sure if the story is better when using a different debug adapter.
  • STM32CubeMX and SW4STM32 emit different “dialects” of XML, so if you’re committing everything to a shared source repository and working with others, in multiple rounds of configuring with STM32CubeMX, you get a lot of commit-difference noise.
  • The higher-level STM32Cube middleware is pretty mediocre in quality and hard-wired. The low-level interfaces can now be used in recent STM32Cube versions, but then you’re doing a lot of heavy lifting yourself.
  • The “OpenSTM32 community” isn’t really that open at all: No open-sourcing of components and registration required for all downloads & documentation.



In the end, using modern C++ was a high enough priority, and we intended to build a lot of our own middleware, that we’re sticking with SW4STM32 for now. I’m still interested in trying out the GnuARMEclipse distribution that has some better plugin support, and isn’t specific to the STM32, but the installation process is a huge pain, with a billion different components to download and install and configure.

If you have the money, don’t care about modern C++, and you want to be able to use quality middleware, I’d go with a mid-grade Keil with middleware included. I intend to reevaluate Keil myself, when they support the newer clang-based ARM compiler v6 with modern C++ support.

Thanks for your reply. I am planning to use C only, and as I dont want all the hassle of issues SW4STM32 has. I think it looks like using Keil for C is the best way to go. Do you recon the C side would be fine?

Many Thanks
Scott


 

Newest Forum Posts

  1. SPI on Nucleo_STMH533RE by royjamil, 2025-05-04 20:13
  2. SPI on Nucleo_STMH533RE by higginsa1, 2025-03-25 07:37
  3. SPI on Nucleo_STMH533RE by royjamil, 2025-03-23 11:31
  4. SPI on Nucleo_STMH533RE by higginsa1, 2025-03-23 09:33
  5. Configuring DMA for ADC in SW? by sam.hodgson, 2025-03-04 12:58
  6. Build a project in "release" mode by info@creosrl.it, 2025-02-20 18:12
  7. Build a project in "release" mode by info@creosrl.it, 2025-02-20 17:05
  8. Build a project in "release" mode by tang, 2025-02-20 10:36
  9. Build a project in "release" mode by info@creosrl.it, 2025-02-19 17:35
  10. Fail to debug in Win 11 C/C++ by mortenlund, 2024-12-26 20:27

Last-Modified Blogs