Embedded developers today work during exciting times! There are a plethora of tools at our fingertips just waiting to make our jobs easier and STM32Cube does exactly that! STM32Cube is a configuration tool suite provided by ST Microelectronics for its ARM series of Cortex-M processors. The tool is designed to help developers decrease development effort, time and cost!
The tool provides some fundamental assistance such as the ability to configure start-up code, peripherals and even detect pin and configuration contention. The suite uses STM32CubeMX which is a graphical configuration interface that really simplifies the entire setup process. There are even advanced options such as the ability to configure an RTOS, USB drivers and TCP/IP stack.
One of my primary design goals is to ensure that developed code is portable with as little effort as possible. ST Microelectronics has designed a hardware abstraction layer (HAL) that ensures compatibility across their STM32 portfolio of processors. A developer can hardly ask for more!
The feature that is one of my favorite is the ability to simulate the energy that the microcontroller will consume. A quick screen shot of this feature can be seen below:
The software allows the developer to enter in the parameters of their software architecture and design. A sequence of steps is developed in which features such as operating mode, sleep mode, peripheral configuration, clock settings and more can all be set. The software then calculates what the energy consumption of the microcontroller would be. Once an entire sequence is entered, a battery size and type can be selected and the result is an estimate of how long the battery would last! If it is found to be lacking making adjustments to the sequence will allow a developer to tweak the operating parameters to meet the energy demands of their application.
Even if you typically don’t use STM parts, it is worth downloading STM32Cube to explore these new features and get familiar with its cutting edge capabilities. Simulating how much energy a MCU will use is a critical step in the development of a battery budget.