STM32
Produced | From 2007 to Current |
---|---|
Designed by | STMicroelectronics |
Max. CPU clock rate | 24 to 180 MHz |
Min. feature size | 130 to 90 nm |
Microarchitecture |
ARM Cortex-M4F[2] ARM Cortex-M3[3] ARM Cortex-M0[4] |
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-M4F, Cortex-M3, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.[1]
Overview
The STM32 is a family of microcontroller ICs based on the 32-bit RISC ARM Cortex-M4F, Cortex-M3, 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.
History
The STM32 is the third ARM family by STMicroelectronics. It follows their earlier STR9 family based on the ARM9E core,[5] and STR7 family based on the ARM7TDMI core.[6] The following is a brief history of how the STM32 family has evolved.
- In October 2006, STMicroelectronics (ST) announced that it licensed the ARM Cortex-M3 core.[7]
- In June 2007, ST announced the STM32 based on the Cortex-M3 (currently known as STM32 F1-series).[8]
- In November 2007, ST announced the low-cost "STM32-PerformanceStick" development kit in partner with Hitex.[9]
- In October 2009, ST announced that new ARM chips would be built using the 90 nm process.[10]
- In April 2010, ST announced the STM32L-series (currently known as STM32 L1-series).[11]
- In September 2010, ST announced the STM32VLDISCOVERY development kit.[12]
- In November 2010, ST announced the STM32 F2-series, and future development of chips based on the ARM Cortex-M4 and ARM Cortex-M0 cores.[13]
- In February 2011, ST announced the STM32L-DISCOVERY development kit.[14]
- In March 2011, ST announced the expansion of their STM32L-series with flash densities of 256 KB and 384 KB.[15]
- In September 2011, ST announced the STM32 F4-series and STM32F4DISCOVERY development kit.[16]
- In February 2012, ST announced the STM32 F0-series.[17]
- In May 2012, ST announced the STM32F0DISCOVERY development kit.[18]
- In June 2012, ST announced the STM32 F3-series.[19]
- In September 2012, ST announced full-production of STM32 F3-series microcontrollers and STM32F3DISCOVERY development kit.[20] The STM32 F0-series STM32F050 will be available in a TSSOP20 package and sampling in November 2012.[21]
- In January 2013, ST announced full Java support for STM32 F2 and F4-series microcontrollers.[22]
- In February 2013, ST announced STM32 Embedded Coder support for MATLAB and Simulink.[23]
- In February 2013, ST announced the 180 MHz STM32F429/39 series.[24]
- In April 2013, ST announced the 84 MHz STM32F401 series.[25]
- In July 2013, ST announced the STM32F030 Value Line series.[26]
- In October 2013, ST announced the STM32F0308 Discovery development kit.[27]
Series
The STM32 family consists of seven series of microcontrollers: F4, F3, F2, F1, F0, L1, W.[1] Each STM32 microcontroller series is based upon either a Cortex-M4F, Cortex-M3, or Cortex-M0 ARM processor core. The Cortex-M4F is conceptually a Cortex-M3[3] plus DSP and single-precision floating point instructions.[2]
STM32 F4
Produced | From 2011 to Current |
---|---|
Max. CPU clock rate | 180 MHz |
Min. feature size | 90 nm |
Instruction set |
Thumb, Thumb-2, Sat Math, DSP, FPU |
Microarchitecture | ARM Cortex-M4F[2] |
The STM32 F4-series is the first group of STM32 microcontrollers based on the ARM Cortex-M4F core.[28] 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.[29] The summary for this series is:
- ARM Cortex-M4F core[2] at a maximum clock rate of 180 MHz.
- Memory:
- Static RAM consists of up to 192 KB general purpose, 64 KB core coupled memory (CCM), 4 KB battery-backed, 80 bytes battery-backed with tamper-detection erase.
- Flash consists of 512 / 1024 / 2048 KB general purpose, 30 KB system boot, 512 bytes one-time programmable (OTP), 16 option bytes.
- Each chip has a factory-programmed 96-bit unique device identifier number.
- Common peripherals included in all IC packages are USB 2.0 OTG HS and FS, two CAN 2.0B, one SPI + two SPI or full-duplex I²S, three I²C, four USART, two UART, SDIO for SD/MMC cards, twelve 16-bit timers, two 32-bit timers, two watchdog timers, temperature sensor, 16 or 24 channels into three ADCs, two DACs, 51 to 140 GPIOs, sixteen DMA, improved real-time clock (RTC), cyclic redundancy check (CRC) engine, random number generator (RNG) engine. Larger IC packages add 8/16-bit external memory bus capabilities.
- The STM32F4x7 models add ethernet MAC and camera interface.
- The STM32F41x/43x models add a cryptographic processor for DES / TDES / AES, and a hash processor for SHA-1 and MD5.
- The STM32F4x9 models add a LCD-TFT controller.
- Oscillators consists of internal (16 MHz, 32 kHz), optional external (4 to 26 MHz, 32.768 to 1000 kHz).
- IC packages: WLCSP64, LQFP64, LQFP100, LQFP144, LQFP176, UFBGA176.
- Operating voltage range is 1.8 to 3.6 volt.
STM32 F3
Produced | From 2012 to Current |
---|---|
Max. CPU clock rate | 72 MHz |
Instruction set |
Thumb, Thumb-2, Sat Math, DSP, FPU |
Microarchitecture | ARM Cortex-M4F[2] |
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.[30] The F3 is pin-to-pin compatible with the STM32 F1-series. The summary for this series is:
- ARM Cortex-M4F core[2] at a maximum clock rate of 72 MHz.
- Memory:
- Static RAM consists of 16 / 24 / 32 / 40 KB general purpose with hardware parity check, 0 / 8 KB core coupled memory (CCM) with hardware parity check, 64 / 128 bytes battery-backed with tamper-detection erase.
- Flash consists of 64 / 128 / 256 KB general purpose, 8 KB system boot, and option bytes.
- Each chip has a factory-programmed 96-bit unique device identifier number.
- Each F3-series includes various peripherals that vary from line to line.
- Oscillators consists of internal (8 MHz, 40 kHz), optional external (1 to 32 MHz, 32.768 to 1000 kHz).
- IC packages: LQFP48, LQFP64, LQFP100, UFBGA100.
- Operating voltage range is 2.0 to 3.6 volt.
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.
STM32 F2
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[3] |
The STM32 F2-series of STM32 microcontrollers based on the ARM Cortex-M3 core.[31] It is the most recent and fastest Cortex-M3 series. The F2 is pin-to-pin compatible with the STM32 F4-series.[32] The summary for this series is:
- ARM Cortex-M3 core[3] at a maximum clock rate of 120 MHz.
- Memory:
- Static RAM consists of 64 / 96 / 128 KB general purpose, 4 KB battery-backed, 80 bytes battery-backed with tamper-detection erase.
- Flash consists of 128 / 256 / 512 / 768 / 1024 KB general purpose, 30 KB system boot, 512 bytes one-time programmable (OTP), 16 option bytes.
- Each chip has a factory-programmed 96-bit unique device identifier number.
- Common peripherals included in all IC packages are USB 2.0 OTG HS, two CAN 2.0B, one SPI + two SPI or I2S), three I²C, four USART, two UART, SDIO/MMC, twelve 16-bit timers, two 32-bit timers, two watchdog timers, temperature sensor, 16 or 24 channels into three ADCs, two DACs, 51 to 140 GPIOs, sixteen DMA, real-time clock (RTC), cyclic redundancy check (CRC) engine, random number generator (RNG) engine. Larger IC packages add 8/16-bit external memory bus capabilities.
- The STM32F2x7 models add Ethernet MAC, camera interface, USB 2.0 OTG FS.
- The STM32F21x models add a cryptographic processor for DES / TDES / AES, and a hash processor for SHA-1 and MD5.
- Oscillators consists of internal (16 MHz, 32 kHz), optional external (4 to 26 MHz, 32.768 to 1000 kHz).
- IC packages: WLCSP64, LQFP64, LQFP100, LQFP144, LQFP176, UFBGA176.
- Operating voltage range is 1.8 to 3.6 volt.
STM32 F1
Produced | From 2007 to Current |
---|---|
Max. CPU clock rate | 24 to 72 MHz |
Instruction set |
Thumb, Thumb-2, Saturated Math |
Microarchitecture | ARM Cortex-M3[3] |
The STM32 F1-series was the first group of STM32 microcontrollers based on the ARM Cortex-M3 core and considered their mainstream ARM microcontrollers.[33] 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).[34] The summary for this series is:
- ARM Cortex-M3 core at a maximum clock rate of 24 / 36 / 48 / 72 MHz.
- Memory:
- Static RAM consists of 4 / 6 / 8 / 10 / 16 / 20 / 24 / 32 / 48 / 64 / 80 / 96 KB.
- Flash consists of 16 / 32 / 64 / 128 / 256 / 384 / 512 / 768 / 1024 KB.
- Each F1-series includes various peripherals that vary from line to line.
- IC packages: VFQFPN36, VFQFPN48, LQFP48, WLCSP64, TFBGA64, LQFP64, LQFP100, LFBGA100, LQFP144, LFBGA144.
STM32 F0
Produced | From 2012 to Current |
---|---|
Max. CPU clock rate | 48 MHz |
Min. feature size | 16KB to 128KB |
Instruction set | Thumb, Thumb-2 subset |
Microarchitecture | ARM Cortex-M0[4] |
The STM32 F0-series are the first group of ARM Cortex-M0 chips in the STM32 family.[21] The summary for this series is:
- ARM Cortex-M0 core[4] at a maximum clock rate of 48 MHz.
- Cortex-M0 options include the SysTick Timer.
- Memory:
- Each F0-series includes various peripherals that vary from line to line.
- Oscillators consists of internal (8 MHz, 40 kHz), optional external (1 to 32 MHz, 32.768 to 1000 kHz).
- IC packages: TSSOP20, UFQFPN32, LQFP/UFQFN48, LQFP64, LQFP/UFBGA100.
- Operating voltage range is 2.0 to 3.6 volt withthe possibility to go down to 1.65V.
STM32 L1
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[3] |
The STM32 L1-series was the first group of STM32 microcontrollers with a primary goal of ultra-low power usage for battery-powered applications.[35][36] The summary for this series is:
- ARM Cortex-M3 core at a maximum clock rate of 32 MHz.
- Memory:
- Static RAM consists of 10 / 16 KB general purpose, 80 bytes with tamper-detection erase.
- Flash consists of 32 / 64 / 128 KB general purpose with ECC, 4 KB system boot, 32 option bytes. EEPROM consists of 4 KB data storage with ECC.
- Each chip has a factory-programmed 96-bit unique device identifier number.
- Common peripherals included in all IC packages are USB 2.0 FS, two SPI, two I²C, three USART, eight 16-bit timers, two watchdog timers, temperature sensor, 16 to 24 channels into one ADC, two DACs, 37 to 83 GPIOs, seven DMA, real-time clock (RTC), cyclic redundancy check (CRC) engine. The STM32FL152 line adds a LCD controller.
- Oscillators consists of internal (16 MHz, 38 kHz, variable 64 kHz to 4 MHz), optional external (1 to 26 MHz, 32.768 to 1000 kHz).
- IC packages: UFQFPN48, LQFP48, LQFP64, TFBGA64, LQFP100, UFBGA100.
- Operating voltage range is 1.65 to 3.6 volt.
STM32 W
Max. CPU clock rate | 24 MHz |
---|---|
Instruction set |
Thumb, Thumb-2, Saturated Math |
Microarchitecture | ARM Cortex-M3[3] |
The STM32 W-series of ARM chips primary feature is targeting RF communication applications.[37] The summary for this series is:
- ARM Cortex-M3 core at a maximum clock rate of 24 MHz.
- Memory:
- Static RAM consists of 8 / 16 kB.
- Flash consists of 64 / 128 / 192 / 256 kB.
- Each W-series includes various peripherals that vary from line to line.
- IC packages: VFQFPN40, VFQFPN48, UFQFPN48.
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 F2 STM32 F4 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".[38] Several product descriptions exist for Japan,[39] France,[40] Germany,[41] USA.[42]
Development boards
Discovery boards
The following Discovery evalulation 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 USD$20. 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 external 3.3 V or 5 V power supply. 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.[43][44][45]
An open-source project was created to allow Linux to communicate with the ST-LINK debugger.[46]
ChibiOS/RT, a free RTOS, has been ported to run on some of the Discovery boards.[47][48][49]
- STM32F4DISCOVERY
- An evaluation board for STM32F407VGT6 microcontroller with 168 MHz ARM Cortex-M4F core, 1 MB Flash, 192 KB RAM, 4 KB battery-backed RAM in LQFP100 package.[16][43]
- This board includes an integrated ST-LINK/V2 debugger via Mini-B USB connector, accelerometer (LIS302DL), microphone (MP45DT02), audio codec (CS43L22), 3.5mm audio jack, 4 user LEDs, user button, reset button, and Full-Speed USB OTG to second Micro-AB USB connector.
- A separate STM32F4DIS-BB baseboard is available.[50]
- 32F401CDISCOVERY
- An evaluation board for STM32F401VCT6 microcontroller with 84 MHz ARM Cortex-M4F core, 256 KB Flash, 64 KB RAM in LQFP100 package.
- This board includes an integrated ST-LINK/V2 debugger via Mini-B USB connector, accelerometer/compass (LSM303DLHC), gyroscope (L3GD20), microphone (MP45DT02), audio codec (CS43L22), 3.5mm audio jack, 4 user LEDs, user button, reset button, and Full-Speed USB OTG to second Micro-AB USB connector.
- STM32F3DISCOVERY
- An evaluation board for STM32F303VCT6 microcontroller with 72 MHz ARM Cortex-M4F core, 256 KB Flash, 48 KB RAM (24K with parity check) in LQFP100 package.[51]
- This board includes an integrated ST-LINK/V2 debugger via Mini-B USB connector, accelerometer/compass (LSM303DLHC), gyroscope (L3GD20), 8 user LEDs, user button, reset button, and Full-Speed USB to second Mini-B USB connector.
- STM32VLDISCOVERY
- An evaluation board for STM32F100RBT6 microcontroller with 24 MHz ARM Cortex-M3 core, 128 KB Flash, 8 KB RAM in LQFP64 package.[12][44]
- This board includes an integrated ST-LINK debugger via Mini-B USB connector, 2 user LEDs, user button, and reset button.
- STM32L-DISCOVERY
- An evaluation board for STM32L152RBT6 microcontroller with 32 MHz ARM Cortex-M3 core, 128 KB Flash (with ECC), 16 KB RAM, 4 KB EEPROM (with ECC) in LQFP64 package.[14][45]
- This board includes an integrated ST-LINK/V2 debugger via Mini-B USB connector, 24-segment LCD, touch sensors, 2 user LEDs, user button, and reset button.
- This board is currently End-Of-Life and replaced by the 32L152CDISCOVERY board.
- 32L152CDISCOVERY
- An evaluation board for STM32L152RCT6 microcontroller with 32 MHz ARM Cortex-M3 core, 256 KB Flash (with ECC), 32 KB RAM, 8 KB EEPROM (with ECC) in LQFP64 package.
- This board includes an integrated ST-LINK/V2 debugger via Mini-B USB connector, 24-segment LCD, touch sensors, 2 user LEDs, user button, and reset button.
- 32L100CDISCOVERY
- An evaluation board for STM32L100RCT6 microcontroller with 32 MHz ARM Cortex-M3 core, 256 KB Flash (with ECC), 16 KB RAM, 4 KB EEPROM (with ECC) in LQFP64 package.
- This board includes an integrated ST-LINK/V2 debugger via Mini-B USB connector, 2 user LEDs, user button, and reset button.
- STM32F0DISCOVERY
- An evaluation board for STM32F051R8T6 microcontroller with 48 MHz ARM Cortex-M0 core, 64 KB Flash, 8 KB RAM (with parity check) in LQFP64 package.[18][52]
- This board includes an integrated ST-LINK/V2 debugger via Mini-B USB connector, 2 user LEDs, user button, and reset button.
- A prototyping perfboard with 0.1-inch (2.54mm) grid of holes is included.
- 32F0308DISCOVERY
- An evaluation board for STM32F030R8T6 microcontroller with 48 MHz ARM Cortex-M0 core, 64 KB Flash, 8 KB RAM (with parity check) in LQFP64 package.[27]
- This board includes an integrated ST-LINK/V2 debugger via Mini-B USB connector, 2 user LEDs, user button, and reset button.
- A prototyping perfboard with 0.1-inch (2.54mm) grid of holes is included.
Evaluation boards
The following evalulation kits are sold by STMicroelectronics.
- STM32W-RFCKIT
- An RF evaluation board for STM32 W-series.[53]
- It contains two boards, each with a STM32W108 SoC microcontroller in VFQFPN40 and VFQFPN48 packages.
- The evaluation board has a built-in 2.4 GHz IEEE 802.15.4 transceiver and Lower MAC (so supports 802.15.4, ZigBee RF4CE, ZigBee Pro, 6LoWPAN (Contiki) wireless protocols). The SoC contains 128-Kbyte flash and 8-Kbyte RAM memory. Flash memory is upgradable too via USB. It has an ARM Serial Wire Debug (SWD) interface (Remote board) and is designed to be powered by USB or with 2 AAA batteries (Remote board). There are two user-defined LEDs (green and yellow) and five push buttons to create easy-to-use remote functions (Remote board).
- The price is approximately USD$40.
- 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. STM32 F2 series Java evaluation kit. 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
- An evaluation board for STM32 F1-series.[54]
- It contains a STM32F103RBT6 microcontroller at 72 MHz with 128 KB flash and 20 KB RAM in LQFP64 package.
- This board also includes in-circuit debugger via USB, 3 V battery, LEDs, edge card connector.
- The price is approximately USD$65.
- EvoPrimers for STM32
- A prototyping environment for a variety of STM32 variants, which allows users to create their applications using an application programming interface (API) to implement device peripherals and a range of evaluation features on the EvoPrimer base including TFT color touchscreen, graphical user interface, joy stick, codec-based audio, SD card, IrDA and standard peripherals such as USB, USART, SPI, I2C, CAN, etc.
- EvoPrimer target boards are available for several variants including STM32F103, STM32F107, STM32L152 and STM32F407.
- The EvoPrimer base includes a device programming and application debugging interface and comes with a Raisonance software tool set for coding, compiling and debugging the user's application.
- The CircleOS utility allows the user to code their applications relying on an application programming interface, making it possible to program the application without having to master the configuration of device peripherals.
- The price is USD$100 to $120.
Development tools
- Design utilities
- MicroXplorer, by STMicroelectronics, a freeware package for Windows to help allocate and configure peripheral mapping to STM32 IC pins then generate C code that can be used to configure the pins. Version 3.2 supports all STM32 devices as of September 2013. A 32-bit Java Runtime Environment (JRE) must be installed prior to running MicroXplorer.[55]
- Debug utilities
- STM-STUDIO, by STMicroelectronics, a freeware package for Windows to help debug and diagnose STM32 applications while they are running by reading and displaying their variables in real-time. It connects to any STM32 using a ST-LINK type of device (JTAG or SWD protocols). It can log captured data to a file and replay later. It parses debugging information from the ELF application executable file. A 32-bit Java Runtime Environment (JRE) must be installed prior to running STM-STUDIO.[56] The ST-LINK Utility must be installed prior to running STM-STUDIO (see next section).
- VisualGDB, by Sysprogs, a debug plugin for Microsoft Visual Studio that allows developing and debugging STM32 applications.
- EPS Debugger, by Comsytec, a debug plugin for Code::Blocks that includes compiler, debugger, project wizard for STM32.
- Flash programming via USB
- STM32 ST-LINK Utility, by STMicroelectronics, a freeware package for Windows to perform in-system programming of STM32 microcontrollers using the USB-based ST-LINK interface device via JTAG/SWD protocols.[57] This software can upgrade the firmware in the ST-LINK device, which includes the embedded ST-LINK on all of the STM32 DISCOVERY boards.[58][59] During installation of this utility, a USB driver is installed to provide a communication interface with the ST-LINK device, which in turn also allows various IDEs to use the ST-Link for debugging.
- ST Visual Programmer (STVP), by STMicroelectronics, a freeware package for Windows to perform in-system programming of the flash in STM32 microcontrollers using a USB-based ST-LINK device.
- DfuSe, by STMicroelectronics, a freeware package for Windows to load DFU programs into the flash of USB-based STM32 microcontrollers.[60]
- qstlink2, an open source multi-platform ST-link V2 client, based on QT.
- 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).
- stm32flash, an open source program for Windows and Linux to perform in-system programming of the STM32 flash via its USART.
- stm32loader, an open source multi-platform Python script to perform in-system programming of the STM32 flash via its USART. Python and Python Serial Port Extension are required.
|
|
|
|
|
|
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: high-level marketing slides, datasheet for the exact physical chip, a detailed reference manual that describes common peripherals and other aspects of physical chips within the same series, reference manual for the exact ARM core processor within the chip, reference manual for the ARM architecture of the core which includes detailed description of all instruction sets.
- Documentation tree (top to bottom)
- STM32 marketing slides.
- STM32 datasheets.
- STM32 reference manuals.
- ARM core reference manuals.
- ARM architecture reference manuals.
STMicroelectronics has additional documents, including: evaluation board user manuals, application notes, getting started with development software, software library documents, errata, and more. See the External Links section for documents relating to each STM32 series.
See also
- ARM architecture, List of ARM microprocessor cores, ARM Cortex-M
- Microcontroller, List of common microcontrollers
- Embedded system, Single-board microcontroller
- Interrupt, Interrupt handler, List of real-time operating systems
- JTAG, SWD
References
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 STM32 Website; STMicroelectronics.
- ↑ 2.0 2.1 2.2 2.3 2.4 2.5 2.6 Cortex-M4 Specification Summary; ARM Holdings.
- ↑ 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 Cortex-M3 Specification Summary; ARM Holdings.
- ↑ 4.0 4.1 4.2 4.3 Cortex-M0 Specification Summary; ARM Holdings.
- ↑ STR9 Website; STMicroelectronics.
- ↑ STR7 Website; STMicroelectronics.
- ↑ Press Release; STMicroelectronics; October 4, 2006.
- ↑ Press Release; STMicroelectronics; June 11, 2007.
- ↑ Press Release; STMicroelectronics; November 6, 2007.
- ↑ Press Release; STMicroelectronics; October 20, 2009.
- ↑ Press Release; STMicroelectronics; April 19, 2010.
- ↑ 12.0 12.1 Press Release; STMicroelectronics; September 14, 2010.
- ↑ Press Release; STMicroelectronics; November 30, 2010.
- ↑ 14.0 14.1 Press Release; STMicroelectronics; February 17, 2011.
- ↑ Press Release; STMicroelectronics; March 2, 2011.
- ↑ 16.0 16.1 Press Release; STMicroelectronics; September 21, 2011.
- ↑ Press Release; STMicroelectronics; February 29, 2012.
- ↑ 18.0 18.1 Press Release; STMicroelectronics; May 9, 2012.
- ↑ Press Release; STMicroelectronics; June 26, 2012.
- ↑ Press Release; STMicroelectronics; September 11, 2012.
- ↑ 21.0 21.1 21.2 STM32 F0 Website; STMicroelectronics.
- ↑ Press Release; STMicroelectronics; January 21, 2013.
- ↑ Press Release; STMicroelectronics; February 19, 2013.
- ↑ Press Release; STMicroelectronics; February 20, 2013.
- ↑ Press Release; STMicroelectronics; April 30, 2013.
- ↑ Press Release; STMicroelectronics; July 8, 2013.
- ↑ 27.0 27.1 Press Release; STMicroelectronics; October 3, 2013.
- ↑ 28.0 28.1 STM32 F4 Website; STMicroelectronics.
- ↑ STM32 F4 Marketing Slides; STMicroelectronics.
- ↑ 30.0 30.1 STM32 F3 Website; STMicroelectronics.
- ↑ 31.0 31.1 STM32 F2 Website; STMicroelectronics.
- ↑ STM32 F2 Marketing Slides; STMicroelectronics.
- ↑ 33.0 33.1 STM32 F1 Website; STMicroelectronics.
- ↑ STM32 F1 Marketing Slides; STMicroelectronics.
- ↑ 35.0 35.1 STM32 L1 Website; STMicroelectronics.
- ↑ STM32 L1 Marketing Slides; STMicroelectronics.
- ↑ 37.0 37.1 STM32W Website; STMicroelectronics.
- ↑ STM32 J Website; STMicroelectronics.
- ↑ STM32Java JAPAN
- ↑ STM32Java FRANCE
- ↑ STM32Java GERMANY
- ↑ STM32Java USA
- ↑ 43.0 43.1 STM32F4DISCOVERY Board Overview; STMicroelectronics.
- ↑ 44.0 44.1 STM32VLDISCOVERY Board Overview; STMicroelectronics.
- ↑ 45.0 45.1 STM32L-DISCOVERY Board Overview; STMicroelectronics.
- ↑ ST-LINK Linux Tools; github.com
- ↑ Getting started with the STM32VL-Discovery board and ChibiOS/RT
- ↑ Getting started with the STM32L-Discovery board and ChibiOS/RT
- ↑ Getting started with the STM32F4-Discovery board and ChibiOS/RT
- ↑ STM32F4DISCOVERY extension boards; STMicroelectronics.
- ↑ STM32F3DISCOVERY Board Data Brief; STMicroelectronics.
- ↑ STM32F0DISCOVERY Board Overview; STMicroelectronics.
- ↑ STM32W-RFCKIT Board Overview; STMicroelectronics.
- ↑ STM32-PerformanceStick Board Overview; Hitex.
- ↑ MicroXplorer Freeware Overview; STMicroelectronics.
- ↑ STM-STUDIO Freeware Overview; STMicroelectronics.
- ↑ STM32 ST-LINK Utility software user manual; STMicroelectronics.
- ↑ ST-LINK/V2 USB to JTAG/SWD interface device
- ↑ Retrieving ST-Link/V2 Firmware from Update Utility; taylorkillian.com
- ↑ DfuSe User Manual; STMicroelectronics.
- ↑ TASKING VX-Toolset; Altium; Development Toolchains.
- ↑ Java-C Development Toolchains.
- ↑ TrueSTUDIO; Atollic; Development Toolchains.
- ↑ GNU Tools for ARM Embedded Processors; Canonical; Development Toolchains.
- ↑ Red Suite; Code Red; Development Toolchains.
- ↑ CoIDE; CooCox; Development Toolchains.
- ↑ Embedded Workbench for ARM; IAR; Development Toolchains.
- ↑ MDK-ARM; Keil; Development Toolchains.
- ↑ Ride and RKit for ARM; Raisonance; Development Toolchains.
- ↑ CrossWorks for ARM; Rowley; Development Toolchains.
- ↑ Sourcery CodeBench; Mentor Graphics; Development Toolchains.
- ↑ YAGARTO (GNU for ARM); Development Toolchains.
- ↑ Building GCC From Scratch; Development Toolchains.
- ↑ MicroEJ for Java; STMicroelectronics; Development Toolchains.
- ↑ ST-LINK; STMicroelectronics; Debug Tools.
- ↑ ST-LINK/V2; STMicroelectronics; Debug Tools.
- ↑ J-Link and J-Trace; Segger; Debug Tools.
- ↑ RLink Standard; Raisonance; Debug Tools.
- ↑ RLink Professional; Raisonance; Debug Tools.
- ↑ ULINK
- ↑ JTAGjet and JTAGjet-Trace; Signum; Debug Tools.
- ↑ I-jet; IAR; Debug Tools.
- ↑ μTrace; >Lauterbach μTrace for Cortex-M
- ↑ USB Multilink Universal; P&E Micro; Debug Tools.
- ↑ OpenOCD; SourceForge; Debug Tools.
- ↑ AK-OPENJTAG; Artekit; Debug Tools.
- ↑ Open JTAG.
- ↑ AK-LINK; Artekit; Debug Tools.
- ↑ 89.0 89.1 STM32 F4 DSP and Standard Peripheral Library; STMicroelectronics.
- ↑ STM32 F2 Standard Peripheral Library; STMicroelectronics.
- ↑ STM32 F1 Standard Peripheral Library; STMicroelectronics.
- ↑ STM32 F0 Standard Peripheral Library; STMicroelectronics.
- ↑ STM32 L1 Standard Peripheral Library; STMicroelectronics.
- ↑ STM32 F2 and F1 USB OTG Host and Device Library; STMicroelectronics..
- ↑ STM32 F1 and L1 USB FS Device Library; STMicroelectronics.
- ↑ STM32 F1 DSP Library; STMicroelectronics.
- ↑ CMSIS; Software Library.
- ↑ FatFs; Software Library.
- ↑ Petit FatFs; Software Library
- ↑ CoOS; Real-Time Operating System.
- ↑ OpenRTOS, SafeRTOS; Real-Time Operating System.
- ↑ Milos; Real-Time Operating System.
- ↑ ScmRTOS; Real-Time Operating System.
- ↑ SDPOS; Real-Time Operating System.
- ↑ uKOS; Real-Time Operating System.
- ↑ µTasker; Real-Time Operating System.
- ↑ Unison; Real-Time Operating System.
Further reading
- The Definitive Guide to the ARM Cortex-M0; 1st Edition; Joseph Yiu; Newnes; 552 pages; 2011; ISBN 978-0-12-385477-3. (Online Sample)
- The Definitive Guide to the ARM Cortex-M3; 2nd Edition; Joseph Yiu; Newnes; 480 pages; 2009; ISBN 978-1-85617-963-8. (Online Sample)
- The Insider's Guide To The STM32 ARM Based Microcontroller; 2nd Edition (v1.8); Trevor Martin; Hitex; 96 pages; 2009; ISBN 0-9549988-8-X. (Download) (Other Guides)
- µC/OS-III: The Real-Time Kernel for the STMicroelecronics STM32F107; 1st Edition; Jean Labrosse; Micrium; 820 pages; ISBN 978-0-9823375-3-0.
- µC/TCP-IP: The Embedded Protocol Stack for the STMicroelectronics STM32F107; 1st Edition; Christian Légaré; Micrium; 824 pages; 2010; ISBN 978-0-9823375-0-9.
External links
Wikimedia Commons has media related to STM32. |
- ST Microelectronics
STM32
SeriesSTM32
WebsiteSTM32
SlidesSTM32
ReferenceARM
CoreARM
ArchitectureF4 Website Slides F4xx M4F r0p1 ARMv7E-M F3 Website . F37x / F38x
F30x / F31xM4F r0p1 ARMv7E-M F2 Website Slides F2xx M3 r2p0
ErrataARMv7-M F1 Website Slides F101-107
F100M3 r1p1
ErrataARMv7-M F0 Website . F05x M0 r0p0 ARMv6-M L1 Website Slides L15x M3 r2p0
ErrataARMv7-M W Website . see
datasheetsM3 r1p1
ErrataARMv7-M
- ARM Holdings
- Quick Reference Cards
- Instructions: Thumb (1), ARM and Thumb-2 (2), Vector Floating Point (3)
- Opcodes: Thumb (1, 2), ARM (3, 4), GNU Assembler Directives 5.
- Other
- STM32 Communities: OnARM, Primer
- STM32 USART bus: Article 1, Article 2, Article 3
- STM32 SPI bus: Article 1
- STM32 I²C bus: Article 1
- STM32 ADC: Article 1
- STM32 Bit Band Memory: Article 1
- Libraries: ARM CMSIS, libopencm3
|
|