January 11, 2024

STM32CubeMX - intoduction

The following is sort of a "glossary" of software packages that are available to work with STM32 processors.

STM32CubeMX

This is a GUI you can use to start an STM32 project. It will generate template files, and perhaps do even more than what I have yet figured out. It will set up code to initialize clocks and peripherals, then you take it from there. It is available for Linux, Windows, and Mac.

STM32CubeIDE

This is a full blown IDE (based on eclipse) for C and C++ development. I am not doing anything with this, nor do I intend to. I dislike IDE environments and have always found eclipse (which is java based) to be painfully slow.

Mbed

This is sometimes called "ARM Mbed". At one point it was a cloud based thing for IoT development. It was terrible and may never live down the bad reputation it earned. It is not just for STM32 processors.

CMSIS

This stands for "Common Microcontroller Software Interface Standard". It is a standard prmoted by ARM. The idea was to standardize a microcontroller abstraction layer that made software less dependent on exact software. It does not seem that this has been wildly successful. And you might wonder if manufacturers would see it to their advantage to make it easy to migrate code away from their hardware.

Other

Another thing that comes up frequently is RTOS, which is sometimes called "middleware". It is an option that can be included or ignored in any of the above methodologies.

No doubt there are other signficant schemes that I am entirely unaware of.


Feedback? Questions? Drop me a line!

Tom's Computer Info / tom@mmto.org