I'll need a tutorial when I dive into this.
I am thinking of working with their H755 controller which has a reputation for being extremely complex. I have an H743 Nucleo board also that this might be interesting to try using with.
The big negative is code bloat. Also ST seems to be making the software setup more complex. For example CubeMX and CubeIDE are now separate packages.
This latter could be a good thing. I see discussions advocating using VS Code as an alternate to the CubeIDE. I would like to just use Vim and Makefiles, which is also a path others have gone down already.
Here are comments from an enthusiastic early adopter:
I also hear "Keil" mentioned (but not in a good way in this thread). Also Eclipse gets mentioned, which I have always hated (It is a slow pig of an IDE written in Java).First launch STM32CubeMX, configure pins, peripherals, and such. Then under project settings select Makefile or Cmake in lieu of STM32CubeIDE.
Use gcc-arm-none-eabi to compile the project (or cmake).
You can use OpenOCD along with arm-none-eabi-gdb for debuggins. Consider a Vim debugging plugin to flash and debug your target.
Consider setting up Vim LSP (language server protocol) to help find header files, and do code completion. This may work best with nvim.
There is a lot to this. You need to generate a compile_commands.json file. A tool like bear (bear -- make) or compiledb can do this. Then you need the LSP, perhaps coc.nvim nvim-lspconfig, or ccls/clangd.These are all strange waters to dive into.