EasyManua.ls Logo

ST STM32 Series - User Manual

ST STM32 Series
12 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
Loading...
July 2011 Doc ID 018608 Rev 1 1/12
AN3364
Application note
Migration and compatibility guidelines
for STM32 microcontroller applications
1 Introduction
For designers of STM32 microcontroller applications, it is important to be able to easily
replace one microcontroller type by another one in the same product series. Migrating an
application to a different microcontroller is often needed, when product requirements grow,
putting extra demands on memory size, or increasing the number of I/Os. On the other
hand, cost reduction objectives may force you to switch to smaller components and shrink
the PCB area. This application note is written to help you and analyze the steps you need to
migrate from an existing STM32-based design to any one of the other microcontroller types
in the fast-growing STM32 series.
To save your time, this application note groups together all the most important information
and lists the vital aspects that you need to address.
All the information included here can also be extremely worthwhile in your first STM32
design, not immediately concerned by a migration project. Studying the issues now will help
you tackle any future requirement by designing for compatibility from the beginning. To use
this application note, general STM32 knowledge is required, you can learn it from the
STM32 series reference manual, the STM32 datasheets, and the STM32 Flash program
memory programming manuals.
This application note presents an overview of the whole STM32 series and presents a first
level view of the different aspects that are important to consider when planning a new design
or migrating. The microcontroller blocks and peripherals are grouped and identified either as
fully compatible or compatible with enhancements or presented by types of series.
However the details of the migration guidelines across STM32 series are documented in
separate documents. Please refer to either of the following two documents:
AN3427 Migrating applications from STM32F1 series to STM32F2 series
AN3422 Migrating applications from STM32F1 series to STM32L1 series.
www.st.com
Question and Answer IconNeed help?

Do you have a question about the ST STM32 Series and is the answer not in the manual?

Summary

Introduction

How to migrate across STM32 series

STM32 series general overview

Introduction to the STM32 platform and its main microcontroller series (F-1, F-2, L-1).

STM32 product series feature comparison

Comparison table detailing features and specifications across STM32 F-1, L-1, and F-2 series.

STM32 product cross-compatibility

Analysis of peripheral compatibility and migration challenges between STM32 series.

Software migration

Information on STM32 development tools, firmware libraries, and optimizing the software development process.

Revision history

Overview

This document, AN3364, serves as an application note providing comprehensive migration and compatibility guidelines for STM32 microcontroller applications. It is specifically designed to assist engineers and developers in transitioning their designs between different STM32 microcontroller types within the rapidly expanding STM32 series. The primary function of this document is to streamline the migration process, ensuring that applications can adapt to evolving product requirements, whether they involve increased memory, more I/Os, or cost reduction initiatives.

The document begins by highlighting the importance of easy interchangeability between microcontroller types within the same product series. It acknowledges that migration is a common necessity driven by factors such as growing product requirements, which may demand larger memory footprints or a higher number of input/output pins. Conversely, cost reduction objectives might necessitate a shift to smaller components or a reduction in PCB area. This application note aims to provide a structured approach to analyzing and executing these migration steps, making the transition from an existing STM32-based design to other STM32 microcontroller types as efficient as possible.

A key usage feature of this document is its ability to consolidate crucial information, presenting a clear list of vital aspects that need to be addressed during a migration project. This saves developers significant time by providing a centralized resource for compatibility analysis. Furthermore, the information contained within this note is not only beneficial for active migration projects but also serves as a valuable resource for initial STM32 designs. By studying the potential migration issues upfront, developers can design for compatibility from the very beginning, proactively tackling future requirements and minimizing rework.

To effectively utilize this application note, a foundational understanding of STM32 microcontrollers is required. This prerequisite knowledge can be acquired from various official STMicroelectronics resources, including the STM32 series reference manual, individual STM32 datasheets, and the STM32 Flash program memory programming manuals. These resources provide the essential background information necessary to fully grasp the concepts and guidelines presented in this application note.

The document provides an overarching view of the entire STM32 series, offering a high-level perspective on the critical aspects to consider when planning a new design or undertaking a migration. It categorizes microcontroller blocks and peripherals, identifying them as either "fully compatible," "compatible with enhancements," or grouped by specific series types. This categorization is a core usage feature, allowing developers to quickly assess the level of effort required for different peripheral migrations.

For more detailed migration guidelines across specific STM32 series, the document explicitly refers to separate, dedicated application notes. These include AN3427 for migrating applications from STM32F1 series to STM32F2 series, and AN3422 for migrating applications from STM32F1 series to STM32L1 series. This cross-referencing ensures that users can access the most granular and specific information for their particular migration path, enhancing the document's utility as a navigational tool within the broader STM32 ecosystem.

The STM32 platform itself is described as a robust foundation with a broad and expanding portfolio, continuously introducing new products to address diverse applications. The complete STM32 product series is divided into three main categories: STM32F-1, STM32F-2, and STM32L-1, each tailored for specific market segments.

The STM32 F-1 series is characterized as a general-purpose series, catering to a wide array of applications, from cost-sensitive designs to those requiring intensive computing and large memory footprints. This series is presented as a complete family where members are fully pin-to-pin, software, and feature compatible. Within the F-1 series, various density levels are defined based on Flash memory size:

  • Low-density devices (STM32F101xx and STM32F103xx) with Flash memory ranging from 16 to 32 Kbytes.
  • Medium-density devices (STM32F101xx and STM32F103xx) with Flash memory ranging from 32 to 128 Kbytes.
  • High-density devices (STM32F101xx and STM32F103xx) with Flash memory ranging from 256 to 512 Kbytes.
  • XL-density devices (STM32F101xx and STM32F103xx) with Flash memory ranging from 768 Kbytes to 1024 Kbytes.
  • Connectivity-line devices (STM32F105xx and STM32F107xx) with Flash memory ranging from 64 to 256 Kbytes.
  • Medium-density value line devices (STM32F100xx) with Flash memory ranging from 64 to 128 Kbytes.
  • High-density value line devices (STM32F100xx) with Flash memory ranging from 128 to 512 Kbytes.

The STM32 F-2 series is positioned for applications demanding the highest performance in computing-intensive tasks and advanced connectivity, while maintaining compatibility with the F1 series. This ensures a relatively smooth upgrade path for performance-critical applications.

The STM32 L-1 series is specifically designed for ultra-low-power applications, focusing on achieving the absolute lowest power consumption. Like the F-2 series, the L-1 series also maintains compatibility with the F1 series, making it suitable for energy-conscious designs that might originate from an F1 base.

The document clarifies the terminology used throughout: "F1," "STM32 F1," and "STM32F10x" refer to the STM32 F-1 series; "F2," "STM32 F2," and "STM32F2xx" refer to the STM32 F-2 series; and "L1," "STM32 L1," and "STM32L1xx" refer to the STM32 L-1 series. This consistent terminology aids in clear communication and understanding.

A significant maintenance feature of this document is its detailed analysis of STM32 product cross-compatibility, categorizing peripherals into three groups based on their migration impact:

  1. Fully Compatible Peripherals: These are common to all products, possessing identical structures, registers, and control bits. For these, no firmware changes are needed after migration, as their functionality and behavior remain consistent. This simplifies the migration process for these components.
  2. Compatible with Minor Differences: These peripherals are shared across products but have slight variations, typically to support new features. Migration for these is generally straightforward, requiring minimal new development effort. The document provides specific comments on these differences, such as "Limitation fix" or "Enhancement," guiding developers on what to expect.
  3. Requiring New Development: This category includes peripherals that have undergone substantial changes, such as new architectures or significant new features. Migration involving these peripherals will necessitate new development at the application level. The document clearly flags these instances, allowing developers to allocate appropriate resources and planning.

The compatibility analysis tables (Table 2 for F1 vs. F2, and Table 3 for F1 vs. L1) are central to the document's utility. These tables provide a peripheral-by-peripheral breakdown, indicating:

  • Whether the peripheral exists in the F1 series and the target series (F2 or L1).
  • Comments detailing specific differences, enhancements, or limitations.
  • Pinout compatibility (e.g., "Identical" or "NA").
  • Software (SW) compatibility (e.g., "Full compatibility," "Partial compatibility," or "Not compatible").

A color key is provided to visually distinguish between different levels of compatibility:

  • Green: "New feature or new architecture (Yes++)" – indicating significant changes.
  • Purple: "Same feature, but specification change or enhancement (Yes+)" – indicating minor differences.
  • Gray: "Feature not available (NA)" – indicating the absence of the feature in one of the series.

This detailed breakdown is a crucial maintenance feature, enabling developers to quickly identify potential areas of concern and estimate the effort required for software adaptation. For example, peripherals like FSMC, WWDG, IWDG, DBGMCU, CRC, EXTI, and CAN are often listed as "Full compatibility" with "Identical" pinouts, simplifying their migration. In contrast, peripherals like RTC, ADC, FLASH, DMA, and GPIO are frequently marked as "New peripheral" or "Not compatible" in terms of software, signaling a need for significant code changes.

The document also addresses software migration more broadly. It emphasizes that each STM32 series is supported by a comprehensive range of high-end and low-cost evaluation, software, debugging, and programming tools. This includes third-party solutions with integrated development environments (IDEs) and in-circuit debugger/programmers featuring JTAG application interfaces. For newcomers, starter kits are available to help evaluate device features and kickstart application development.

A key maintenance and usage feature is the availability of ST firmware libraries and an extensive set of application notes. These resources provide a complete software interface designed to reduce time-to-market and ensure that user code remains independent of specific hardware details. The highly efficient library of software drivers, coupled with broad support from major tool providers, offers an optimized development process and a fast route to achieving the best fit for an application. This ecosystem of tools and libraries significantly eases the burden of software migration by providing standardized interfaces and well-documented functionalities.

In summary, this application note functions as a critical guide for STM32 developers, offering a structured approach to microcontroller migration. Its usage features include consolidating vital information, enabling proactive design for compatibility, and providing detailed peripheral-level compatibility analysis. Maintenance features are evident in its clear categorization of peripherals, visual compatibility indicators, and explicit references to more detailed documentation, all supported by a robust software ecosystem designed to simplify development and migration.

ST STM32 Series Specifications

General IconGeneral
CoreARM Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M33
Clock speedUp to 480 MHz
Temperature range-40°C to +85°C or +105°C or +125°C
Package optionsLQFP, WLCSP, BGA, TSSOP, UFQFPN, VFQFPN, SO
PeripheralsTimers, SPI, I2C, CAN, USB, Ethernet
GPIO PinsUp to 144
ADC ResolutionUp to 16-bit

Related product manuals