Real time embedded FreeRTOS RSS feed 
Homepage FreeRTOS+ Products FreeRTOS Labs Support Forum Contact / Enquiries

Drivers and Middleware for STM32 ARM Cortex-M MCUs

STM32Cube structure


STM32Cube is free embedded software from ST that provides all the drivers and middleware components necessary to get up and running quickly on STM32 ARM Cortex-M microcontrollers. STM32Cube includes FreeRTOS.


STM32Cube Distributions

STM32Cube is distributed on a per device family basis. Each supported family has a single STM32Cube download that gathers together all the generic embedded software components required to develop an application for that family. For example, there is a single download that provides everything needed for STM32F4 parts, and a separate single download that provides everything needed for STM32F0 parts. Device support is being actively extended, and future STM32 families will be launched with STM32Cube support.

A common abstraction layer is used to ensure maximum portability between STM32 families.

STM32Cube Building Blocks

As would be expected, the STM32Cube embedded software is structured into a set of layers of increasing abstraction: Start up code and low level hardware interfaces are found in the bottom layer, and pre-configured examples are found in the top layer - with peripheral drivers, component drivers and middleware found in the layers in between. Each layer uses the interfaces provided by the layer below it - with the abstraction layer ensuring portability across STM32 ARM Cortex-M device families.

STM32Cube Examples, Applications and Demonstrations

STM32 RTOS projects
Examples, applications and demonstrations are pre-configured, buildable and executable projects that both facilitate learning by demonstrating how to use the drivers, and speed development by providing a known good starting point from which applications can be developed.

  • Examples

    Examples are provided at the peripheral driver level. They are simple projects that demonstrate how to use a driver.

  • Applications

    Applications are provided at the middleware level. They are larger than the projects provided at the driver level, and demonstrate how to use middleware components simultaneously with multiple different peripheral drivers.

  • Demonstrations

    Demonstrations are provided at the eval and Discovery board level. They are very comprehensive projects that make use of all the facilities available on their target hardware platform. That means they make use of multiple different middleware components and drivers in a single project. Demonstration projects run under the control of FreeRTOS.

    - Read more about demonstration projects -

Example, application and demonstration project files are provided for the IAR, Atollic (which uses the ARM GCC compiler) and Keil development tools, and target a range of off-the-shelf STM32 Evaluation, Discovery, STM32 Nucleo and dedicated boards.

STM32Cube Driver and Middleware Components

  • Drivers
    • ADC
    • CAN
    • CRC
    • CAN
    • CRC
    • Crypto
    • DAC
    • DCMI (digital camera)
    • DMA
    • Ethernet
    • Flash
    • GPIO
    • Hash
    • I2C
  • Middleware
    • lwIP
    • CHAN FATfs
    • Touch Library
    • STemWIN (binary)
  • RTOS
    • FreeRTOS

  • Drivers (continued)
    • I2S
    • IrDA
    • Watchdog
    • LCD-TFT
    • MC
    • NAND
    • NOR
    • PC Card
    • Power Control
    • Reset/Clock Control
    • Random Number Generator
    • RTC
    • Serial Audio
    • SD Card
    • SDRAM
    • SPI
    • Timers
    • UART
    • USART
    • USB Device (HID, MSC, CDC, Audio, DFU)
    • USB Host (HID, MSC, CDC, Audio, MTP)

[ Back to the top ]    [ About FreeRTOS ]    [ Privacy ]    [ FreeRTOS+ Sitemap ]    [ Main FreeRTOS Sitemap ]    [ ]

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.