STM32
Encyclopedia
STM32 is a family of multiple series of microcontroller
ICs
, by STMicroelectronics
(also known as ST), based on the 32-bit
RISC
Cortex-M3
and Cortex-M4F cores from ARM Holdings
. A series based on the Cortex-M0 core has been announced in multiple press releases and roadmaps, thus it is expected to be released in late 2011 or early 2012.
core, and STR7 family based on the ARM7TDMI core. The following is a brief history of how the STM32 family has evolved.
s: F4, F2, F1, L1, W. Each STM32 microcontroller series is based upon either a Cortex-M3
or Cortex-M4F ARM processor core. The Cortex-M4F is conceptually a Cortex-M3 plus DSP and single-precision floating point
instructions.
with the STM32 F2 series and adds higher clock speed, 64K CCM Static RAM, full duplex I2S, improved real-time clock, and faster ADCs.
The summary for this series is:
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 for programming and debugging via a MiniUSB connector. The power for each board is provided by a choice of the 5V via the USB cable, or external 3.3V
or 5V 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.
Free ST software libraries:
Real-Time Operating Systems (RTOS
)
Development toolchains:
Debugging tools (JTAG / SWD):
) 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):
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.
Official Documentation
Other
Microcontroller
A microcontroller is a small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals. Program memory in the form of NOR flash or OTP ROM is also often included on chip, as well as a typically small amount of RAM...
ICs
Integrated circuit
An integrated circuit or monolithic integrated circuit is an electronic circuit manufactured by the patterned diffusion of trace elements into the surface of a thin substrate of semiconductor material...
, by STMicroelectronics
STMicroelectronics
STMicroelectronics is an Italian-French electronics and semiconductor manufacturer headquartered in Geneva, Switzerland.While STMicroelectronics corporate headquarters and the headquarters for EMEA region are based in Geneva, the holding company, STMicroelectronics N.V. is registered in Amsterdam,...
(also known as ST), based on the 32-bit
32-bit
The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....
RISC
Reduced instruction set computer
Reduced instruction set computing, or RISC , is a CPU design strategy based on the insight that simplified instructions can provide higher performance if this simplicity enables much faster execution of each instruction. A computer based on this strategy is a reduced instruction set computer...
Cortex-M3
ARM Cortex-M3
The ARM Cortex-M3 is an ARM processor core licensed by ARM Holdings. The core is intended for microcontroller applications.-Features:Key features of the Cortex-M3 core are:* ARMv7-M architecture* Support for Thumb and Thumb-2 instruction encodings...
and Cortex-M4F cores from ARM Holdings
ARM Holdings
ARM Holdings plc is a British multinational semiconductor and software company headquartered in Cambridge. Its largest business is in processors, although it also designs, licenses and sells software development tools under the RealView and KEIL brands, systems and platforms, system-on-a-chip...
. A series based on the Cortex-M0 core has been announced in multiple press releases and roadmaps, thus it is expected to be released in late 2011 or early 2012.
History
The STM32 is the third ARM family by STMicroelectronics. It follows their earlier STR9 family based on the ARM9EARM9E
ARM9 is an ARM architecture 32-bit RISC CPU family. With this design generation, ARM moved from a von Neumann architecture to a Harvard architecture with separate instruction and data buses , significantly increasing its potential speed...
core, and STR7 family based on the ARM7TDMI core. 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.
- In June 2007, ST announced the STM32 based on the Cortex-M3 (currently known as STM32 F1 series).
- In November 2007, ST announced the low-cost "STM32-PerformanceStick" development kit in partner with Hitex.
- In October 2009, ST announced that new ARM chips would be built using the 90nm process.
- In April 2010, ST announced the STM32L series (currently known as STM32 L1 series).
- In September 2010, ST announced the STM32VLDISCOVERY development kit.
- 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.
- In February 2011, ST announced the STM32L-DISCOVERY development kit.
- In March 2011, ST announced the expansion of their STM32L series with flash densities of 256 KiB and 384 KiB.
- In September 2011, ST announced the STM32 F4 series and STM32F4DISCOVERY development kit.
- Currently, ST hasn't announced any Cortex-M0 devices since their press release in November 2010. A series should be released in late 2011 or early 2012.
Series
The STM32 family consists of five series of microcontrollerMicrocontroller
A microcontroller is a small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals. Program memory in the form of NOR flash or OTP ROM is also often included on chip, as well as a typically small amount of RAM...
s: F4, F2, F1, L1, W. Each STM32 microcontroller series is based upon either a Cortex-M3
ARM Cortex-M3
The ARM Cortex-M3 is an ARM processor core licensed by ARM Holdings. The core is intended for microcontroller applications.-Features:Key features of the Cortex-M3 core are:* ARMv7-M architecture* Support for Thumb and Thumb-2 instruction encodings...
or Cortex-M4F ARM processor core. The Cortex-M4F is conceptually a Cortex-M3 plus DSP and single-precision floating point
Floating point
In computing, floating point describes a method of representing real numbers in a way that can support a wide range of values. Numbers are, in general, represented approximately to a fixed number of significant digits and scaled using an exponent. The base for the scaling is normally 2, 10 or 16...
instructions.
STM32 F4
The STM32 F4 series is the first group of STM32 microcontrollers based on the ARM Cortex-M4F core, and the most recent series from ST. The F4 series is also the first STM32 series to have DSP and floating point instructions. The F4 is pin-to-pin compatiblePin-compatibility
In electronics, a pin-compatible device, such as a logic integrated circuit , memory module or microprocessor, is one that has the same functions assigned to the same particular pins....
with the STM32 F2 series and adds higher clock speed, 64K CCM Static RAM, full duplex I2S, improved real-time clock, and faster ADCs.
The summary for this series is:
- ARM Cortex-M4F core at a maximum clock rate of 168 MHz.
- NOR-FlashFlash memoryFlash memory is a non-volatile computer storage chip that can be electrically erased and reprogrammed. It was developed from EEPROM and must be erased in fairly large blocks before these can be rewritten with new data...
consists of 512 / 1024 KiBKilobyteThe kilobyte is a multiple of the unit byte for digital information. Although the prefix kilo- means 1000, the term kilobyte and symbol KB have historically been used to refer to either 1024 bytes or 1000 bytes, dependent upon context, in the fields of computer science and information...
general purpose, 30 KiB system boot, 512 bytes one-time programmable (OTP), 16 option bytes. Each chip has a factory-programmed 96-bit unique device identifier number. - Static RAM consists of 128 KiB general purpose, 64 KiB core coupled memory (CCM), 4 KiB battery-backed, 80 bytes battery-backed with tamper-detection erase.
- Common peripherals included in all IC packages are USB 2.0 OTGUSB On-The-GoUSB On-The-Go, often abbreviated USB OTG, is a specification that allows USB devices such as digital audio players or mobile phones to act as a host allowing a USB Flash Drive, mouse, or keyboard to be attached.- Architecture :...
HS and FS, two CANController Area NetworkController–area network is a vehicle bus standard designed to allow microcontrollers and devices to communicate with each other within a vehicle without a host computer....
2.0B, one SPISerial Peripheral Interface BusThe Serial Peripheral Interface Bus or SPI bus is a synchronous serial data link standard named by Motorola that operates in full duplex mode. Devices communicate in master/slave mode where the master device initiates the data frame. Multiple slave devices are allowed with individual slave select ...
+ two SPI or full-duplex I2S), three I2C, four USART, two UART, SDIO for SDSecure DigitalSecure Digital is a non-volatile memory card format developed by the SD Card Association for use in portable devices. The SD technology is used by more than 400 brands across dozens of product categories and more than 8,000 models, and is considered the de-facto industry standard.Secure Digital...
/MMCMultiMediaCardThe MultiMediaCard is a flash memory memory card standard. Unveiled in 1997 by Siemens AG and SanDisk, it is based on Toshiba's NAND-based flash memory, and is therefore much smaller than earlier systems based on Intel NOR-based memory such as CompactFlash. MMC is about the size of a postage...
cards, twelve 16-bit timers, two 32-bit timers, two watchdogWatchdog timerA watchdog timer is a computer hardware or software timer that triggers a system reset or other corrective action if the main program, due to some fault condition, such as a hang, neglects to regularly service the watchdog A watchdog timer (or computer operating properly (COP) timer) is a computer...
timers, temperatureTemperatureTemperature is a physical property of matter that quantitatively expresses the common notions of hot and cold. Objects of low temperature are cold, while various degrees of higher temperatures are referred to as warm or hot...
sensor, 16 or 24 channels into three ADCAnalog-to-digital converterAn analog-to-digital converter is a device that converts a continuous quantity to a discrete time digital representation. An ADC may also provide an isolated measurement...
s, two DACDigital-to-analog converterIn electronics, a digital-to-analog converter is a device that converts a digital code to an analog signal . An analog-to-digital converter performs the reverse operation...
s, 51 to 140 GPIOs, sixteen DMADirect memory accessDirect memory access is a feature of modern computers that allows certain hardware subsystems within the computer to access system memory independently of the central processing unit ....
, improved real-time clock (RTCReal-time clockA real-time clock is a computer clock that keeps track of the current time. Although the term often refers to the devices in personal computers, servers and embedded systems, RTCs are present in almost any electronic device which needs to keep accurate time.-Terminology:The term is used to avoid...
), cyclic redundancy check (CRCCyclic redundancy checkA cyclic redundancy check is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to raw data...
) engine, random number generator (RNGRngRng can stand for* Random number generator* Rng , an algebraic structure similar to rings but without a multiplicative identity* .rng, the file extension of RELAX NG...
) engine. Larger IC packages add 8/16-bit external memory busMemory busThe memory bus is the computer bus which connects the main memory to the memory controller in computer systems. Originally, general-purpose buses like VMEbus and the S-100 bus were used, but to reduce latency, modern memory buses are designed to connect directly to DRAM chips, and thus are...
capabilities. The STM32F4x7 lines adds ethernetEthernetEthernet is a family of computer networking technologies for local area networks commercially introduced in 1980. Standardized in IEEE 802.3, Ethernet has largely replaced competing wired LAN technologies....
MACMedia Independent InterfaceThe Media Independent Interface was originally defined as a standard interface used to connect a Fast Ethernet MAC-block to a PHY chip.The MII design has been extended to support reduced signals and increases speeds...
and camera interface. The STM32F41x lines adds a cryptographic processorCryptographic acceleratorA cryptographic accelerator is a device that performs processor-intensive decrypting/encrypting while freeing the host CPU to perform other tasks. In general cryptographic accelerator is a co-processor. Common use for cryptographic accelerator is a webserver protecting data transmitted through...
for DESData Encryption StandardThe Data Encryption Standard is a block cipher that uses shared secret encryption. It was selected by the National Bureau of Standards as an official Federal Information Processing Standard for the United States in 1976 and which has subsequently enjoyed widespread use internationally. It is...
/ TDESTriple DESIn cryptography, Triple DES is the common name for the Triple Data Encryption Algorithm block cipher, which applies the Data Encryption Standard cipher algorithm three times to each data block....
/ AESAdvanced Encryption StandardAdvanced Encryption Standard is a specification for the encryption of electronic data. It has been adopted by the U.S. government and is now used worldwide. It supersedes DES...
, and a hash processor for SHA-1 and MD5MD5The MD5 Message-Digest Algorithm is a widely used cryptographic hash function that produces a 128-bit hash value. Specified in RFC 1321, MD5 has been employed in a wide variety of security applications, and is also commonly used to check data integrity...
. - OscillatorsElectronic oscillatorAn electronic oscillator is an electronic circuit that produces a repetitive electronic signal, often a sine wave or a square wave. They are widely used in innumerable electronic devices...
consists of internal (16 MHz, 32 kHz), optional external (4 to 26 MHz, 32.768 to 1000 kHz). - Available in the following IC packagesIntegrated circuit packagingIntegrated circuit packaging is the final stage of semiconductor device fabrication per se, followed by IC testing.Packaging in ceramic or plastic prevents physical damage and corrosion and supports the electrical contacts required to assemble the integrated circuit into a system.In the integrated...
: WLCSP64, LQFPLQFPA Low-profile Quad Flat Package is a surface mount integrated circuit package format with component leads extending from each of the four sides. Pins are numbered counter-clockwise from the index dot. Spacing between pins can vary; common spacings are 0.4, 0.5, 0.65 and 0.80 mm intervals....
64, LQFP100, LQFP144, LQFP176, UFBGABall grid arrayA ball grid array is a type of surface-mount packaging used for integrated circuits.- Description :The BGA is descended from the pin grid array , which is a package with one face covered with pins in a grid pattern. These pins conduct electrical signals from the integrated circuit to the printed...
176. - Operating voltageIC power supply pinAlmost all integrated circuits have at least two pins that connect to the power rails of the circuit in which they are installed. These are known as the IC's power supply pins...
range is 1.8 to 3.6 voltVoltThe volt is the SI derived unit for electric potential, electric potential difference, and electromotive force. The volt is named in honor of the Italian physicist Alessandro Volta , who invented the voltaic pile, possibly the first chemical battery.- Definition :A single volt is defined as the...
.
STM32 F2
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.- ARM Cortex-M3ARM Cortex-M3The ARM Cortex-M3 is an ARM processor core licensed by ARM Holdings. The core is intended for microcontroller applications.-Features:Key features of the Cortex-M3 core are:* ARMv7-M architecture* Support for Thumb and Thumb-2 instruction encodings...
core at a maximum clock rate of 120 MHz. - NOR-Flash consists of 128 / 256 / 512 / 768 / 1024 KiBKilobyteThe kilobyte is a multiple of the unit byte for digital information. Although the prefix kilo- means 1000, the term kilobyte and symbol KB have historically been used to refer to either 1024 bytes or 1000 bytes, dependent upon context, in the fields of computer science and information...
general purpose, 30 KiB system boot, 512 bytes one-time programmable (OTP), 16 option bytes. Each chip has a factory-programmed 96-bit unique device identifier number. - Static RAM consists of 64 / 96 / 128 KiB general purpose, 4 KiB battery-backed, 80 bytes battery-backed with tamper-detection erase.
- Common peripherals included in all IC packages are USB 2.0 OTG HS, two CAN 2.0B, one SPI + two SPI or I2S), three I2C, 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 lines adds ethernet MAC, camera interface, USB 2.0 OTG FS. The STM32F21x lines adds 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).
- Available in the following IC packages: WLCSP64, LQFP64, LQFP100, LQFP144, LQFP176, UFBGA176.
- Operating voltage range is 1.8 to 3.6 volt.
STM32 F1
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).- ARM Cortex-M3ARM Cortex-M3The ARM Cortex-M3 is an ARM processor core licensed by ARM Holdings. The core is intended for microcontroller applications.-Features:Key features of the Cortex-M3 core are:* ARMv7-M architecture* Support for Thumb and Thumb-2 instruction encodings...
core at a maximum clock rate of 24 / 36 / 48 / 72 MHz. - 16 / 32 / 64 / 128 / 256 / 384 / 512 / 768 / 1024 KiB NOR-Flash.
- 4 / 6 / 8 / 10 / 16 / 20 / 24 / 32 / 48 / 64 / 80 / 96 KiB Static RAM.
- Each F1 series includes various peripherals that vary from line to line.
- Available in the following IC packages: VFQFPN36, VFQFPN48, LQFP48, WLCSP64, TFBGA64, LQFP64, LQFP100, LFBGA100, LQFP144, LFBGA144.
STM32 L1
The STM32 L1 series was the first group of STM32 microcontrollers with a primary goal of ultra-low power usage for battery-powered applications.- ARM Cortex-M3ARM Cortex-M3The ARM Cortex-M3 is an ARM processor core licensed by ARM Holdings. The core is intended for microcontroller applications.-Features:Key features of the Cortex-M3 core are:* ARMv7-M architecture* Support for Thumb and Thumb-2 instruction encodings...
core at a maximum clock rate of 32 MHz. - NOR-Flash consists of 32 / 64 / 128 KiBKilobyteThe kilobyte is a multiple of the unit byte for digital information. Although the prefix kilo- means 1000, the term kilobyte and symbol KB have historically been used to refer to either 1024 bytes or 1000 bytes, dependent upon context, in the fields of computer science and information...
general purpose with ECCECC memoryError-correcting code memory is a type of computer data storage that can detect and correct the more common kinds of internal data corruption...
, 4 KiB system boot, 32 option bytes. EEPROMEEPROMEEPROM stands for Electrically Erasable Programmable Read-Only Memory and is a type of non-volatile memory used in computers and other electronic devices to store small amounts of data that must be saved when power is removed, e.g., calibration...
consists of 4 KiB data storage with ECC. Each chip has a factory-programmed 96-bit unique device identifier number. - Static RAM consists of 10 / 16 KiB general purpose, 80 bytes with tamper-detection erase.
- Common peripherals included in all IC packages are USB 2.0 FS, two SPI, two I2C, 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).
- Available in the following IC packages: UFQFPN48, LQFP48, LQFP64, TFBGA64, LQFP100, UFBGA100.
- Operating voltage range is 1.65 to 3.6 volt.
Discovery kits
The following Discovery evalulation kits are sold by STMicroelectronicsSTMicroelectronics
STMicroelectronics is an Italian-French electronics and semiconductor manufacturer headquartered in Geneva, Switzerland.While STMicroelectronics corporate headquarters and the headquarters for EMEA region are based in Geneva, the holding company, STMicroelectronics N.V. is registered in Amsterdam,...
to provide a quick and easy way for engineers to evaluate their microcontroller
Microcontroller
A microcontroller is a small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals. Program memory in the form of NOR flash or OTP ROM is also often included on chip, as well as a typically small amount of RAM...
chips. These kits are available from various distributors for less than USD$20. Each board includes an on-board for programming and debugging via a MiniUSB connector. The power for each board is provided by a choice of the 5V via the USB cable, or external 3.3V
Volt
The volt is the SI derived unit for electric potential, electric potential difference, and electromotive force. The volt is named in honor of the Italian physicist Alessandro Volta , who invented the voltaic pile, possibly the first chemical battery.- Definition :A single volt is defined as the...
or 5V power supply. All DISCOVERY boards also include a voltage regulator, reset button
Reset button
In electronics and technology, a reset button is a button that can reset a device. On video game consoles, the reset button restarts the game, losing the player's unsaved progress. On personal computersOn IBM mainframes reset neither clears memory nor initiates an IPL., the reset button clears the...
, user button, multiple LEDs
Light-emitting diode
A light-emitting diode is a semiconductor light source. LEDs are used as indicator lamps in many devices and are increasingly used for other lighting...
, SWD header on top of each board, and rows of header pins
Electrical connector
An electrical connector is an electro-mechanical device for joining electrical circuits as an interface using a mechanical assembly. The connection may be temporary, as for portable equipment, require a tool for assembly and removal, or serve as a permanent electrical joint between two wires or...
on the bottom.
- STM32F4DISCOVERY:
- An evaluation board for STM32 F4 series.
- It contains a STM32F407VGT6 microcontroller at 168 MHz with 1 MB Flash and 192 KiB RAM in LQFPLQFPA Low-profile Quad Flat Package is a surface mount integrated circuit package format with component leads extending from each of the four sides. Pins are numbered counter-clockwise from the index dot. Spacing between pins can vary; common spacings are 0.4, 0.5, 0.65 and 0.80 mm intervals....
100 package. - This board also includes ST-LINK/V2 debugger via USB, 3-axis accelerometerAccelerometerAn accelerometer is a device that measures proper acceleration, also called the four-acceleration. This is not necessarily the same as the coordinate acceleration , but is rather the type of acceleration associated with the phenomenon of weight experienced by a test mass that resides in the frame...
, microphone, audio DACDigital-to-analog converterIn electronics, a digital-to-analog converter is a device that converts a digital code to an analog signal . An analog-to-digital converter performs the reverse operation...
via audio mini jack, and Full-Speed USB OTGUSB On-The-GoUSB On-The-Go, often abbreviated USB OTG, is a specification that allows USB devices such as digital audio players or mobile phones to act as a host allowing a USB Flash Drive, mouse, or keyboard to be attached.- Architecture :...
with second MicroUSB connector.
- STM32VLDISCOVERY:
- An evaluation board for STM32 F1 series.
- It contains a STM32F100RBT6 microcontroller at 24 MHz with 128 KiB Flash and 8 KiB RAM in LQFP64 package.
- This board also includes ST-LINK debugger via USB.
- STM32L-DISCOVERY:
- An evaluation board for STM32 L1 series.
- It contains a STM32L152RBT6 microcontroller at 32 MHz with 128 KiB Flash and 16 KiB RAM in LQFP64 package.
- This board also includes ST-LINK/V2 debugger via USB, 24-segment LCD and touch sensorsTouch switchA touch switch is a type of switch that only has to be touched by an object to operate. It is used in many lamps and wall switches that have a metal exterior as well as on public computer terminals...
.
Evaluation kits
The following evalulation kits are sold by STMicroelectronics.- STM32W-RFCKIT:
- An evaluation board for STM32W series.
- It contains two boards, each with a STM32W108 microcontroller in VFQFPN40 and VFQFPN48 packages.
- The price is approximately USD$40.
Partner kits
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.
- It contains a STM32F103RBT6 microcontroller at 72 MHz with 128 KiB Flash and 20 KiB RAM in LQFP64 package.
- This board also includes in-circuit debugger via USB, 3V battery, LEDs, edge card connector.
- The price is approximately USD$65.
Development tools
Free utilities:- stm32flash, an open sourceOpen sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
program for WindowsMicrosoft WindowsMicrosoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
and LinuxLinuxLinux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
to perform in-system programming of the flash in the STM32 microcontrollers using the USART peripheral via the ST bootloader. The USART is typically connected to RS-232RS-232In telecommunications, RS-232 is the traditional name for a series of standards for serial binary single-ended data and control signals connecting between a DTE and a DCE . It is commonly used in computer serial ports...
or a USB-to-UART adapter IC, thus is a universal method to program the STM32.
- STM32 ST-LINK Utility, by STMicroelectronics, a freeware package for Windows to perform in-system programming of the STM32 microcontrollers in development environments using any ST-LINK type of device (JTAG or SWD protocols).
- 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. Java (JRE SE 6) must be installed prior to running STM-STUDIO.
- MicroXplorer, by STMicroelectronics, a freeware package for Windows to help allocate and configure STM32 pins. Version 1.1 supports STM32F105, STM32F107, STM32F205, STM32F207 lines. Java (JRE SE 6) must be installed prior to running MicroXplorer.
Free ST software libraries:
- Standard peripheral library.
- USB device library.
- MotorElectric motorAn electric motor converts electrical energy into mechanical energy.Most electric motors operate through the interaction of magnetic fields and current-carrying conductors to generate force...
control library. - EncryptionEncryptionIn cryptography, encryption is the process of transforming information using an algorithm to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key. The result of the process is encrypted information...
library. - DSPDigital signal processingDigital signal processing is concerned with the representation of discrete time signals by a sequence of numbers or symbols and the processing of these signals. Digital signal processing and analog signal processing are subfields of signal processing...
library. - MP3MP3MPEG-1 or MPEG-2 Audio Layer III, more commonly referred to as MP3, is a patented digital audio encoding format using a form of lossy data compression...
/ WMAWMAWMA may refer to:- Organizations :*Western Manufactured Housing Communities Association, a nonprofit trade association for owners of manufactured home communities in California*Western Marble Arch, a synagogue in central London...
/ SpeexSpeexSpeex is a patent-free audio compression format designed for speech and also a free software speech codec that may be used on VoIP applications and podcasts. It is based on the CELP speech coding algorithm. Speex claims to be free of any patent restrictions and is licensed under the revised BSD...
codecCodecA codec is a device or computer program capable of encoding or decoding a digital data stream or signal. The word codec is a portmanteau of "compressor-decompressor" or, more commonly, "coder-decoder"...
s and audio engine. - Self-test routines.
Real-Time Operating Systems (RTOS
Real-time operating system
A real-time operating system is an operating system intended to serve real-time application requests.A key characteristic of a RTOS is the level of its consistency concerning the amount of time it takes to accept and complete an application's task; the variability is jitter...
)
- BeRTOSBeRTOSBeRTOS is a real-time operating system designed for embedded systems.It is distributed under a modified GPL license with a special exception that grants proprietary applications the right to keep their source code closed while maintaining the BeRTOS code itself open.It has a very modular design,...
- ChibiOS/RTChibiOS/RTChibiOS/RT is a compact and fast real-time operating system supporting multiple architectures and released under the GPL3 license.- Metrics :...
- FreeRTOSFreeRTOSFreeRTOS is a real-time operating system for embedded devices, being ported to several microcontrollers. It is distributed under the GPL with an optional exception...
, OpenRTOS, SafeRTOS - RT-ThreadRT-ThreadRT-Thread is an open source real-time operating system for embedded devices. It is distributed under the GPLv2 licence. RT-Thread is developed by the RT-Thread Studio based in China, after five years' fully concentrated development...
- ThreadXThreadXThreadX, developed and marketed by Express Logic, Inc. of San Diego, California, USA, is a real-time operating system . Similar RTOSes are available from other vendors such as VxWorks, Nucleus RTOS, OSE, QNX, LynxOS, etc...
- µC/OS-IIMicroC/OS-IIMicroC/OS-II , is a low-cost priority-based pre-emptive real-time multitasking operating system kernel for microprocessors, written mainly in the C programming language...
, µC/OS-IIIMicroC/OS-IIMicroC/OS-II , is a low-cost priority-based pre-emptive real-time multitasking operating system kernel for microprocessors, written mainly in the C programming language... - µTaskerUTaskerµTasker is an embedded operating system specifically targeting smaller single-chip Internet-enabled embedded processors...
- Unison RTOSUnison Operating SystemThe Unison Operating System is a real-time operating system optimized for system-on-a-chip , multi-core and digital signal processor systems. It is open source. It offers Linux compatibility while being much smaller than Linux...
Development toolchains:
- TASKING VX-Toolset by Altium.
- TrueSTUDIO by Atollic.
- Embedded Workbench for ARM by IAR.
- MDK-ARMTM by Keil.
- CrossWorks for ARM by Rowley Associates.
- Sourcery CodeBench by Mentor Graphics.
- GNU GCC toolchain via YAGARTO.
Debugging tools (JTAG / SWD):
- ST-LINK and ST-LINK/V2 by STMicroelectronics.
- STX-RLINK and STX-PRO/RAIS by Raisonance.
- J-Link and J-Trace by Segger.
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 (STMicroelectronicsSTMicroelectronics
STMicroelectronics is an Italian-French electronics and semiconductor manufacturer headquartered in Geneva, Switzerland.While STMicroelectronics corporate headquarters and the headquarters for EMEA region are based in Geneva, the holding company, STMicroelectronics N.V. is registered in Amsterdam,...
) and documents from CPU core vendor (ARM Holdings
ARM Holdings
ARM Holdings plc is a British multinational semiconductor and software company headquartered in Cambridge. Its largest business is in processors, although it also designs, licenses and sells software development tools under the RealView and KEIL brands, systems and platforms, system-on-a-chip...
).
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
- Embedded systemEmbedded systemAn embedded system is a computer system designed for specific control functions within a larger system. often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal...
, Single-board microcontrollerSingle-board microcontrollerA single-board microcontroller is a microcontroller built onto a single printed circuit board. This board provides all of the circuitry necessary for a useful control task: microprocessor, I/O circuits, clock generator, RAM, stored program memory and any support ICs necessary... - MicrocontrollerMicrocontrollerA microcontroller is a small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals. Program memory in the form of NOR flash or OTP ROM is also often included on chip, as well as a typically small amount of RAM...
, List of common microcontrollers - ARM architectureARM architectureARM is a 32-bit reduced instruction set computer instruction set architecture developed by ARM Holdings. It was named the Advanced RISC Machine, and before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in numbers produced...
, List of ARM microprocessor cores - InterruptInterruptIn computing, an interrupt is an asynchronous signal indicating the need for attention or a synchronous event in software indicating the need for a change in execution....
, Interrupt handlerInterrupt handlerAn interrupt handler, also known as an interrupt service routine , is a callback subroutine in microcontroller firmware, operating system or device driver whose execution is triggered by the reception of an interrupt...
, List of real-time operating systems - Surface-mount technologySurface-mount technologySurface mount technology is a method for constructing electronic circuits in which the components are mounted directly onto the surface of printed circuit boards . An electronic device so made is called a surface mount device...
, Printed circuit boardPrinted circuit boardA printed circuit board, or PCB, is used to mechanically support and electrically connect electronic components using conductive pathways, tracks or signal traces etched from copper sheets laminated onto a non-conductive substrate. It is also referred to as printed wiring board or etched wiring... - JTAG, SWD
Further reading
- The Definitive Guide to the ARM Cortex-M3; 2nd Edition; Joseph Yiu; Newnes; 479 pages; 2009; ISBN 978-1856179638. (Online Sample)
- The Definitive Guide to the ARM Cortex-M0; 2nd Edition; Joseph Yiu; Newnes; 552 pages; 2011; ISBN 978-0123854773. (Online Sample)
- µ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-0982337509.
External links
Official WebsiteOfficial Documentation
STM32 Series | STM32 Website | STM32 Slides | STM32 Reference | ARM Website | ARM Core | ARM Architecture |
---|---|---|---|---|---|---|
|
Website | Slides | |
Cortex M4 | Errata |
|
|
Website | Slides | |
Cortex M3 | Errata |
|
|
Website | Slides | F101-107 |
Cortex M3 | Errata |
|
|
|
|
|
Cortex M0 | |
|
|
Website | Slides | |
Cortex M3 | Errata |
|
|
Website | |
datasheets |
Cortex M3 | Errata |
|
Other