STM32

STM32 Family [1]
Produced From 2007 to Current
Designed by STMicroelectronics
Max. CPU clock rate 24  to 400 MHz
Min. feature size 130 to 40 nm
Microarchitecture ARM Cortex-M7 [2]
ARM Cortex-M4F [3]
ARM Cortex-M3 [4]
ARM Cortex-M0+ [5]
ARM Cortex-M0 [6]
STM32F103VGT6 die
STM32F100C4T6B die

STM32 is a family of 32-bit microcontroller integrated circuits by STMicroelectronics. The STM32 chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M7, Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.[1]

Overview

Main articles: ARM architecture and ARM Cortex-M

The STM32 is a family of microcontroller ICs based on the 32-bit RISC ARM Cortex-M7, Cortex-M4F, Cortex-M3, Cortex-M0+, and Cortex-M0 cores.[1] STMicroelectronics licenses the ARM Processor IP from ARM Holdings. The ARM core designs have numerous configurable options, and ST chooses the individual configuration to use for each design. ST attaches their own peripherals to the core before converting the design into a silicon die. The following tables summarize the STM32 microcontroller families.

STM32 Series ARM CPU Core
F7,H7
Cortex-M7F
F4, F3, L4, J
Cortex-M4F
F2, F1, L1, W, J
Cortex-M3
L0, J
Cortex-M0+
F0, J
Cortex-M0

History

Leaflabs Maple. Arduino-style board with STM32F103RBT6 microcontroller.

The STM32 is the third ARM family by STMicroelectronics. It follows their earlier STR9 family based on the ARM9E core,[7] and STR7 family based on the ARM7TDMI core.[8] The following is the history of how the STM32 family has evolved.

Series

The STM32 family consists of ten series of microcontrollers: H7, F7, F4, F3, F2, F1, F0, L4, L1, L0,.[1] Each STM32 microcontroller series is based upon either a Cortex-M7, Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0 ARM processor core. The Cortex-M4F is conceptually a Cortex-M3[4] plus DSP and single-precision floating point instructions.[3]

STM32 H7

STM32 H7 Series [38]
Produced 2017 Q2
Max. CPU clock rate 400  to 400 MHz
Min. feature size 1 MB to 2 MB
Instruction set Thumb, Thumb-2,
Sat Math, DSP, FPU
Microarchitecture ARM Cortex-M7F

STM32 F7

STM32 F7 Series [39]
Produced From 2014 to Current
Max. CPU clock rate 216  to 216 MHz
Min. feature size 512 KB to 1 MB
Instruction set Thumb, Thumb-2,
Sat Math, DSP, FPU
Microarchitecture ARM Cortex-M7F

STM32 F4

STM32 F4 Series [40]
Produced From 2011 to Current
Max. CPU clock rate 84  to 180 MHz
Min. feature size 90 nm
Instruction set Thumb, Thumb-2,
Sat Math, DSP, FPU
Microarchitecture ARM Cortex-M4F [3]

The STM32 F4-series is the first group of STM32 microcontrollers based on the ARM Cortex-M4F core. The F4-series is also the first STM32 series to have DSP and floating point instructions. The F4 is pin-to-pin compatible with the STM32 F2-series and adds higher clock speed, 64K CCM static RAM, full duplex I²S, improved real-time clock, and faster ADCs. The summary for this series is:[18][25][26][40][41]

STM32 F3

STM32 F3 Series [42]
Produced From 2012 to Current
Max. CPU clock rate 72 MHz
Instruction set Thumb, Thumb-2,
Sat Math, DSP, FPU
Microarchitecture ARM Cortex-M4F [3]

The STM32 F3-series is the second group of STM32 microcontrollers based on the ARM Cortex-M4F core, and the most recent series from ST. The F3 is almost pin-to-pin compatible with the STM32 F1-series. The summary for this series is:[21][22][42]

The distinguishing feature for this series is presence of four fast, 12-bit, simultaneous sampling ADCs (multiplexer to over 30 channels), and interestingly, four matched, 8 MHz bandwidth OpAmps with all pins exposed and additionally internal PGA (Programmable Gain Array) network. The exposed pads allow for a range of analogue signal conditioning circuits like band-pass filters, anti-alias filters, charge amplifiers, integrators/differentiators, 'instrumentation' high-gain differential inputs, and other. This eliminates need for external OpAmps for many applications. The built-in two-channel DAC has arbitrary waveform as well as a hardware-generated waveform (sine, triangle, noise etc.) capability. All analogue devices can be completely independent, or partially internally connected, meaning that one can have nearly everything that is needed for an advanced measurement and sensor interfacing system in a single chip.

The four ADCs can be simultaneously sampled making a wide range of precision analogue control equipment possible. It is also possible to use a hardware scheduler for the multiplexer array, allowing good timing accuracy when sampling more than 4 channels, independent of the main processor thread. The sampling and multiplexing trigger can be controlled from a variety of sources including timers and built-in comparators, allowing for irregular sampling intervals where needed.

The op-amps inputs feature 2-to-1 analogue multiplexer, allowing for a total of eight analogue channels to be pre-processed using the op-amp; all the op-amp outputs can be internally connected to ADCs.

STM32 F2

STM32 F2 Series [43]
Produced From 2010 to Current
Max. CPU clock rate 120 MHz
Min. feature size 90 nm
Instruction set Thumb, Thumb-2,
Saturated Math
Microarchitecture ARM Cortex-M3 [4]

The STM32 F2-series of STM32 microcontrollers based on the ARM Cortex-M3 core. It is the most recent and fastest Cortex-M3 series. The F2 is pin-to-pin compatible with the STM32 F4-series. The summary for this series is:[15][43][44]

STM32 F1

STM32 F1 Series [45]
Produced From 2007 to Current
Max. CPU clock rate 24  to 72 MHz
Instruction set Thumb, Thumb-2,
Saturated Math
Microarchitecture ARM Cortex-M3 [4]

The STM32 F1-series was the first group of STM32 microcontrollers based on the ARM Cortex-M3 core and considered their mainstream ARM microcontrollers. The F1-series has evolved over time by increasing CPU speed, size of internal memory, variety of peripherals. There are five F1 lines: Connectivity (STM32F105/107), Performance (STM32F103), USB Access (STM32F102), Access (STM32F101), Value (STM32F100). The summary for this series is:[45][46][10]

STM32 F0

STM32 F0 Series [47]
Produced From 2012 to Current
Max. CPU clock rate 48 MHz
Instruction set Thumb subset,
Thumb-2 subset
Microarchitecture ARM Cortex-M0 [6]

The STM32 F0-series are the first group of ARM Cortex-M0 chips in the STM32 family. The summary for this series is:[19][27][31][47]

STM32 L4

STM32 L4 Series
Produced From 2015 to Current
Max. CPU clock rate 80  to 80 MHz
Instruction set Thumb, Thumb-2,
Sat Math, DSP, FPU
Microarchitecture ARM Cortex-M4F [3]

STM32 L1

STM32 L1 Series [49]
Produced From 2010 to Current
Max. CPU clock rate 32 MHz
Min. feature size 130 nm
Instruction set Thumb, Thumb-2,
Saturated Math
Microarchitecture ARM Cortex-M3 [4]

The STM32 L1-series was the first group of STM32 microcontrollers with a primary goal of ultra-low power usage for battery-powered applications. The summary for this series is:[13][17][49][50]

STM32 L0

STM32 L0 Series [51]
Produced From 2014 to Current
Max. CPU clock rate 32 MHz
Instruction set Thumb subset,
Thumb-2 subset
Microarchitecture ARM Cortex-M0+ [5]

The STM32 L0-series is the first group of STM32 microcontrollers based on the ARM Cortex-M0+ core. This series targets low power applications. The summary for this series is:[32][51]

STM32 W

STM32 W Series [52]
Max. CPU clock rate 24 MHz
Instruction set Thumb, Thumb-2,
Saturated Math
Microarchitecture ARM Cortex-M3 [4]

The STM32 W-series of ARM chips primary feature is targeting RF communication applications. The summary for this series is:[52]

STM32 J

STMicroelectronics provides a selection of STM32 microcontrollers ready to be used with Java programming language. This special series embeds the required features to execute Java programs. They are based on the existing STM32 F1, F2, F4, F0, L0 families. There are two sets of special part numbers enabled for Java: Production part numbers end in the letter "J", and sample part numbers end in the letter "U".[23][53]

Development boards

Arduino boards

The following are Arduino header-compatible boards with STM32 microcontrollers. The Nucleo boards (see next section) also have Arduino headers.

Nucleo boards

All Nucleo boards by STMicroelectronics support the mbed IDE development,[30][33] and has an additional onboard ST-LINK/V2-1 host adapter chip that supplies SWD debugging, virtual COM port, mass storage. There are three Nucleo board families, each supporting a different microcontroller IC package footprint.[54]

Nucleo-32 boards[54][55]
Nucleo-64 boards[54][57]
Nucleo-144 boards[54][59]

Discovery boards

STM32VLDISCOVERY board with STM32F100RBT6 microcontroller.

The following Discovery evaluation boards are sold by STMicroelectronics to provide a quick and easy way for engineers to evaluate their microcontroller chips. These kits are available from various distributors for less than US$20. The STMicroelectronics evaluation product licence agreement forbids their use in any production system or any product that is offered for sale.[61]

Each board includes an on-board ST-LINK for programming and debugging via a Mini-B USB connector. The power for each board is provided by a choice of the 5 V via the USB cable, or an external 5 V power supply. They can be used as output power supplies of 3 V or 5 V (current must be less than 100 mA). All Discovery boards also include a voltage regulator, reset button, user button, multiple LEDs, SWD header on top of each board, and rows of header pins on the bottom.[62]

An open-source project was created to allow Linux to communicate with the ST-LINK debugger.[63]

ChibiOS/RT, a free RTOS, has been ported to run on some of the Discovery boards.[64][65][66]

STM32L476GDISCOVERY
STM32F429IDISCOVERY
STM32F4DISCOVERY
STM32F401CDISCOVERY
STM32F3DISCOVERY
STM32VLDISCOVERY
STM32L-DISCOVERY
STM32L152CDISCOVERY
STM32L100CDISCOVERY
STM32F072BDISCOVERY
STM32F0DISCOVERY
STM32F0308DISCOVERY

Evaluation boards

The following evalulation kits are sold by STMicroelectronics.[67]

STM32W-RFCKIT
STM3220G-JAVA

A ready-to-use Java development kits for its STM32 microcontrollers. The STM3220G-JAVA Starter Kit combines an evaluation version of IS2T's MicroEJ® Software Development Kit (SDK) and the STM32F2 series microcontroller evaluation board providing everything engineers need to start their projects. MicroEJ provides extended features to create, simulate, test and deploy Java applications in embedded systems. Support for Graphical User Interface (GUI) development includes a widget library, design tools including storyboarding, and tools for customizing fonts.[68] STM32 microcontrollers that embed Java have a Part Number that ends with J like STM32F205VGT6J.

Partner boards

The following evalulation kits are sold by partners of STMicroelectronics and listed on the ST website.

STM32-PerformanceStick
EvoPrimers for STM32

Development tools

Segger J-Link EDU. JTAG / SWD debug probe for ARM microcontrollers with USB interface to host. Low price model for home users and educational use.

Cortex-M

STM32

Design utilities
Debug utilities
Flash programming via USB
Flash programming via USART

All STM32 microcontrollers have a ROM'ed bootloader that supports loading a binary image into its flash memory using one or more peripherals (varies by STM32 family). Since all STM32 bootloaders support loading from the USART peripheral and most boards connect the USART to RS-232 or a USB-to-UART adapter IC, thus it's a universal method to program the STM32 microcontroller. This method requires the target to have a way to enable/disable booting from the ROM'ed bootloader (i.e. jumper / switch / button).

STM32 Java software libraries
STM32 C/C++ software libraries

Documentation

The amount of documentation for all ARM chips is daunting, especially for newcomers. The documentation for microcontrollers from past decades would easily be inclusive in a single document, but as chips have evolved so has the documentation grown. The total documentation is especially hard to grasp for all ARM chips since it consists of documents from the IC manufacturer (STMicroelectronics) and documents from CPU core vendor (ARM Holdings).

A typical top-down documentation tree is: manufacturer website, manufacturer marketing slides, manufacturer datasheet for the exact physical chip, manufacturer detailed reference manual that describes common peripherals and aspects of a physical chip family, ARM core generic user guide, ARM core technical reference manual, ARM architecture reference manual that describes the instruction set(s).

STM32 documentation tree (top to bottom)
  1. STM32 website.
  2. STM32 marketing slides.
  3. STM32 datasheet.
  4. STM32 reference manual.
  5. ARM core website.
  6. ARM core generic user guide.
  7. ARM core technical reference manual.
  8. ARM architecture reference manual.

STMicroelectronics has additional documents, such as: evaluation board user manuals, application notes, getting started guides, software library documents, errata, and more. See External Links section for links to official STM32 and ARM documents.

Part number decoding

STM32F051R8
STM32xxwwyz

Family: [xx][1][73]
Code Core Max freq [MHz] Max FLASH [KB] Max SRAM [KB] target
F0 CortexM0 48 256 32 Mainstream
F1 CortexM3 72 1024 96 Mainstream
F2 CortexM3 120 1024 128 High performance
F3 CortexM4 72 512 80 Mainstream
F4 CortexM4 180 2048 384 High performance
F7 CortexM7 216 1024 320 High performance
L0 CortexM0+ 32 192 20 Ultra low-power
L1 CortexM3 32 512 80 Ultra low-power
L4 CortexM4 80 1024 128 Ultra low-power

Package pin count [y]
Code Number of pins
A 169
B 208
C 48
F 20
G 28
H 40
I 176
J 72
K 32
M 81
N 216
Q 132
R 64
T 36
U 63
V 100
Z 144

FLASH memory size [z]
Code FLASH size [KB]
4 16
6 32
8 64
B 128
Z 192
C 256
D 384
E 512
F 768
G 1024
I 2048

See also

References

  1. 1 2 3 4 5 STM32 Website; STMicroelectronics.
  2. Cortex-M7 Specification Summary; ARM Holdings.
  3. 1 2 3 4 5 Cortex-M4 Specification Summary; ARM Holdings.
  4. 1 2 3 4 5 6 Cortex-M3 Specification Summary; ARM Holdings.
  5. 1 2 Cortex-M0+ Specification Summary; ARM Holdings.
  6. 1 2 Cortex-M0 Specification Summary; ARM Holdings.
  7. STR9 Website; STMicroelectronics.
  8. STR7 Website; STMicroelectronics.
  9. Press Release; STMicroelectronics; October 4, 2006.
  10. 1 2 Press Release; STMicroelectronics; June 11, 2007.
  11. Press Release; STMicroelectronics; November 6, 2007.
  12. Press Release; STMicroelectronics; October 20, 2009.
  13. 1 2 Press Release; STMicroelectronics; April 19, 2010.
  14. 1 2 Press Release; STMicroelectronics; September 14, 2010.
  15. 1 2 Press Release; STMicroelectronics; November 30, 2010.
  16. 1 2 3 Press Release; STMicroelectronics; February 17, 2011.
  17. 1 2 Press Release; STMicroelectronics; March 2, 2011.
  18. 1 2 3 Press Release; STMicroelectronics; September 21, 2011.
  19. 1 2 Press Release; STMicroelectronics; February 29, 2012.
  20. 1 2 Press Release; STMicroelectronics; May 9, 2012.
  21. 1 2 Press Release; STMicroelectronics; June 26, 2012.
  22. 1 2 3 Press Release; STMicroelectronics; September 11, 2012.
  23. 1 2 Press Release; STMicroelectronics; January 21, 2013.
  24. Press Release; STMicroelectronics; February 19, 2013.
  25. 1 2 Press Release; STMicroelectronics; February 20, 2013.
  26. 1 2 Press Release; STMicroelectronics; April 30, 2013.
  27. 1 2 Press Release; STMicroelectronics; July 8, 2013.
  28. 1 2 3 Press Release; STMicroelectronics; September 12, 2013.
  29. 1 2 Press Release; STMicroelectronics; October 3, 2013.
  30. 1 2 Press Release; STMicroelectronics; December 19, 2013.
  31. 1 2 3 Press Release; STMicroelectronics; January 16, 2014.
  32. 1 2 Press Release; STMicroelectronics; February 11, 2014.
  33. 1 2 Press Release; STMicroelectronics; February 17, 2014.
  34. Press Release; STMicroelectronics; February 20, 2014.
  35. 1 2 Press Release; STMicroelectronics; April 23, 2014.
  36. "STMicroelectronics Accelerates MCU-Developers' Pace of Innovation with World's First ARM Cortex-M7 Core-Based STM32 F7 Series MCU". STMicroelectronics. Retrieved 2014-09-25.
  37. . STMicroelectronics http://www.st.com/content/st_com/en/about/media-center/press-item.html/p3878.html. Retrieved 2016-10-25. Missing or empty |title= (help)
  38. STM32 H7 Website; STMicroelectronics.
  39. STM32 F7 Website; STMicroelectronics.
  40. 1 2 STM32 F4 Website; STMicroelectronics.
  41. STM32 F4 Marketing Slides; STMicroelectronics.
  42. 1 2 STM32 F3 Website; STMicroelectronics.
  43. 1 2 STM32 F2 Website; STMicroelectronics.
  44. STM32 F2 Marketing Slides; STMicroelectronics.
  45. 1 2 STM32 F1 Website; STMicroelectronics.
  46. <http://www.st.com/web/en/resource/sales_and_marketing/presentation/product_presentation/stm32_marketing_pres.pdf STM32 F1 Marketing Slides; STMicroelectronics.]
  47. 1 2 STM32 F0 Website; STMicroelectronics.
  48. "ST Forum - STM32F0 Unique ID Location".
  49. 1 2 STM32 L1 Website; STMicroelectronics.
  50. STM32 L1 Marketing Slides; STMicroelectronics.
  51. 1 2 STM32 L0 Website; STMicroelectronics.
  52. 1 2 STM32W Website; STMicroelectronics.
  53. STM32 J Website; STMicroelectronics.
  54. 1 2 3 4 STM32 Nucleo Boards; STMicroelectronics.
  55. STM32 Nucleo-32 Board User Manual; STMicroelectronics.
  56. Arduino Nano; arduino.cc
  57. STM32 Nucleo-64 Board User Manual; STMicroelectronics.
  58. Arduino Uno Rev3; arduino.cc
  59. STM32 Nucleo-144 Board User Manual; STMicroelectronics.
  60. Arduino Uno Rev3; arduino.cc
  61. STMicroelectronics Evaluation Product License Agreement
  62. STM32 Discovery Board Website; STMicroelectronics.
  63. ST-LINK Linux Tools; github.com
  64. Getting started with the STM32VL-Discovery board and ChibiOS/RT
  65. Getting started with the STM32L-Discovery board and ChibiOS/RT
  66. Getting started with the STM32F4-Discovery board and ChibiOS/RT
  67. STM32 Eval Board Website; STMicroelectronics.
  68. STM32 F2 series Java evaluation kit
  69. STM32-PerformanceStick Board Overview; Hitex.
  70. The generated source files include a 3-clause BSD License comment header.
  71. 1 2 3 Java SE Runtime Environment 7 Downloads; Oracle.
  72. Retrieving ST-LINK/V2 Firmware from Update Utility; taylorkillian.com
  73. STM32 Coding matrix

Further reading

External links

Wikimedia Commons has media related to STM32.
STM32 Official Documents
STM32
Series
STM32
Website
STM32
Slides
STM32
Reference
ARM
CPU Core
F7
Link
n/a
n/a
Cortex-M4F
F4
Link
Slides
F4x5/7/9,
F401
Cortex-M4F
F3
Link
n/a
F37x / F38x,
F30x / F31x
Cortex-M4F
F2
Link
Slides
F20x / F21x
Cortex-M3
F1
Link
Slides
F101/2/3/5/7
F100
Cortex-M3
F0
Link
n/a
F0x1/2/8,
F030
Cortex-M0
L4
Link
.
.
Cortex-M4F
L1
Link
Slides
L1xx
Cortex-M3
L0
Link
n/a
L0xx
Cortex-M0+
W
Link
n/a
n/a
Cortex-M3
ARM Official Documents
Other
This article is issued from Wikipedia - version of the 12/1/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.