STM32Cube Framework for
CMSIS-Pack and CMSIS-Driver


Contents

  1. CMSIS-Pack with STM32Cube
  2. Working with STM32Cube
  3. STM32Cube Adoption
  4. Contact Details

The STM32 Device Family Packs Version 2 (or higher) contain the STM32Cube HAL along with a Framework for the Keil Microcontroller Development Kit (MDK) Version 5.12 (or higher).

CMSIS-Pack with STM32Cube

The STM32 Device Family Pack (DFP) adds several Software Components and User Code Templates that give you easy access to the STM32Cube HAL. The DFP adds also CMSIS-Drivers for all relevant peripherals that are easy to configure using the classic RTE_Device.h configuration files. The implementation is already prepared for the STM32CubeMX configuration utility that gives better visibility to device constrains (to avoid resource conflicts with I/O pins and DMA).

Software Components

The following table lists the Software Components that are part of the STM32 DFP and essential for STM32Cube.

Component Description
::Board Support Board Support interfaces for I/O hardware of several evaluation boards.
::CMSIS Driver Unified device drivers compliant to the CMSIS-Driver specification. These drivers are implemented using the functions of the STM32Cube HAL.
::Device:Startup Startup and system file for the STM32 device series.
::Device:STM32Cube Framework Configuration setup for the STM32Cube. The component "Classic" adds the RTE_Device.h file that is used for configuration of the CMSIS-Drivers.
::Device:STM32Cube HAL STM32Cube Hardware Abstraction Layer (HAL) for the STM32 device as provided by ST Microelectronics.

#define Settings for STM32Cube

Some configuration settings for the STM32Cube software framework are provided as Compiler define settings, typically at the Compiler options dialog. The following table lists the basic #define settings. STM32Cube provides several other configuration settings. Refer to Description of STM32 HAL drivers -  HAL configuration for details.

#define Description
HSE_VALUE Frequency of the external oscillator (HSE) expressed in Hz.
DATA_IN_ExtSRAM Setup the external memory controller for STM322xG_EVAL on-board SRAM in system_stm32f2xx.c before variable initialization and the 'main' function. It configures the external SRAM as general purpose data memory (including heap and stack).

User Code Templates

The following table lists the User Code Templates that are part of the STM32 DFP and help you to setup projects quickly. These template files are derived from original STM32Cube files (except Flash templates).

Component Template Name Description
::Device:STM32Cube Framework:Classic MCU Specific HAL Initialization / De-Initialization Adds stm32f2xx_hal_msp.c for microcontroller specific peripheral initialization and de-initialization for STM32Cube HAL.
::Device:STM32Cube Framework:Classic Exception Handlers and Peripheral IRQ Adds stm32f2xx_it.c, stm32f2xx_it.h for overwriting default exception handlers.
::Device:STM32Cube Framework:Classic 'main' module for STM32Cube Adds main.c, main.h for the user application main routine.
::Device:Startup Flash Option Bytes Configuration file for the Flash option bytes that allows Read/Write protect and user configuration.
::Device:Startup Flash One-Time programmable Bytes Configuration file for the on-time programmable bytes in the Flash ROM.

Working with STM32Cube

The section explains the steps that are necessary to work with this DFP and the STM32Cube framework.

  1. Select the Software Components from the list described above.
  2. Set the #define Settings for the STM32Cube to match the hardware requirements.
  3. Use the User Code Templates to implement the functionality of the user application.
  4. Configure the CMSIS-Drivers using the RTE_Device.h header file.
  5. Configure the STM32Cube HAL which are not controlled by CMSIS-Drivers.

STM32Cube Adoption

The implementation in this Software Pack is based on STM32CubeF2 V1.1.0 available from ST Microelectronics. The complete STM32Cube firmware is included in the STM32 Device Family Pack with identical directory structure.

To provide the CMSIS-Pack and CMSIS-Drive specific functionality the following directories are added:

Directory or File Description
.\CMSIS\Driver Source code of the CMSIS-Driver implementations.
.\CMSIS\Flash CMSIS-Pack Flash algorithms for the various STM32 devices.
.\CMSIS\SVD CMSIS-SVD files for the various STM32 devices.
.\MDK\Boards Board support files including interfaces, example projects, and documentation.
.\MDK\Device File Templates for Flash Option Byte programming.
.\MDK\Templates User Code Templates (see details below).
.\Documents Documentation of the STM32 Cube HAL and User Manuals and Datasheets for the various STM32 devices to allow easy access in the IDE.
Keil.STM32F2xx_DFP.pdsc CMSIS-Pack package description file for the STM32 Device Family Pack.

Details

The directory .\MDK\Templates contains several user code template files that are taken from the STM32Cube framework. Some of these files are modified as described below.

Contact Details

If you experience any problems or have any questions about this product, contact one of our distributors or offices for assistance.

In the USA...

ARM, Inc.
4965 Preston Park Blvd, Suite 650
Plano, TX  75093
USA

800-348-8051 - Sales
972-312-1107 - Support
972-312-1159 - Fax

sales.us@keil.com - Sales E-Mail
support.us@keil.com - Support E-mail    

In Europe...

ARM Germany GmbH
Bretonischer Ring 16
D-85630 Grasbrunn
Germany

+49 89 456040-0 - Sales
+49 89 456040-24 - Support
+49 89 468162 - Fax

sales.intl@keil.com
- Sales E-Mail
support.intl@keil.com
- Support E-Mail    
  


Copyright © 2014 ARM Ltd and ARM Germany GmbH.
All rights reserved.
Visit our web site at www.keil.com.