#STM32F0-Discovery Application TemplateThis package is for use when compiling programs for STM32F05xx ARM microcontrollers using arm-none-eabi-gcc (I'm using the Code Sourcery G++:Lite Edition toolchain). The Makefile in the main directory will call the Make file in the Libraries directory, thereby automatically building the STM peripheral library. However, running 'make clean' will not affect the peripherals library (the same command can be run from the Libraries directory to do this).
This template will serve as a quick-start for those who do not wish to use an IDE, but rather develop in a text editor of choice and build from the command line. It is based on an example template for the F4 Discovery board put together by Jeremy Herbert.
##Subfolders:
##Loading the image on the board
If you have OpenOCD installed 'make program' can be used to flash the .bin file to the board. OpenOCD must be installed with stlink enabled. Clone the git repository and use these commands to compile/install it:
If there is an error finding the .cfg file, please double-check the OPENOCD_BOARD_DIR constant at the top of the Makefile (in this template directory, not in OpenOCD).
###UDEV Rule for the Discovery Board
If you are not able to communicate with the STM32F0-Discovery board without root privileges you should follow the step from the stlink repo readme file for adding a udev rule for this hardware.
##Compiling your own toolchainIt might be best to use a precompiled toolchain liked CodeSourcery G++: Lite Edition. Udp dst port 0. But if you would prefer to compile your own, give this guide a try. Just google for the source code to make sure you're using the most recent versions. GCC now comes with the core and g++ code all in one archive.
###Possible compiling errors:
Is there a good description of the STM432f4xx libraries along the lines of the really good one available for the stm32f2xx library, or is the 32f4xx entirely self documented through comments and examples?
It's great to have this available all in one doc, as opposed to wading through the library tree. It looks like much of what applies to the framework is already in the f2xx description, but I just wanted to be sure, despite my fruitless searches.
Scott SeidmanScott Seidman
3 Answers
Yes, here are the most helpful sources (imo) other than the ref manual, and source. 'Tis all about formatting:
Note the use of DOXYGEN to generate some sources
bunkerdivebunkerdive
1,44511 gold badge2020 silver badges2323 bronze badges
The source comments are in Doxygen markup. Doxygen is an open source documentation generator and source code analyser, you can use it to generate the documentation yourself in various formats such as HTML, LaTex and PDF. The library itself includes this documentation as a CHM (compiled HTML help file).
albert
3,31733 gold badges1111 silver badges2525 bronze badges
CliffordClifford
62.7k99 gold badges6666 silver badges129129 bronze badges
The best descriptions of the library functions are found in the source files themselves. Other than that, you can turn to the reference manual. It'll give you a lower, register-level understanding of how to configure your microcontroller.
Fiddling Bits
Stm32f0 Standard Peripheral Library Documentation FormFiddling Bits
7,16422 gold badges1919 silver badges3939 bronze badges
Not the answer you're looking for? Browse other questions tagged cembeddedarmstm32 or ask your own question.
STM32F103VGT6 die
STM32F100C4T6B die
STM32 is a family of 32-bit microcontrollerintegrated circuits by STMicroelectronics. The STM32 chips are grouped into related series that are based around the same 32-bitARM processor core, such as the Cortex-M7F, Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM, flash memory, debugging interface, and various peripherals.[1]
Overview[edit]
Leaflabs Maple. Arduino-style board with STM32F103RBT6 microcontroller.
The STM32 is a family of microcontrollerICs based on the 32-bitRISC ARM Cortex-M7F, 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.
History[edit]
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[edit]
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-M7F, 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[edit]
The STM32 H7-series is a group of STM32 microcontrollers based on the ARM Cortex-M7F core.
STM32 F7[edit]
The STM32 F7-series is a group of STM32 microcontrollers based on the ARM Cortex-M7F core. Many of the F7 series are pin-to-pin compatible with the STM32 F4-series.
Core:
STM32 F4[edit]
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, 64 KB CCM static RAM, full duplex I²S, improved real-time clock, and faster ADCs. The summary for this series is:[18][25][26][41][42]
STM32 F3[edit]
The STM32 F3-series is the second group of STM32 microcontrollers based on the ARM Cortex-M4F core. The F3 is almost pin-to-pin compatible with the STM32 F1-series. The summary for this series is:[21][22][43]
The distinguishing feature for this series is presence of four fast, 12-bit, simultaneous sampling ADCs (multiplexer to over 30 channels), and four matched, 8 MHz bandwidth op-amps with all pins exposed and additionally internal PGA (Programmable Gain Array) network. The exposed pads allow for a range of analog 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 op-amps 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 analog 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 analog 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 analog multiplexer, allowing for a total of eight analog channels to be pre-processed using the op-amp; all the op-amp outputs can be internally connected to ADCs.
STM32 F2[edit]
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][44][45]
STM32 F1[edit]
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:[46][47][10]
STM32 F0[edit]
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][48]
STM32 L5[edit]
Stm32f0 Standard Peripheral Library Documentation Download
The STM32 L5-series is an evolution of STM32L-series of ultra-low power microcontrollers:
STM32 L4[edit]
The STM32 L4-series is an evolution of STM32L1-series of ultra-low power microcontrollers. An example of L4 MCU is STM32L432KC in UFQFPN32 package, that has:
STM32 L1[edit]
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][51][52]
STM32 L0[edit]
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][53]
Download page for Star Wars - Episode III - Revenge of the Sith (USA). This run-of-the-mill action game, released shortly before Revenge of the Sith hit theaters, putting you in the shoes of Anakin Skywalker as he battles with Count Dooku, General Grievous, and most importantly, himself. Lego Star Wars 3 PC Game is a Lego-themed action-adventure video game based on The Clone Wars animated series, developed by Traveller’s Tales and published by LucasArts, released in March 2011 for the PlayStation 3, PlayStation Portable, Xbox 360, Wii, Nintendo DS, Microsoft Windows, and Nintendo 3DS games consoles. Gameplay in Lego Star Wars 3 PC Game is much like other Lego video games. Nov 15, 2016 Lego Star Wars 3: The Clone Wars perfectly combines impressive stories and some of your favorite characters from this famous animated television series Star Wars: The Clone Wars but this time, it comes with LEGO’s imaginative gameplay and exceptional humor.With its 16 various star systems, 32 missions based on the original story, 48 bonus. Based on the third episode of the Star Wars trilogy, Star Wars Episode III: Revenge of the Sith promises an authentic Jedi experience. The third-person action game follows Anakin Skywalker and Obi-Wan Kenobi as they fight enemies, learn new skills, and pull off combo moves.
STM32 G0[edit]
The STM32 G0-series is a lower power alternative to the L0 series[49]
STM32 W[edit]
The STM32 W-series of ARM chips primary feature is targeting RF communication applications. The summary for this series is:[56]
STM32 J[edit]
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][57]
Development boards[edit]Arduino boards[edit]
The following are Arduino header-compatible boards with STM32 microcontrollers. The Nucleo boards (see next section) also have Arduino headers.
Nucleo boards[edit]
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.[58]
Discovery boards[edit]
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.[64]
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.[65]
An open-source project was created to allow Linux to communicate with the ST-LINK debugger.[66]
ChibiOS/RT, a free RTOS, has been ported to run on some of the Discovery boards.[67][68][69]
Evaluation boards[edit]
The following evalulation kits are sold by STMicroelectronics.[70]
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.[71] STM32 microcontrollers that embed Java have a Part Number that ends with J like STM32F205VGT6J.
Partner boards[edit]
The following evalulation kits are sold by partners of STMicroelectronics and listed on the ST website.
Development tools[edit]Cortex-M[edit]STM32[edit]
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).
Documentation[edit]
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).
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[edit]
STM32F051R8
STM32xxwwyz
See also[edit]
References[edit]
Further reading[edit]
External links[edit]
Retrieved from 'https://en.wikipedia.org/w/index.php?title=STM32&oldid=904099436'
Comments are closed.
|
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |