ST’s STM32Cube software platform comprising tools, middleware, and Hardware Abstraction Layer allows you to focus on product-specific features; the first release of series-specific middleware, STM32CubeF4, supports the high-performance STM32 F4 series; support for remaining STM32 series will be added throughout 2014. A graphical configuration tool creates the initial customer source code, based on the combination of the microcontroller feature set and the STM32Cube drivers.
The development platform comprises the STM32CubeMX graphical configurator and initialisation C-code generator that provides step-by-step guidance for users and a set of rich embedded-software components that save integrating software from multiple sources. The software includes a new Hardware Abstraction Layer (HAL) that simplifies porting from one STM32 device to another. By gathering all the generic software components needed for developing applications on STM32 microcontrollers into one single package, this platform eliminates the complex task of assessing dependencies between individual software components. STM32Cube provides hundreds of usage examples and an update mechanism for fast and efficient access to the latest versions of the software.
“STM32Cube allows engineers to take maximum advantage of our large STM32 portfolio, which now extends to over 360 microcontrollers, offering extensive hardware and software compatibility spanning a wide range of performance, power, and features,” said Michel Buffa, General Manager, Microcontroller Division, STMicroelectronics. “Today we are announcing the graphical configuration tool, with the middleware and HAL supporting high-performance STM32 F4 devices. Further releases will roll out during 2014, extending support to all STM32 devices.”
The STM32CubeMX graphical configuration tool simplifies and automates configuration and generation of STM32 initialisation C code ready to be used with several development environments. STM32CubeMX is also available as an Eclipse plug-in, allowing use within Eclipse-based development environments. The tool provides a filter for selecting the desired STM32 device and graphical wizards to simplify configuration: the pin-out wizard assists pin assignment to avoid conflicts, embedding a powerful constraints solver; the clock-tree wizard assigns clocks and performs dynamic validation; the peripherals-and-middleware wizard aids configuration to avoid unusable settings; and the power-consumption wizard checks that the application meets the available power budget.
The new HAL, part of the STM32CubeF4 embedded software, offers a high abstraction level, simplifying the porting of an application from one STM32 microcontroller to another. Features include support for re-entrant APIs allowing use with an RTOS, extra function calls allowing developers to target specific peripheral features and thereby making use of the functionality of STM32 microcontrollers, and support for polling, interrupt, and DMA (Direct Memory Access) programming models. The HAL uses the industry-standard CodeSonar static-analysis tool, which helps ensure safe and predictable behaviour of customer applications, and is distributed under a non-restrictive BSD (Berkeley Software Distribution) open-source license.
The STM32CubeF4 middleware, part of STM32CubeF4 embedded software, also announced today for STM32 F4 series microcontrollers includes a TCP/IP stack, a full USB Host and Device stack supporting multiple classes, the STemWin professional graphics stack developed by ST with SEGGER, the FatFS open-source file system, and the FreeRTOS open-source real-time operating system, coming with optional CMSIS-RTOS programming interface. The middleware components have simple license terms, either as open-source software or software delivered and supported by ST.
The STM32CubeMX tool and STM32CubeF4 embedded software are available immediately, free of charge, directly from https://www.st.com/stm32cube A large number of application-level demonstrations is available, illustrating how to use components of the HAL and middleware, targeting IAR, Keil and GCC compilers. These can be run directly on the wide variety of STM32 F4 prototyping boards available from ST, which include ST evaluation boards, Discovery boards, and the recently-announced extendable Nucleo boards, which are ARM mbed-enabled, feature Arduino connectivity, and are currently rolling out to support the entire STM32 family.